Re: [PATCH 6/6] x86/PCI: quirk Thunderbolt PCI-to-PCI bridges

From: Bjorn Helgaas
Date: Wed Jun 26 2013 - 17:00:30 EST


[+cc Alex]

On Wed, Jun 26, 2013 at 6:17 AM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> On Tue, Jun 25, 2013 at 02:15:56PM -0700, Jesse Barnes wrote:
>> On Tue, 25 Jun 2013 19:22:10 +0300
>> Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
>>
>> > + if (!(pci_probe & PCI_NOASSIGN_ROMS)) {
>> > + pr_info("Thunderbolt host router detected disabling ROMs\n");
>> > + pci_probe |= PCI_NOASSIGN_ROMS;
>> > + }
>>
>> I wonder if this should just be the default on x86? Or do we allocate
>> ROM space to address some other platform where we need it and the BIOS
>> doesn't do it for the devices we care about?
>
> Good question. In our case it definitely helps to have pci=norom the
> default. Can't tell if it might break something that depends on the current
> behaviour.

I think the current default behavior is that if the BIOS has assigned
the ROM BAR, we keep that assignment, and if it hasn't, we allocate
MEM space for it. And "pci=norom" means that we don't allocate MEM
space for it, even if the BIOS hasn't assigned it.

"pci=norom" is only implemented on x86. I think most other arches
allocate MEM space for ROMs, with no way to turn that off. PA-RISC
seems to ignore ROMs (dino_fixup_bus()), but that looks like the
exception.

I'm slightly concerned that if we make the x86 default be "never
assign space for ROMs unless the BIOS has done it," we might break
virtualized guests that need access to ROMs. Alex?

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/