[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.4-testing] x86 numa: Fix post-boot ACPI SLIT accesses.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1267132031 0 # Node ID 3b046e77d9b4aa588c0a04f2ed706a04a3c78a6a # Parent 4f3f443df642e5009dbb31c072dc764171d99050 x86 numa: Fix post-boot ACPI SLIT accesses. Signed-off-by: Nitin A Kamble <nitin.a.kamble@xxxxxxxxx> xen-unstable changeset: 20983:94535cc63835 xen-unstable date: Thu Feb 25 21:03:26 2010 +0000 --- xen/arch/x86/srat.c | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff -r 4f3f443df642 -r 3b046e77d9b4 xen/arch/x86/srat.c --- a/xen/arch/x86/srat.c Thu Feb 25 21:06:36 2010 +0000 +++ b/xen/arch/x86/srat.c Thu Feb 25 21:07:11 2010 +0000 @@ -124,11 +124,22 @@ static __init int slit_valid(struct acpi /* Callback for SLIT parsing */ void __init acpi_numa_slit_init(struct acpi_table_slit *slit) { +#ifdef CONFIG_X86_64 + unsigned long mfn; if (!slit_valid(slit)) { - printk(KERN_INFO "ACPI: SLIT table looks invalid. Not used.\n"); - return; - } - acpi_slit = slit; + printk(KERN_INFO "ACPI: SLIT table looks invalid. " + "Not used.\n"); + return; + } + mfn = alloc_boot_pages(PFN_UP(slit->header.length), 1); + if (!mfn) { + printk(KERN_ERR "ACPI: Unable to allocate memory for " + "saving ACPI SLIT numa information.\n"); + return; + } + acpi_slit = mfn_to_virt(mfn); + memcpy(acpi_slit, slit, slit->header.length); +#endif } /* Callback for Proximity Domain -> LAPIC mapping */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |