diff options
author | Keir Fraser <keir@xensource.com> | 2007-10-19 17:47:12 +0100 |
---|---|---|
committer | Keir Fraser <keir@xensource.com> | 2007-10-19 17:47:12 +0100 |
commit | f475a034a7560a64416f9fde0f035b74ef3ac2ea (patch) | |
tree | 14fbdf94f0efbb083b86d25fe3673ffbd92f6767 | |
parent | a51497b069f4e29b95fe872ddd8d76a580bf5209 (diff) | |
download | xen-f475a034a7560a64416f9fde0f035b74ef3ac2ea.tar.gz xen-f475a034a7560a64416f9fde0f035b74ef3ac2ea.tar.bz2 xen-f475a034a7560a64416f9fde0f035b74ef3ac2ea.zip |
Avoid passing uninitialised ACPI tables to dom0 when checksums fail.
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>
-rw-r--r-- | xen/arch/x86/setup.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index a9c1beeba8..47d81c4ada 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -972,6 +972,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="); |