[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: cs 23453:4f4970d2848d beaks Win 7



The issue with 23453:4f4970d2848d is that it uses madt_csum_addr and
madt_lapic0_addr to initialise bios_info before they have themselves
been initialised.

But in xen-unstable.hg tip everything has moved around and the issue now
turns out to be that we clear the acpi_info struct _after_ we've setup
the madt_* fields. Ooops!

Thanks for reporting.

Cheers,
Ian.

# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1314889401 -3600
# Node ID bb97bd46df6c6d8562759a964ebf6c31b6361a7a
# Parent  85b29185c9119ff9139596251d7bd13586853994
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@xxxxxxxxxx>
Reported-by: Christoph Egger <Christoph.Egger@xxxxxxx>

diff -r 85b29185c911 -r bb97bd46df6c tools/firmware/hvmloader/acpi/build.c
--- a/tools/firmware/hvmloader/acpi/build.c     Thu Sep 01 09:39:25 2011 +0100
+++ b/tools/firmware/hvmloader/acpi/build.c     Thu Sep 01 16:03:21 2011 +0100
@@ -277,6 +277,8 @@ void acpi_build_tables(unsigned int phys
     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 phys
                  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);



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.