]> git.proxmox.com Git - mirror_qemu.git/commit
acpi: Add Windows ACPI Emulated Device Table (WAET)
authorLiran Alon <liran.alon@oracle.com>
Fri, 13 Mar 2020 14:50:08 +0000 (16:50 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 4 May 2020 14:25:03 +0000 (10:25 -0400)
commit14cda3503dc00754bab9ce6c688ea21f791c4a33
tree9fe0302c2fb1542f74cb2a8599fbd404fd393d0b
parent4b773fc2f7e56cddc9c192e0c95b3097dbbcf1e9
acpi: Add Windows ACPI Emulated Device Table (WAET)

Microsoft introduced this ACPI table to avoid Windows guests performing
various workarounds for device erratas. As the virtual device emulated
by VMM may not have the errata.

Currently, WAET allows hypervisor to inform guest about two
specific behaviors: One for RTC and the other for ACPI PM timer.

Support for WAET have been introduced since Windows Vista. This ACPI
table is also exposed by other common hypervisors by default, including:
VMware, GCP and AWS.

This patch adds WAET ACPI Table to QEMU.

We set "ACPI PM timer good" bit in "Emualted Device Flags" field to
indicate that the ACPI PM timer has been enhanced to not require
multiple reads to obtain a reliable value.
This results in improving the performance of Windows guests that use
ACPI PM timer by avoiding unnecessary VMExits caused by these multiple
reads.

Co-developed-by: Elad Gabay <elad.gabay@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200313145009.144820-3-liran.alon@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
hw/i386/acpi-build.c