Article 12818 of comp.os.ms-windows.programmer.nt.kernel-mode: In article <1997Nov13.073632.8299@cmkrnl>, jeh@cmkrnl.com (Jamie Hanrahan) wrote: > > Ask NT to create more SPTEs. Go to the registry and put an > appropriate number (= number of pages per board * max number of > boards) into \Registry\Machine\CurrentControlSet\Control\Session > Manager \Mememory Management\SystemPages. Um, if you find a non-zero > number there already, be a good citizen and add your number to what > you found. Thank you Jamie for your advice, I'll give it a try as soon as I resolve a new problem which I just noticed. My PCI device has two memory regions: 1st is smal (256 bytes) and the 2nd is large (16 Mb). I map both memory regions to the Kernel Space absolutely the same way: /* The following lines are called when a user starts working with a PCI device */ HalGetBasData(...); HalAssignSlotResources(...); // Get the Device's Resources IoCreateDevice(...); // Create DeviceObject for the hardware we found for (all Device's resources) { HalTranslateBusAddress(PhysAddr, &TransAddr, &IoSpace) if ( !IoSpace) VirtualAddress = MmMapIoSpace(TransAddr, Byes, FALSE); else VirtualAddress = TransAddr.LowPart; } The problem is: 1st memory region (smaller one) can be accessed via "VirtualAddress" value, while the 2nd memory region (16 Mb) cannot be accessed. This address shows me all 0xFFFFFFFF(s) in all locations when I look at it in SoftICE, and I cannot write into those locations: values do not change whatever I write. What could be the problem? I desperately need any idea how to apprach this problem. Note: It's not a hardware, because I successfully tested this PCI card with my Windows 95 driver. Thank you for your time. Eugene. -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet