aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-09-13 10:22:03 +0100
committerIan Campbell <ian.campbell@citrix.com>2011-09-13 10:22:03 +0100
commitd7d24473958dcf740d2366cbc574cf671e390dcc (patch)
tree18eb92f3a8cfb2a21842c740a48ac6ef84cb7fc3 /tools/firmware
parent4cb7001d843aaf1c317428f522bbe696456304cd (diff)
downloadxen-d7d24473958dcf740d2366cbc574cf671e390dcc.tar.gz
xen-d7d24473958dcf740d2366cbc574cf671e390dcc.tar.bz2
xen-d7d24473958dcf740d2366cbc574cf671e390dcc.zip
hvmloader: don't clear acpi_info after filling in some fields
In particular the madt_lapic0_addr and madt_csum_addr fields are filled in while building the tables. This fixes a bluescreen on shutdown with certain versions of Windows. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reported-by: Christoph Egger <Christoph.Egger@amd.com> Tested-and-acked-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'tools/firmware')
-rw-r--r--tools/firmware/hvmloader/acpi/build.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c
index 5e3198420b..e6c2556633 100644
--- a/tools/firmware/hvmloader/acpi/build.c
+++ b/tools/firmware/hvmloader/acpi/build.c
@@ -277,6 +277,8 @@ void acpi_build_tables(unsigned int physical)
unsigned long secondary_tables[16];
int nr_secondaries, i;
+ memset(acpi_info, 0, sizeof(*acpi_info));
+
/*
* Fill in high-memory data structures, starting at @buf.
*/
@@ -375,7 +377,6 @@ void acpi_build_tables(unsigned int physical)
offsetof(struct acpi_20_rsdp, extended_checksum),
sizeof(struct acpi_20_rsdp));
- memset(acpi_info, 0, sizeof(*acpi_info));
acpi_info->com1_present = uart_exists(0x3f8);
acpi_info->com2_present = uart_exists(0x2f8);
acpi_info->lpt1_present = lpt_exists(0x378);