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

[Xen-devel] [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now

Various AMD systems (but [unfortunately] not mine) hang when the table
size check passes. Allow the check to pass on Intel systems only for
now (until someone can actually debug the problem).

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -769,6 +769,19 @@ static int __init erst_check_table(struc
        switch (erst_tab->header_length) {
        case sizeof(*erst_tab) - sizeof(erst_tab->header):
+#ifdef CONFIG_X86
+               /* XXX
+                * While the rest of the ERST code appears to work on Intel
+                * systems with properly sized tables, various AMD systems
+                * appear to get hung (at boot time) by allowing this. Until
+                * someone with access to suitable hardware can debug this,
+                * disable the rest of the code by considering this case
+                * invalid.
+                */
+               if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
+                       return -EINVAL;
+               /* fall through */
         * While invalid per specification, there are (early?) systems
         * indicating the full header size here, so accept that value too.

Attachment: ACPI-ERST-Intel-only.patch
Description: Text document

Xen-devel mailing list



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