[CentOS] Re: Fighting some install issues with a new box -- pci=bios no longer the default?

Tue Jul 26 22:49:42 UTC 2005
Bryan J. Smith <b.j.smith at ieee.org>

On Tue, 2005-07-26 at 15:30 -0700, Sean O'Connell wrote:
> 2) I added pci=bios to the kernel line in grub.conf and now I can see
> all of the PCI buses and the 3Ware card (one note the 3Ware card was not
> in the 133MHz PCI-X bus on bridge A -- it does work in that slot just
> fine -- I moved it back to the original location after a quick test).
>  ... 
> 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
> 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
> 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
> 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
> 00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
> 00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
> 00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
> 00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

There's the AMD8131 dual PCI-X HyperTransport Tunnel.  The kernel was
not seeing it at all before, which is why your PCI-X channels were
useless.

Why the kernel is not seeing it is beyond me.  When you first posted, I
didn't think a kernel flag would help because you were saying the BIOS
didn't see it.  You later then said it was, so I should have agreed with
your prior assertion that a kernel flag might help.

Now here comes the biggie ... I typically use pci=nobios on a few
mainboards when necessary.  That's because pci=bios is (or was?) the
default.  So I didn't even think of it.  The Boot Prompt HOWTO seems to
collaborate this:  
  http://www.tldp.org/HOWTO/BootPrompt-HOWTO-4.html#ss4.2  

Now maybe I'm outta-date, since when did the default change to
pci=nobios?  Or maybe pci=bios now explicitly forces it to read the
_entire_ BIOS configuration information, including extra PCI busses?
This really disturbs me that the Linux kernel is not doing a good job of
reading the entire PCI configuration from the BIOS -- unless there is a
reason (stability?) for not doing so.

Of course, the nForce Pro 2200 + nForce Pro 2050 + AMD 8131 combination
is new.  Maybe the APIC settings aren't perfected.  But then again, I'm
still bothered that the kernel is supposed to read the BIOS by default,
and your issue was solved by pci=bios which is supposed to be the
default.

[ BTW, where did you find this suggestion? ]

> Also, as a further test, I reset the BIOS to their default settings and
> the machine works just fine. It looks a combination of updated BIOS and
> of course the kernel flags results in a functional machine.

I would venture to say it was just "pci=bios".

I would really like to know the "root cause" of this.  Especially since
there are literally a half-dozen PCI busses on that mainboard.

-- 
Bryan J. Smith                                     b.j.smith at ieee.org 
--------------------------------------------------------------------- 
It is mathematically impossible for someone who makes more than you
to be anything but richer than you.  Any tax rate that penalizes them
will also penalize you similarly (to those below you, and then below
them).  Linear algebra, let alone differential calculus or even ele-
mentary concepts of limits, is mutually exclusive with US journalism.
So forget even attempting to explain how tax cuts work.  ;->