qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Commit 77af8a2b95b79699de650965d5228772743efe84 breaks


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] Commit 77af8a2b95b79699de650965d5228772743efe84 breaks Windows 2000 support
Date: Fri, 21 Jul 2017 10:20:26 +0100
User-agent: Mutt/1.8.3 (2017-05-23)

On Thu, Jul 20, 2017 at 09:29:33PM +0200, Phil Dennis-Jordan wrote:
> On Thu, Jul 20, 2017 at 6:40 PM, Programmingkid
> <address@hidden> wrote:
> > I noticed that Windows 2000 does not boot up in QEMU recently. After 
> > bisecting the issue I found the offending commit:
> 
> Ouch. I reckon we have 2 options for fixing this:
> 
> 1. Export two FADTs, one ACPI 1.0, one ACPI 2.0. The latter would need
> to be pointed to by an XSDT, which Qemu currently doesn't implement at
> all as far as I'm aware. Any ideas on how SeaBIOS or OVMF would handle
> this? Any likely other OS regressions?
> 
> 2. Select FADT version with an option. This one is definitely safe,
> but adds yet another option.
> 
> Thoughts?

The original comit below claims the change does not impact guest ABI
compatibility, so do we understand why Windows broke ?

If the commit message was inaccurate, and *does* in fact change ABI,
then we should have added an option to toggle FADT version, and used
machine type versioning to ensure we didn't regress existing machine
types. IOW option 2.

That would still, however, leave Windows 2k broken on new machine
types which is pretty poor experiance, but is probably all that
we have time for in the current freeze period.

If we can do option 1 in the 2.11 release that would potentially
give better user experiance by not being broken out of the box
with the latest machine type.


> > commit 77af8a2b95b79699de650965d5228772743efe84
> > Author: Phil Dennis-Jordan <address@hidden>
> > Date:   Wed Mar 15 19:20:26 2017 +1300
> >
> >     hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve guest OS 
> > support.
> >
> >     This updates the FADT generated for x86/64 machine types from Revision 
> > 1 to 3. (Based on ACPI standard 2.0 instead of 1.0) The intention is to 
> > expose the reset register information to guest operating systems which 
> > require it, specifically OS X/macOS. Revision 1 FADTs do not contain the 
> > fields relating to the reset register.
> >
> >     The new layout and contents remains backwards-compatible with operating 
> > systems which only support ACPI 1.0, as the existing fields are not 
> > modified by this change, as the 64-bit and 32-bit variants are allowed to 
> > co-exist according to the ACPI 2.0 standard. No regressions became apparent 
> > in tests with a range of Windows (XP-10) and Linux versions.
> >
> >     The BIOS tables test suite's FADT checksum test has also been updated 
> > to reflect the new FADT layout and content.
> >
> >     Signed-off-by: Phil Dennis-Jordan <address@hidden>
> >     Message-Id: <address@hidden>
> >     Signed-off-by: Paolo Bonzini <address@hidden>
> >
> > :040000 040000 40063761c0b86f87e798e03ea48eff9ea0753425 
> > 6d2a94150cf1eafb16f0ccf6325281415fef64a6 M      hw
> > :040000 040000 fe3f1480a91b76fea238c765f0725e715932d96d 
> > 68f9368d8d78fd3267f609b603f97e8a74bdf528 M      include
> > :040000 040000 895e961b0a160100aa95b2f557cfe6b87a7d9bff 
> > 8ed08cef10fddee7814e38ad62be11371592a75a M      tests
> >
> >
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]