XP pci.sys configuration

Hi,

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. I tried adding an EMMExlcude line to system.ini (which was a long shot). I also tried disabling just about everything that can be disabled in the BIOS.

Thanks.

>resources. I tried adding an EMMExlcude line to system.ini (which was a long shot).

:-)))))))


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Good luck with that.

You can even FIND a mainboard that has an ISA slot? Is this an embedded thing, cuz that’s the only place I’ve seen ISA used in that last, oh, million years or so.

Peter
OSR

>

Good luck with that.

You can even FIND a mainboard that has an ISA slot? Is this an
embedded
thing, cuz that’s the only place I’ve seen ISA used in that last, oh,
million
years or so.

I’m not the OP, but we have clients with a collection of old spare
boards with ISA slots to run industrial hardware that works fine and
would otherwise cost tens of thousands to hundreds of thousands of
dollars to replace. Just because you haven’t seen it doesn’t mean it
isn’t out there.

There is also this stuff
http://www.arstech.com/item-USB-2-0-to-ISA-card-ROHS-usb2isar.html which
looks pretty cool from the description but I’m not aware of anyone using
it in real world situations… a version of dosbox or xen or something
that allowed the VM to think it was talking to a real ISA card via one
of these could have its place…

James

I just looked at a random win7 system and indeed C0000-DFFFF is
reserved by pci, but for what? That is not a reserved legacy PC
platform region.

I think you are out of luck with this particular ISA card, unless
there is a (more or less undocumented) HKLM\CCS\System\Service\Pci
registry flag that would allow you to get access to this region.

Oh wait - I just looked at a win7 vm that emulates a cufty old chipset
and C0000-DFFFF is free and clear. This region is reserved by the
motherboard chipset/pci bus for its own purposes. So - go find a
creaky old chipset pc to run your creaky old ISA card and everything
should be fine.

Specifically - 440fx pci chipset does not use C0000-DFFFF.

Mark Roddy

On Sun, Apr 3, 2011 at 11:40 PM, wrote:
> C0000-DFFFF

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.

Thanks for the responses, and I’m glad I brought some ammusement to your day! :wink: It is indeed an embedded industrial PC setup. Passive backplanes with ISA slots for industrial computers are still easy to buy.

James is correct that replacing all the ISA cards in this legacy system would be expensive. There is a PCI version of the card in question that we can buy for around $5000. This is the direction we are heading but I thought I’d have a go at ugrading from NT4 (which is what it is running now) to XP (and a more modern single board computer) to keep our operators happy while we modified the software to use new cards.

I think Tim and Mark are on the right path and we have asked the single board computer manufacturer about this. Perhaps they can suggest another SBC model that allows us to sidestep this problem.

Thanks again for the input.

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.