Module chipset::dma

source ·
Expand description

Implements dual 8237 ISA DMA controllers.

Tested working with Floppy, but may require additional improvements to work properly with other legacy hardware (e.g: Sound Blaster)

Rather than having the DMA controller device be some big, complicated behemoth that asynchronously resolves DMA requests itself (i.e: how the DMA controller works in actual hardware), our virtual DMA controller takes a simpler approach.

This device is essentially just a big bundle-of-registers, which DMA capable devices can query via the specialized vmcore::isa_dma_channel::IsaDmaChannel trait in order to get the info they need to fulfil DMA requests themselves.

Structs§