[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Add support for old and new bios erst, enable mce_apei logic
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 fbb448cf5cba xen/arch/x86/cpu/mcheck/Makefile --- a/xen/arch/x86/cpu/mcheck/Makefile Thu Jul 14 13:24:19 2011 +0100 +++ b/xen/arch/x86/cpu/mcheck/Makefile Mon Jul 18 21:40:28 2011 +0800 @@ -4,7 +4,7 @@ obj-y += amd_f10.o 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 fbb448cf5cba xen/drivers/acpi/apei/erst.c --- a/xen/drivers/acpi/apei/erst.c Thu Jul 14 13:24:19 2011 +0100 +++ b/xen/drivers/acpi/apei/erst.c Mon Jul 18 21:40:28 2011 +0800 @@ -715,7 +715,14 @@ int erst_clear(u64 record_id) static int __init erst_check_table(struct acpi_table_erst *erst_tab) { - if (erst_tab->header_length != sizeof(struct acpi_table_erst)) + /* + * some old bios think erst header length include ACPI standard header, + * while new bios think it don't include ACPI standard header length. + * we update check here for both bios + */ + 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; Attachment:
mce_erst_1.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |