Re: [PATCH] [9/50] i386: validate against ACPI motherboard resources

From: Yinghai Lu
Date: Sat Sep 22 2007 - 02:56:31 EST


On 9/21/07, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
> On 9/21/07, Andi Kleen <ak@xxxxxxx> wrote:
> >
> > From: Robert Hancock <hancockr@xxxxxxx>
> >
> > This path adds validation of the MMCONFIG table against the ACPI reserved
> > motherboard resources. If the MMCONFIG table is found to be reserved in
> > ACPI, we don't bother checking the E820 table. The PCI Express firmware
> > spec apparently tells BIOS developers that reservation in ACPI is required
> > and E820 reservation is optional, so checking against ACPI first makes
> > sense. Many BIOSes don't reserve the MMCONFIG region in E820 even though
> > it is perfectly functional, the existing check needlessly disables MMCONFIG
> > in these cases.
> >
> > In order to do this, MMCONFIG setup has been split into two phases. If PCI
> > configuration type 1 is not available then MMCONFIG is enabled early as
> > before. Otherwise, it is enabled later after the ACPI interpreter is
> > enabled, since we need to be able to execute control methods in order to
> > check the ACPI reserved resources. Presently this is just triggered off
> > the end of ACPI interpreter initialization.
> >
> > There are a few other behavioral changes here:
> >
> > - Validate all MMCONFIG configurations provided, not just the first one.
> >
> > - Validate the entire required length of each configuration according to
> > the provided ending bus number is reserved, not just the minimum required
> > allocation.
> >
> > - Validate that the area is reserved even if we read it from the chipset
> > directly and not from the MCFG table. This catches the case where the
> > BIOS didn't set the location properly in the chipset and has mapped it
> > over other things it shouldn't have.
> >
> > This also cleans up the MMCONFIG initialization functions so that they
> > simply do nothing if MMCONFIG is not compiled in.
> >
> > Based on an original patch by Rajesh Shah from Intel.
> >
> > [akpm@xxxxxxxxxxxxxxxxxxxx: many fixes and cleanups]
> > Signed-off-by: Robert Hancock <hancockr@xxxxxxx>
> > Signed-off-by: Andi Kleen <ak@xxxxxxx>
> > Cc: Rajesh Shah <rajesh.shah@xxxxxxxxx>
> > Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
> > Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Andi Kleen <ak@xxxxxxx>
> > Cc: Greg KH <greg@xxxxxxxxx>
> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

Also the titile is misleading: it is x86 instead of i386.. because it
will affect x86_64 too.

YH
-
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/