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