From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: Re: cs 23453:4f4970d2848d beaks Win 7 Date: Thu, 1 Sep 2011 17:57:53 +0200 Message-ID: <4E5FAB81.9060904@amd.com> References: <4E5F43F2.6010601@amd.com> <1314867058.28989.84.camel@zakaz.uk.xensource.com> <4E5F4B7E.8090601@amd.com> <1314869549.28989.86.camel@zakaz.uk.xensource.com> <4E5F541F.6010405@amd.com> <1314889505.28989.127.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1314889505.28989.127.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: Ian Jackson , "xen-devel@lists.xensource.com" , Keir Fraser List-Id: xen-devel@lists.xenproject.org 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 > > # HG changeset patch > # User Ian Campbell > # 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 > Reported-by: Christoph Egger > > 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