[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: cs 23453:4f4970d2848d beaks Win 7
On 09/01/11 17:05, Ian Campbell wrote: 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. I successfully tested your patch with Windows 7 (both 32bit and 64bit). Windows 7 can initialize its CPUs and no longer crashes on shutdown. Thanks for fixing. Please apply the fix. Tested-and-acked-by: Christoph Egger <Christoph.Egger@xxxxxxx> Christoph # 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); -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |