[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] acpi: Add support for old and new bios erst, enable mce_apei logic



# HG changeset patch
# User Liu, Jinsong <jinsong.liu@xxxxxxxxx>
# Date 1311407759 -3600
# Node ID 31683aa4bfb38376cf98e0e45b4f34f80c1c21be
# Parent  537918f518eec3d8e2e2dad403fce40303321523
acpi: Add support for old and new bios erst, enable mce_apei logic

When testing, we found different bios has different understanding
about APEI ERST table header, depending on whether it count ACPI
standard header or not.
This patch add support for both bios version, and enable mce_apei.

Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
---


diff -r 537918f518ee -r 31683aa4bfb3 xen/arch/x86/cpu/mcheck/Makefile
--- a/xen/arch/x86/cpu/mcheck/Makefile  Sat Jul 23 08:49:15 2011 +0100
+++ b/xen/arch/x86/cpu/mcheck/Makefile  Sat Jul 23 08:55:59 2011 +0100
@@ -4,7 +4,7 @@
 obj-y += amd_f10.o
 obj-y += mctelem.o
 obj-y += mce.o
-#obj-y += mce-apei.o
+obj-y += mce-apei.o
 obj-y += mce_intel.o
 obj-y += mce_amd_quirks.o
 obj-y += non-fatal.o
diff -r 537918f518ee -r 31683aa4bfb3 xen/drivers/acpi/apei/erst.c
--- a/xen/drivers/acpi/apei/erst.c      Sat Jul 23 08:49:15 2011 +0100
+++ b/xen/drivers/acpi/apei/erst.c      Sat Jul 23 08:55:59 2011 +0100
@@ -715,7 +715,13 @@
 
 static int __init erst_check_table(struct acpi_table_erst *erst_tab)
 {
-       if (erst_tab->header_length != sizeof(struct acpi_table_erst))
+       /*
+        * Some old BIOSes include the ACPI standard header in the ERST header
+        * length; new BIOSes do not. Our check allows for both methods.
+        */
+       if ((erst_tab->header_length !=
+           (sizeof(struct acpi_table_erst) - sizeof(erst_tab->header)))
+           && (erst_tab->header_length != sizeof(struct acpi_table_erst)))
                return -EINVAL;
        if (erst_tab->header.length < sizeof(struct acpi_table_erst))
                return -EINVAL;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.