[GIT PULL] KVM: x86: Misc changes for 6.8

From: Sean Christopherson
Date: Thu Jan 04 2024 - 14:34:41 EST


A variety of one-off changes...

The following changes since commit e9e60c82fe391d04db55a91c733df4a017c28b2f:

selftests/kvm: fix compilation on non-x86_64 platforms (2023-11-21 11:58:25 -0500)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-misc-6.8

for you to fetch changes up to 15223c4f973a6120665ece9ce1ad17aec0be0e6c:

KVM: SVM,VMX: Use %rip-relative addressing to access kvm_rebooting (2023-11-30 12:51:54 -0800)

----------------------------------------------------------------
KVM x86 misc changes for 6.8:

- Turn off KVM_WERROR by default for all configs so that it's not
inadvertantly enabled by non-KVM developers, which can be problematic for
subsystems that require no regressions for W=1 builds.

- Advertise all of the host-supported CPUID bits that enumerate IA32_SPEC_CTRL
"features".

- Don't force a masterclock update when a vCPU synchronizes to the current TSC
generation, as updating the masterclock can cause kvmclock's time to "jump"
unexpectedly, e.g. when userspace hotplugs a pre-created vCPU.

- Use RIP-relative address to read kvm_rebooting in the VM-Enter fault paths,
partly as a super minor optimization, but mostly to make KVM play nice with
position independent executable builds.

----------------------------------------------------------------
Jim Mattson (2):
KVM: x86: Advertise CPUID.(EAX=7,ECX=2):EDX[5:0] to userspace
KVM: x86: Use a switch statement and macros in __feature_translate()

Sean Christopherson (2):
KVM: x86: Turn off KVM_WERROR by default for all configs
KVM: x86: Don't unnecessarily force masterclock update on vCPU hotplug

Uros Bizjak (1):
KVM: SVM,VMX: Use %rip-relative addressing to access kvm_rebooting

arch/x86/kvm/Kconfig | 14 +++++++-------
arch/x86/kvm/cpuid.c | 21 ++++++++++++++++++---
arch/x86/kvm/reverse_cpuid.h | 33 ++++++++++++++++++++++-----------
arch/x86/kvm/svm/vmenter.S | 10 +++++-----
arch/x86/kvm/vmx/vmenter.S | 2 +-
arch/x86/kvm/x86.c | 29 ++++++++++++++++-------------
6 files changed, 69 insertions(+), 40 deletions(-)