Re: linux 2.1.5[45] and PCI bus

Gerard Roudier (groudier@club-internet.fr)
Sat, 13 Sep 1997 09:34:04 +0200 (MET DST)


On Thu, 11 Sep 1997, Thorsten Kukuk wrote:

> since linux 2.1.54, the kernel will not found the PCI bus anymore.
> I have enabled:
> CONFIG_PCI=y
> CONFIG_PCI_BIOS=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_OPTIMIZE=y
>
> The boot message is:
> PCI: No PCI bus found.
>
> I use binutils 2.8.1.0.15, gcc 2.7.2.3, glibc 2.0.5.
> The hardware is:
> Tyan Tomcat III (Bios 4.01) with 2 133Mhz Pentium prozessors,
> and NCR 875 SCSI Controller.
>
> Any Ideas ?

For recent hardwares CONFIG_PCI_OPTIMIZE may break the host bridge
settings, since it does not seem to probe accurately the bridge type.
In fact the CONFIG_PCI_OPTIMIZE option is a very old hack that
have'nt been maintained and should have been removed from the kernel
since years.

Assuming that the kernel you booted corresponds to the config above, the
BIOS32 code did'nt find the BIOS32 signature (It printed a message when
it find the signature).
When both CONFIG_PCI_BIOS and CONFIG_PCI_DIRECT are set, the kernel tries
to directly access the PCI config, using configuration mechanisms only if
the BIOS32 entry is in high memory. If this had been attempted, you should
also have get some additionnal kernel messages.

You should first try the following option:
CONFIG_PCI=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=N

If the kernel says it found the BIOS32 signature but it cannot use the
BIOS 32 (BIOS32 in high memory: cannot use), then you can try to set
CONFIG_PCI_DIRECT to Y and let other options unchanged.

--
Gerard.