WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Re: cs 23453:4f4970d2848d beaks Win 7
From: Christoph Egger <Christoph.Egger@xxxxxxx>
Date: Thu, 1 Sep 2011 17:57:53 +0200
Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxx>
Delivery-date: Thu, 01 Sep 2011 08:59:56 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1314889505.28989.127.camel@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4E5F43F2.6010601@xxxxxxx> <1314867058.28989.84.camel@xxxxxxxxxxxxxxxxxxxxxx> <4E5F4B7E.8090601@xxxxxxx> <1314869549.28989.86.camel@xxxxxxxxxxxxxxxxxxxxxx> <4E5F541F.6010405@xxxxxxx> <1314889505.28989.127.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; NetBSD amd64; en-US; rv:1.9.2.17) Gecko/20110523 Lightning/1.0b3pre Thunderbird/3.1.10
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