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

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



+1

now the Devicemanager looks ok too.

Thanks and Greetings
Tobias

Am Donnerstag, 1. September 2011, 17:57:53 schrieb Christoph Egger:
> 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);


_______________________________________________
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®.