[SeaBIOS] [qemu PATCH for 2.10] i386: acpi: provide an XSDT instead of an RSDT

Michael S. Tsirkin mst at redhat.com
Wed Jul 26 22:17:15 CEST 2017


On Wed, Jul 26, 2017 at 03:01:25PM +0200, Paolo Bonzini wrote:
> On 26/07/2017 14:52, Michael S. Tsirkin wrote:
> > On Wed, Jul 26, 2017 at 11:31:36AM +0200, Paolo Bonzini wrote:
> >> The tables that QEMU provides are not ACPI 1.0 compatible since commit
> >> 77af8a2b95 ("hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve
> >> guest OS support.", 2017-05-03).  This is visible with Windows 2000,
> >> which refuses to parse the rev3 FADT and fails to boot.
> >>
> >> The recommended solution in this case is to build two FADTs, v1 being
> >> pointed to by the RSDT and v3 by the XSDT.  However, we leave this task
> >> to the firmware.  This patch simply switches the RSDT to the XSDT, which
> >> is valid for all ACPI 2.0-friendly operating systems and also leaves
> >> SeaBIOS the freedom to build an RSDT that points to the compatibility
> >> FADT.
> >>
> >> When running Windows 2000 with an old BIOS, Windows would simply fall
> >> back to a non-ACPI HAL; however, the plan should be to include a BIOS with
> >> the new feature in 2.10.
> >>
> >> Reported-by: Programmingkid <programmingkidx at gmail.com>
> >> Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
> > 
> > I'm not against this but let's do it for q35 only please. PC is a legacy
> > machine type and let's just leave it alone.
> 
> I disagree with calling PC legacy when 99.99% of our users (probably
> underestimated) are using it.

Call it compatibility then :)

The point is that for PC we really should not keep piling up hacks,
compatibility is more important. Let's face it - we have addressed all
their needs for a lot of users a while ago. New features are just churn
and opportunity for bugs for them.

It seems like a rather clean solution to maintain two machines with
more and with less features.

> Doing it for PC only would mean switching
> back from FADT rev3 to rev1, which is worse for guest OS support,

It's only OSX AFAIK and IIRC OSX doesn't run on PC anyway.

> and
> adds yet another little-tested path.

So I think we'll be moving to a cleaner pc/q35 split, sharing
less and less code.

> Together with the corresponding SeaBIOS patch, this provides the best of
> both worlds IMO.
> 
> Paolo

It's definitely way more code. I'll change my mind if there's
a guest that needs the new FADT.

-- 
MST



More information about the SeaBIOS mailing list