[Resending to linux-kernel and linux-pci because I fat-fingered
something and introduced HTML, so the lists bounced it.]
On Monday 12 October 2009 02:34:53 pm Ingo Molnar wrote:
For the patch in question, we don't even have a root cause for the bug
(or at least, I couldn't decipher it from the changelog). There's a
reference to _CRS being wrong, but we don't currently use _CRS for
x86 host bridges.
But in general, my objection is that even if BIOS provides perfectly
valid information about host bridge apertures, the the fact that Linux
ignores that information means we have to add this sort of vendor-
specific code every time we trip over something. And we're tripping
over things quite often.
Windows consumes this _CRS information, so while I grant there are
certainly BIOS bugs there, I think most of the bugs are actually in
Linux.
If we need to learn something useful about the HW that the generic
description isn't expressive enough to tell us, that's fine. But
that's not the case here -- all we need is the very simple description
of the bridge apertures. I object to the idea that "new machine X
comes out, it has a correct ACPI description of the host bridges,
let's go write some X-specific code so Linux can run on it."
I *like* the idea of "new machine X comes out, oops, the BIOS is
broken, let's write a quirk to work around the BIOS defect so Linux
can run on it." But I think this is actually less common than many
people think, simply because most machines are tested with Windows,
and that shakes out the most egregious BIOS bugs.
Bjorn
--