aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/tboot.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-07-29 10:31:21 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-07-29 10:31:21 +0100
commit877ca1b20fecf14b364efe9ea0886f0be110a43f (patch)
tree3283c322156af9a2184772018e3de65fbac83460 /xen/arch/x86/tboot.c
parentb99b79d46b8b7c8b3d26600445e86db9db23c744 (diff)
downloadxen-877ca1b20fecf14b364efe9ea0886f0be110a43f.tar.gz
xen-877ca1b20fecf14b364efe9ea0886f0be110a43f.tar.bz2
xen-877ca1b20fecf14b364efe9ea0886f0be110a43f.zip
kexec: Clean up shutdown logic. Reinstate ACPI DMAR during kexec.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/tboot.c')
-rw-r--r--xen/arch/x86/tboot.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index 91f97ce438..7a9421e7c6 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -478,7 +478,10 @@ int __init tboot_parse_dmar_table(acpi_table_handler dmar_handler)
dmar_table = NULL;
acpi_get_table(ACPI_SIG_DMAR, 0, &dmar_table);
if ( dmar_table != NULL )
- ((struct acpi_table_dmar *)dmar_table)->header.signature[0] = '\0';
+ {
+ dmar_table->signature[0] = 'X';
+ dmar_table->checksum -= 'X'-'D';
+ }
return rc;
}