RE: PCI bridge handling 2.4.0-test10 -> 2.4.2-pre3

From: Jeff Garzik (
Date: Wed Feb 14 2001 - 01:27:53 EST

On Tue, 13 Feb 2001, Zink, Dan wrote:
> Does it make sense to try and keep up with the latest and greatest in
> chipsets
> when there is a hardware independent way of doing things? You may be able
> to
> get information on current chipsets, but every time something changes, the
> kernel may be broken for a time. If we rely on the BIOS, the kernel can
> stay
> out of the chipset information race. I understand the reluctance to depend
> on BIOS in general but isn't it safe to say that systems using the
> ServerWorks
> chipsets in question are likely servers with a non-broken BIOS?
> I can tell you that if the BIOS doesn't report this stuff right on a
> ProLiant
> server, it would never make it out the door. It would break too many things
> to go unnoticed. From this standpoint, the kernel is less likely to break
> if
> it relies on the BIOS rather than assuming some particular chipset design
> that can easily change in the future. This is a fundamental reason for the
> BIOS's existence.

It's common knowledge that Linux is often better for hardware testing
than Microsoft's pitiful ACT software. Intel and other companies have
discovered hardware flaws that Linux exposes which all the Windows
(and ACT) testing does not. (see early P4's...) Similarly, most
BIOS out there work wonderfully with Windows but often have quirks
with Linux. An overall policy of BIOS independence minimizes if not
eliminates the chances of such quirks affecting Linux users.

Getting a vendor to fix a broken BIOS is like trying to get a reluctant
cow out of the barn: oftimes is just doesn't happen, especially if
it is a Linux-only problem. Toshiba laptops have had broken ACPI
tables for ages, but I have yet to see any BIOS updates regardless
of the number of reports sent to Toshiba.

Now, that said, in x86 land, we actually -do- allow the BIOS to
setup the PCI bus for us, and for the most part, we leave that setup
completely alone. grep for 'pcibios_assign_all_busses'... and note
it is defined to zero for x86, and 1 for alpha.

Finally, minimizing BIOS dependencies is also important for applications
like linuxbios -- an embedded firmware that initializes the CPU and
DRAM, and then passes control to a Linux kernel to do the rest.



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Feb 15 2001 - 21:00:23 EST