Em 23-02-2011 18:15, Jesse Barnes escreveu: > On Wed, 23 Feb 2011 14:00:53 -0700 > Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote: > >> There are good reasons why a BIOS might hide a PCI device. For >> example, if SMM code uses a PCI device, the BIOS must prevent the >> OS from moving it. One way would be to hide the device from PCI >> enumeration and then expose it via the ACPI namespace, where the >> _CRS/_PRS/_SRS methods allow the BIOS to control the configuration. >> >> I know there's some tension here -- things like EDAC want to use >> devices we "know" are there, while the BIOS might need to hide things >> to keep our mitts off them. I'm not sure there's a reliable way to >> tell when it's safe for us to go around the BIOS intent. >> >> Nobody wants to give up EDAC functionality, but in the long term, it >> might be better to say, "Well, your OEM doesn't want to support >> functionality X even though the hardware is there, so consider that >> when you're choosing your next system." Or maybe we taint the kernel >> when we circumvent the BIOS like this. At a minimum, I think we should >> log a note in dmesg. > > But maybe using MCFG's bus numbers *is* the canonical way of getting > the max bus... I don't know what Windows does here, but I can imagine > that it exposes all these devices to various drivers. Perhaps they're > hidden so that earlier versions of Windows won't "yellow bang" the > unknown devices, while newer versions use MCFG. > > Does anyone have an affected machine with Windows 7 or something so we > can verify? Unfortunately, I can't. The machines I might have access with those BIOS'es that have something to hide are unassisted remote machines, dozen thousand of kilometres away. AFAIK, there's no available non-linux images for install for them. The local Nehalem machine I have doesn't hide anything. Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html