[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |