1. This has been asked and answered several times in the past, but I am in
the mood to answer today.
2. Forget â€œSystem DMAâ€, it is a pathetic, slow, and greatly restricted form
of DMA currently only used by the floppy controller and programmers who are
not too bright. This DMA is limited to only a few MB of addressability.
3. Bus-Master DMA is what all PCI devices support and this also include
PCIe. Depending upon the chip or logic in your FPGA/ASIC can address the
full 64-bit address space of current CPUs and chipsets. Yes, I know most,
really all, do not really do a full 64-bits in either the CPU memory address
lines or in the chipset, but the expandability is present with Bus-Master
DMA. How you use your chipâ€™s DMA capabilities must be documented by the
ASIC/FPGA designers. If you bought the logic from another company, ask for
documentation on how to setup DMA. Read the book from OSR from NT4 days
that describes DMA and then use KMDF to use the newer OS interfaces for DMA.
If you are working with a floppy controller, my condolences.
> "Marvin(Fan) Zhang" <email@example.com> wrote in message
> Hi all,
> I have looked DMA topic on MSDN many times. However, I'm also confused
> about the difference
> between System DMA(subordinate DMA) and bus-master DMA.
> Could anyone help me to explain it?