PCI-PCI Bridge Memory Resource Conflict in Win2K

PCI-PCI Bridge Memory Resource Conflict in Win2K

Post by Emyr » Wed, 30 Jun 2004 07:00:52


Not sure this is a driver related problem but hopefully someone can help me
all the same.

We have a Supermicro P4DCE+ motherboard with a number of 3rd party cards
installed some of which have their own PCI-PCI bridges in addition to those
already on the motherboard. Hence a lot of PCI devices and PCI-PCI bridges.

The problem I have is that one of the BARs on my card, in one of the 64bit
slots, is requesting 256MB pre-fetchable memory and the OS tries to allocate
it memory range 0xB0000000-BFFFFFFF which should be ok. This is the only
prefetchable BAR behind this bridge (P64H) and therfore I would expect the
bridge to allocate a 256MB mapping BAR for this address range. However,
looking in device manager the PCI Bridge device in question maps a
prefetchable mapping BAR to the addr range 0xB8000000-C7FFFFFF which
although is 256MB it clearly has the wrong address alignment and therefore I
have a resource conflict and my driver doesn't load.

Something else worth noting is that this PCI-Bridge BAR is the lowest memory
resource down from the top of memory which I presume means it's the last one
to get enumerated.

I have never seen this problem before and have tried clearing the ESCD data
in the BIOS setup to force the BIOS to re-enumerate PnP devices with no
success.

It's running Win2K SP4 with ACPI HAL.

Can anybody suggest anything?
 
 
 

PCI-PCI Bridge Memory Resource Conflict in Win2K

Post by Eliyas Yak » Wed, 30 Jun 2004 10:43:32

Please check out the BIOS config of the bridge. Set an initial breakpoint
and see what the bridge is configured to using !pci command. Our PCI bus
driver developer guess is that the B8-C8 allocation is what the BIOS gave
it, and the system just left it alone.


--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.yqcomputer.com/

 
 
 

PCI-PCI Bridge Memory Resource Conflict in Win2K

Post by Maxim S. S » Thu, 01 Jul 2004 00:39:41


In w2k, the bridges are set up once on boot and are never reconfigured.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
XXXX@XXXXX.COM
http://www.yqcomputer.com/
 
 
 

PCI-PCI Bridge Memory Resource Conflict in Win2K

Post by Emyr » Wed, 07 Jul 2004 17:26:29

Thanks for your replies. Your both right in that the BIOS appears to be
doing something wrong on strtup and I'm talking to the BIOS engineers to try
and resolve this problem. Additionally, w2k doesn't re-configure after
startup to the problem created by the BIOS remains.

Is there anyway I can for a re-config within win2k?

I know that with Longhorn it's planned to do dynamic re-balancing of PCI on
the fly. Does XP do anything different like this or will it behave the same
as w2k?

Regards,
Emyr



reconfigured.


me
those
bridges.
64bit
allocate
only
the
therefore I
memory
one
data
 
 
 

PCI-PCI Bridge Memory Resource Conflict in Win2K

Post by Eliyas Yak » Fri, 09 Jul 2004 01:08:41

Our engineer in charge of PCI bus says:

There's no way to re-config inside win2k without zero'ing out the windows of
the bridge to make the bridge look like it wasn't BIOS configured. Then
we'll do a normal configuration and we will chose a range that has the
proper alignment.

XP behaves mostly the same in this area. In the case where the BIOS doesn't
configure the bridge XP will try more memory bridge size options to try to
find one that works. This is likely not a relevant difference for this
problem.

--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.yqcomputer.com/