how exactly does it use DMA - how does it allocate the memory it later
on DMAs into, and how does it typically program that DMA target - is
there any control over that in the NDIS protocol - or will NDIS drivers
just write random addresses to the mmio space and then the hardware does
DMA to/from those addresses? [without the NDIS framework having any
knowledge about the encoding of those bits?]
on modern hardware it might even be possible to jail an ndiswrapper
driver to its own pages via the IOMMU.
Ingo
--