|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-3.4-testing] x86 numa: Fix post-boot ACPI SLIT acce
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-3.4-testing] x86 numa: Fix post-boot ACPI SLIT accesses.,
Xen patchbot-3.4-testing <=
|
|
|
|
|