diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-09-13 10:22:03 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2011-09-13 10:22:03 +0100 |
commit | d7d24473958dcf740d2366cbc574cf671e390dcc (patch) | |
tree | 18eb92f3a8cfb2a21842c740a48ac6ef84cb7fc3 /tools/firmware | |
parent | 4cb7001d843aaf1c317428f522bbe696456304cd (diff) | |
download | xen-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.c | 3 |
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); |