[Compuware Corporation] [Compuware NuMega home page] [NuMega Lab] [teal] [DriverStudio] [Image][Image] · Home [Driver Products] Driver Technical Tips · DriverStudio Notes on Memory Mapped Devices · DriverBundle · Previews Memory mapped devices are those that decode regions · Compatibility of the memory address space on a peripheral bus. A [Downloads] · classic example is a VGA, which maps its display RAM to physical address 0xA0000. Wizards · Utilities The ISA bus is a poor choice for memory mapped · NT source devices, because it is limited to 24 address bits. On examples most PCs these days, the entire space above 1 MB ( up · VxD source to 16 MB) is occupied by system RAM, leaving no room examples for devices. Some BIOSes have a switch that leaves a · WDM source "hole" at 15 MB, thereby enabling an ISA device an examples available window. However, this is prone to a host of [Resources] · configuration problems. Technical papers · Useful links In theory, Windows NT would accommodate a motherboard · Technical tips that could map the ISA bus to a higher address in the [Support] · physical address space of the CPU. NT requires device drivers to translate peripheral bus addresses to Support physical CPU space by calling HalTranslateBusAddress. · Knowledge base Once the CPU space physical address is known, the · Problem driver can generate a virtual address with submission MmMapIoSpace. However, in reality, PCI motherboards · Product map the ISA bus at zero, and pass bus transactions to registration it when the local bus or PCI bus times out. · Release notes [Shop NuMega] · PCI bus is better suited for memory mapped devices. Buy it! In fact, a common problem on NT is that a PCI device · Price list requires so large a physical address window that NT · How to buy cannot allocate sufficient page table entries (PTEs) · Sales offices to map the entire space. It is not unusual for a device driver to call MmMapIoSpace requesting the mapping of hundreds of megabytes. For each megabyte [Y2K Compliance] of device space to be mapped, the system requires 1KB of system memory for page table entries. For large regions this can be significant, and often [More information] MmMapIoSpace fails because of this. To overcome the problem, the system administrator must adjust a registry setting (HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages) so that NT reserves sufficient memory for mapping devices. Back to technical tip start page. DriverCentral · DriverStudio · Free downloads · Resources · Support and Services · Shop NuMega Compuware NuMega · Tel: +1 603 578-8400 · Updated: 9 August 1999 · Problems? Contact our webmaster.