#bare-metal #x86-64 #dma #osdev #no-std

no-std dma_x86_64

Low-level DMA driver for x86_64 systems in no_std environments

3 releases

0.1.2 Aug 17, 2025
0.1.1 Aug 4, 2025
0.1.0 Aug 3, 2025

#2246 in Embedded development

Download history 7/week @ 2025-10-01

120 downloads per month

MIT/Apache

13KB
227 lines

dma_x86

dma_x86 #![no_std] DMA driver for x86/x86_64, used to bare-metal and OS dev or other drivers. It can configure DMA controller and use for transfer data from the periphery bypassing the processor

example

Example of work DMA with this crate example/floppy.

let floppy_disk = DmaMasterChannel::new(
        &dma_x86_64::PossibleMasterChannels::FloppyDisk
    );
let enternet = DmaSlaveChannel::new(
        &dma_x86_64::PossibleSlaveChannels::Enternet
    );

floppy.mask_channel();
enternet.reset_flip_flop();

No runtime deps