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

From: Mika Westerberg
Date: Thu Jun 27 2013 - 09:06:16 EST


On Wed, Jun 26, 2013 at 04:15:01PM -0600, Alex Williamson wrote:
> On Wed, 2013-06-26 at 14:59 -0600, Bjorn Helgaas wrote:
> > [+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?
>
> Yep, I'm more than slightly concerned by that too. Whenever possible we
> want to pass the ROM to the guest since it may end up being a boot
> device or drivers within the guest may require it. We can pass the ROM
> to the guest from an image file, but that requires someplace from which
> to dump the image, which is usually PCI sysfs. Thanks,

OK, then I guess changing the default is out of the question. We don't want
to break things.
--
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/