PCI.sys claims that region because the BIOS told it to do so. Specifically,
it told the BIOS that the ISA bridge hangs off of a PCI bus. So PCI claims
the region and makes those resources available to its children.
Just because PCI occupies it from a “root bus” point of view doesn’t mean
that it’s not available for an ISA device.
With that said, it may or may not be available for an ISA device. That
would depend on whether the BIOS says that those regions are in use by
something else.
It will all become pretty clear if you type !arbiter in the debugger. That
will list the ranges claimed on each bus. You can infer that unclaimed
ranges are free.
- Jake Oshins
(former PnP guy)
Windows Kernel Team
“Tim Roberts” wrote in message news:xxxxx@ntdev…
xxxxx@ansto.gov.au wrote:
The problem I have is not a driver development problem, but after reading
some of the threads I think this forum would be one of the better places
for me to seek advice.
I am having trouble getting an ISA card working under Windows XP. This
card has to be able to use the D0000-DFFFF region of the upper memory
area; there are no jumpers etc. that allow this region to be changed.
Looking at the memory resource usage in Device Manager I can see that
pci.sys is using the C0000-DFFFF memory region. I suspect this conflict is
the reason I cannot access the ISA card (which works fine in an another
computer running NT4).
Is there any way I can configure pci.sys to not use that region? Device
Manager will not let me change the PCI bus resources.
Pci.sys will only reserve that region if the BIOS told it there was some
device in that region. If you have another piece of motherboard
hardware that occupies C0000-DFFFF, such as a device with a 128kB ROM,
then no amount of software machinations are going to allow your board to
work. In that case, you have a genuine HARDWARE conflict.
(I note with some amusement the use of the phrase “upper memory area” to
describe linear addresses at 000C0000…)
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.