[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Host Bridge BIOS configuration (or lack of!)



0x0604 is PCI-PCI bridge, not HostCPU bridge (0x0600), and they normally
should have header type 1. You are asking for trouble by being header
type 0 with that class code. You would also be asking for some trouble
with 0x0600 as many BIOS do not configure the BARs because some old Host
to CPU devices had garbage in there.

In golden win 95 and OSR 1.0, we first check for that class code, and if
it is 0x0604 we will then read CS 1A (subordinate bus) and make that the
max bus number if bigger than the pmode BIOS reported max bus number,
and after that header type 1 are ignored. Windows will scan bus up to
that max bus number. Windows 95 will allow configuration of any header
type 0 device, but since we do not know about bridges, manually setting
a configuration on a non-bus 0 device is russian roulette. If the device
is not enabled (all lowest 3 bits of command register are disable), we
will compute resources for the BAR and enable it. From what you are
describing, it sounds like BIOS ignored your device and yet you report
an enable bit set. Also win 95 does not allow 0x0600 (HostCPU) on
non-bus 0: a couple of chipset repeated themselves across all buses (not
decoding the type 1/ 0 cycle indicator) and so we fixed it generally,
whereas in OSR 2.0 and memphis, there are INF flags for these broken
chipsets (sounds to me like you have an 0x0600 class code).

In OSR 2.0, we again first check the class code. We sanity check that a
0x0604 has header type 1 and will reject the device otherwise. OSR 2.0
will configure bridges and devices behind bridges if they are not
already configured. However, OSR 2.0 does not handle badly configured
devices/bridges (a device behind a bridge which was not configured for a
big enough window for instance). It does allow rebalancing of bus number
however.

In memphis, we check for the header type first, and we don't do much
with the class code. We also handle much better badly configured bridges
by reconfiguring them if needed.

My recommendation is that you use class code 0x0680. I also encourage
people to send hardware to the PnP Lab as well as WHQL. You can send
hardware to:

Nick Dimmitt
Building 27S, #3080
1 Microsoft Way
Redmond, WA, 98052

Pierre-Yves Santerre
Win 9x PnP Dude

> -----Original Message-----
> From:	Paul Slade [SMTP:pauls@primary-image.com]
> Sent:	Wednesday, April 23, 1997 10:35 AM
> To:	Mailing List Recipients
> Subject:	Host Bridge BIOS configuration (or lack of!)
> 
> Help,
> 
> We are using a Galileo Technology 'Galileo 4' board. This consists of 
> an R4600 MIPS processor connected to the PCI bus by a Galilieo 
> GT-64010A Host Bridge. This appears as Class 0x060400 Host Bridge PCI 
> device.
> 
> The PCI configuration specifies a type 0 header, with 5 BASE 
> ADDRESSES defined of various sizes.
> 
> My problem is that most BIOS's that I have tried seem to ignore the 
> device at boot up and do not configure the BASE ADDRESS registers. On 
> BIOS's that print up which devices have been found, it is not listed.
> 
> When Windows 95 boots up it sees the card but since all the BASE 
> ADDRESS registers are at their default value of 0 it reports a device 
> conflict. Although I can overcome this by manually setting the 
> configuration to some free physical memory area, this kind of defeats 
> the idea of plug'n'play. Also, I can not manualy configure it under 
> Windows NT.
> 
> Does anyone know why the device gets ignored by the BIOS? Is there 
> some special significance that BIOS's assume for Host Bridges? Is 
> there any work-around?
> 
> Also, under Windows 95, the board is not detected at all if it is the 
> other side of a PCI to PCI bridge, though other devices do get 
> detected. Is this due to some problems that have been fixed in the 
> OSR2 release that I have heard about?
> 
> Thanks for any help offered,
> 
> -Paul
> 
> ------------------------------------------------
> Paul Slade,             PaulS@primary-image.com
> Consultant Engineer,
> Primary Image Ltd.
> Millbank House,
> 171-185 Ewell Road,
> Surbiton, Surrey, KT6 6AX, UK
> +44(0)181-339-9669      Fax:  +44(0)181-339-9091
> ------------------------------------------------
Kÿ