Re: [PATCH] x86/PCI: never allocate PCI MMIO resources below BIOS_END

From: Bjorn Helgaas
Date: Mon Apr 26 2010 - 16:28:08 EST


On Monday 26 April 2010 01:31:35 pm Jesse Barnes wrote:
> On Mon, 26 Apr 2010 11:34:36 -0700
> Andy Isaacson <adi@xxxxxxxxxxxxx> wrote:
> > On Fri, Apr 23, 2010 at 05:05:24PM -0600, Bjorn Helgaas wrote:

> > > commit 7fb707eb97fdf6dc4fa4b127f127f8d00223afc7
> > > Author: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
> > > Date: Fri Apr 23 15:22:10 2010 -0600
> > >
> > > x86/PCI: never allocate PCI MMIO resources below BIOS_END
> > >
> > > When we move a PCI device or assign resources to a device not configured
> > > by the BIOS, we want to avoid the BIOS region below 1MB. Note that if the
> > > BIOS places devices below 1MB, we leave them there.
> >
> > Works for me. dmesg at
> > https://bugzilla.kernel.org/attachment.cgi?id=26150
>
> Great, thanks for testing. Applied this one to my for-linus tree.

Thanks!

> I still think Yinghai's patches should go in as well (marking regions as
> busy seems like good housekeeping), but with this fixed they're a better
> fit for -next.

I'm a little concerned that those patches are a sledgehammer approach.
Previously, IORESOURCE_BUSY has basically been used for mutual exclusion
between drivers that would otherwise claim the same resource. It hasn't
been used to guide resource assignment in the PCI/PNP/etc core. Maybe
it's a good idea to also use IORESOURCE_BUSY there, but I'm not sure.
Right now it feels like undesirable overloading to me.

I think it also leads to at least one problem: Guenter's machine has no
VGA but has a PCI device that lives at 0xa0000. The driver for that
device won't be able to request that region if the arch code has marked
it busy.

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/