Re: [PATCH] x86/pci: derive pcibios_last_bus from ACPI MCFG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center
--
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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux