Re: SRAT v1 support

From: Yinghai Lu
Date: Fri May 15 2009 - 14:39:12 EST


On Fri, May 15, 2009 at 7:51 AM, xb <xavier.bru@xxxxxxxx> wrote:
> Recent linux kernels suppose that the  SRAT table is in rev 2 format (ACPI
> 3.0), but some BIOSes still provide SRAT table in rev 1.
> The rev 2 of the SRAT extension mainly provides an extension of the
> "proximity_domain" item from 8 bits to 32 bits, using a "reserved" field of
> the structure.
> When the "reserved" field is not null, linux finds a wrong proximity domain,
> and numa initialization is wrong.
> Following patch tests the SRAT revision to allow a correct initialization:
>
> This patch tests the version of SRAT ACPI table to allow supporting SRAT rev
> 1 and SRAT rev 2.
>
> diff -Nru linux-2.6.29-rc7-orig/arch/x86/kernel/acpi/boot.c
> linux-2.6.29-rc7-tmp/arch/x86/kernel/acpi/boot.c
> --- linux-2.6.29-rc7-orig/arch/x86/kernel/acpi/boot.c    2009-03-12
> 14:41:38.000000000 +0100
> +++ linux-2.6.29-rc7-tmp/arch/x86/kernel/acpi/boot.c    2009-03-16
> 14:52:07.000000000 +0100
> @@ -260,7 +260,8 @@
> }
>
> static int __init
> -acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long
> end)
> +acpi_parse_lapic(const struct acpi_subtable_header * const header,
> +                const unsigned long end, const int rev)

do we need to pass that rev all over around?

looks like we could use one srat_version or pxm_mask variable to get
the same result.

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/