aboutsummaryrefslogtreecommitdiff
path: root/hw/misc/mst_fpga.c
diff options
context:
space:
mode:
authorAke Koomsin <ake@igel.co.jp>2023-08-07 18:33:40 +0900
committerPaolo Bonzini <pbonzini@redhat.com>2023-08-28 09:55:48 +0200
commit33cc88261c352445d31599054653d759f20531c1 (patch)
treed9c614b4eac900a482f9abd0ec3d05a596c1a271 /hw/misc/mst_fpga.c
parent7ace219303e28cc67852e1d193437cd1f367b5c8 (diff)
downloadqemu-33cc88261c352445d31599054653d759f20531c1.zip
qemu-33cc88261c352445d31599054653d759f20531c1.tar.gz
qemu-33cc88261c352445d31599054653d759f20531c1.tar.bz2
target/i386: add support for VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE
Current QEMU can expose waitpkg to guests when it is available. However, VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE is still not recognized and masked by QEMU. This can lead to an unexpected situation when a L1 hypervisor wants to expose waitpkg to a L2 guest. The L1 hypervisor can assume that VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE exists as waitpkg is available. The L1 hypervisor then can accidentally expose waitpkg to the L2 guest. This will cause invalid opcode exception in the L2 guest when it executes waitpkg related instructions. This patch adds VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE support, and sets up dependency between the bit and CPUID_7_0_ECX_WAITPKG. QEMU should not expose waitpkg feature if VMX_SECONDARY_EXEC_ENABLE_USER_WAIT_PAUSE is not available to avoid unexpected invalid opcode exception in L2 guests. Signed-off-by: Ake Koomsin <ake@igel.co.jp> Message-ID: <20230807093339.32091-2-ake@igel.co.jp> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/misc/mst_fpga.c')
0 files changed, 0 insertions, 0 deletions