Scatter/Gather Capability
- From: sawer <sawer@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 7 Jan 2009 20:23:15 -0800
Hello
"Each mapping register corresponds to one page of DMA logical space, and a
group of consecutively numbered registers represents a contiguous range of
logical addresses. To perform a DMA transfer, a driver first allocates enough
contiguous mapping registers to account for all the pages in the caller's
buffer. It then loads consecutive mapping registers with the physical
addresses of the caller's buffer pages. This has the effect of mapping the
physically noncontiguous user buffer into a contiguous area of logical space.
Finally, the driver loads the DMA controller with the starting address of the
buffer in logical space and starts the device. While the operation is in
progress, the DMA controller generates sequential, logical addresses that the
scatter/gather hardware maps to appropriate physical page references."
The Windows 2000 Device Driver Book, A Guide for Programmers
1-) IS that means if device hasn't got a Scatter/Gather Capability, map
registers aren't allocated? Map Registers can be used only Scatter/Gather
Capability devices?
2-) Also the book shows DMA controller's address register points buffer in
logical space. We know that in virtual memory management, page tables reside
in system memory and a translation algorthim is applied to find a physical
address.
Is there also a translation algortihm to find physical address from logical
address?
Thanks...
.
- Follow-Ups:
- Re: Scatter/Gather Capability
- From: Maxim S. Shatskih
- Re: Scatter/Gather Capability
- Prev by Date: How to query Win32_PhysicalMemory instances using WMI in the kernel. [Repost]
- Next by Date: WDF certification exam
- Previous by thread: How to query Win32_PhysicalMemory instances using WMI in the kernel. [Repost]
- Next by thread: Re: Scatter/Gather Capability
- Index(es):
Relevant Pages
|