KVM: vmx: Emulate MSR IA32_UMWAIT_CONTROL
Tao Xu authored
UMWAIT and TPAUSE instructions use 32bit IA32_UMWAIT_CONTROL at MSR index
E1H to determines the maximum time in TSC-quanta that the processor can
reside in either C0.1 or C0.2.

This patch emulates MSR IA32_UMWAIT_CONTROL in guest and differentiate
IA32_UMWAIT_CONTROL between host and guest. The variable
mwait_control_cached in arch/x86/kernel/cpu/umwait.c caches the MSR value,
so this patch uses it to avoid frequently rdmsr of IA32_UMWAIT_CONTROL.
Co-developed-by: default avatarJingqi Liu <jingqi.liu@intel.com>
Signed-off-by: default avatarJingqi Liu <jingqi.liu@intel.com>
Signed-off-by: default avatarTao Xu <tao3.xu@intel.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
6e3ba4ab
Name Last commit Last update
..
boot Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
configs x86/defconfigs: Remove useless UEVENT_HELPER_PATH
crypto crypto: x86/aes-ni - use AES library instead of single-use AES cipher
entry Merge tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
events Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
hyperv Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
ia32 clone: fix CLONE_PIDFD support
include KVM: x86: Add support for user wait instructions
kernel KVM: vmx: Emulate MSR IA32_UMWAIT_CONTROL
kvm KVM: vmx: Emulate MSR IA32_UMWAIT_CONTROL
lib x86/asm: Make some functions local labels
math-emu x86/fpu/math-emu: Address fallthrough warnings
mm Merge tag 'powerpc-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
net bpf: fix x64 JIT code generation for jmp to 1st insn
oprofile x86/oprofile: Fix bogus GCC-8 warning in nmi_setup()
pci Merge tag 'dma-mapping-5.4' of git://git.infradead.org/users/hch/dma-mapping
platform Merge tag 'driver-core-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
power Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
purgatory Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
ras RAS/CEC: Add CONFIG_RAS_CEC_DEBUG and move CEC debug features there
realmode x86/realmode: Remove trampoline_status
tools Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
um um: Use real DMA barriers
video treewide: Add SPDX license identifier - Makefile/Kconfig
xen Merge tag 'dma-mapping-5.4' of git://git.infradead.org/users/hch/dma-mapping
.gitignore
Kbuild
Kconfig
Kconfig.cpu
Kconfig.debug
Makefile
Makefile.um
Makefile_32.cpu