linux/arch/x86/kernel/fpu
Thomas Gleixner 5429cead01 x86/fpu: Provide fpu_sync_guest_vmexit_xfd_state()
KVM can disable the write emulation for the XFD MSR when the vCPU's fpstate
is already correctly sized to reduce the overhead.

When write emulation is disabled the XFD MSR state after a VMEXIT is
unknown and therefore not in sync with the software states in fpstate and
the per CPU XFD cache.

Provide fpu_sync_guest_vmexit_xfd_state() which has to be invoked after a
VMEXIT before enabling interrupts when write emulation is disabled for the
XFD MSR.

It could be invoked unconditionally even when write emulation is enabled
for the price of a pointless MSR read.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jing Liu <jing2.liu@intel.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20220105123532.12586-21-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-01-14 13:44:42 -05:00
..
bugs.c x86/fpu: Replace the includes of fpu/internal.h 2021-10-20 15:27:29 +02:00
context.h x86/fpu: Update XFD state where required 2021-10-26 10:53:02 +02:00
core.c x86/fpu: Provide fpu_sync_guest_vmexit_xfd_state() 2022-01-14 13:44:42 -05:00
init.c x86/fpu: Add fpu_state_config::legacy_features 2021-10-26 10:18:09 +02:00
internal.h x86/fpu/signal: Prepare for variable sigframe length 2021-10-26 10:18:09 +02:00
legacy.h x86/fpu: Move mxcsr related code to core 2021-10-20 15:27:28 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
regset.c x86/fpu: Move xstate size to fpu_*_cfg 2021-10-21 19:38:55 +02:00
signal.c x86/fpu/signal: Initialize sw_bytes in save_xstate_epilog() 2021-11-30 15:13:47 -08:00
xstate.c x86/fpu: Add uabi_size to guest_fpu 2022-01-14 13:44:40 -05:00
xstate.h x86/fpu: Add guest support to xfd_enable_feature() 2022-01-14 13:43:11 -05:00