On Wed, Jul 26, 2017 at 03:52:43PM +0300, 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@gmail.com Signed-off-by: Paolo Bonzini pbonzini@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.
We've already touched the PC machine type in 77af8a2b95 and that needs fixing to deal with the regressions it caused. Even if you call it "legacy", the PC machine is used by the vast majority of deployments that exist today & likely to be done for the foreseeable future too.
Regards, Daniel