By contrast, PCI DMA devices generally have more than enough address lines to access the full system physical address space in 32-bit processors. For example, most ISA DMA controllers, subordinate devices, and bus-master devices have insufficient address lines to access the full four-gigabyte system physical address space of a 32-bit processor (or the 64-gigabyte system physical address of an x86 processor running in 36-bit PAE mode). The device must first translate the address.Ī HAL must set up adapter objects that support DMA for a wide variety of DMA devices and I/O buses on different computers. Similarly, a device cannot use a logical address to directly access physical memory. The driver must first translate the virtual address to a physical address. For the device hardware, map registers perform the same function that the MDL (and page table) performs for the software (drivers): they translate addresses to physical memory.īecause these address spaces are separately addressed, a driver cannot use a pointer in virtual address space to address a location in physical memory, and vice versa. Each HAL uses map registers to translate a device or logical address to a physical address (a location in physical RAM). A device uses addresses in logical (device) address space. An MDL (memory descriptor list) provides a similar mapping for a buffer associated with driver DMA operations.ĭevices vary in their ability to access the system's full virtual address space. Each page table entry (PTE) maps one page of virtual memory to a page of physical memory, resulting in a paging operation when necessary. The CPU translates addresses in the virtual address space to addresses in the system's physical address space by using a page table. On a 32-bit processor, the virtual address space represents four gigabytes. On any Windows platform, a driver has access to the full virtual address space supported by the processor. Drivers that perform DMA use three different address spaces, as shown in the following figure.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |