]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
Avoid passing uninitialised ACPI tables to dom0 when checksums fail.
authorKeir Fraser <keir@xensource.com>
Sat, 20 Oct 2007 08:36:31 +0000 (09:36 +0100)
committerKeir Fraser <keir@xensource.com>
Sat, 20 Oct 2007 08:36:31 +0000 (09:36 +0100)
If during boot, ACPI checksum failures disable ACPI support in Xen,
pass 'acpi=off' to the domain 0 kernel to avoid a fatal page fault
as domain 0 attempts to access the uninitialized ACPI tables.

Signed-off-by: David Lively <dlively@virtualiron.com>
Signed-off-by: Steve Ofsthun <sofsthun@virtualiron.com>
xen-unstable changeset:   16144:975811798ffe
xen-unstable date:        Fri Oct 19 17:47:12 2007 +0100

xen/arch/x86/setup.c

index 3a6c3d7a6a4f006ffd6e076725e175c9c4a40bfc..9acd79656c83e0a3c5752207ade17bd6ad3eb522 100644 (file)
@@ -1062,6 +1062,11 @@ void __init __start_xen(unsigned long mbi_p)
         if ( acpi_skip_timer_override &&
              !strstr(dom0_cmdline, "acpi_skip_timer_override") )
             safe_strcat(dom0_cmdline, " acpi_skip_timer_override");
+        if ( (strlen(acpi_param) == 0) && acpi_disabled )
+        {
+            printk("ACPI is disabled, notifying Domain 0 (acpi=off)\n");
+            safe_strcpy(acpi_param, "off");
+        }
         if ( (strlen(acpi_param) != 0) && !strstr(dom0_cmdline, "acpi=") )
         {
             safe_strcat(dom0_cmdline, " acpi=");