[GIT PULL] KVM: x86: VMX changes for 6.11

From: Sean Christopherson
Date: Fri Jul 12 2024 - 20:00:04 EST


The highlight is a largish series to fix nested posted interrupt detection.
The series hasn't gotten any reviews, so if you have time to take a closer look,
it would be appreciated.

The following changes since commit 02b0d3b9d4dd1ef76b3e8c63175f1ae9ff392313:

Merge branch 'kvm-6.10-fixes' into HEAD (2024-06-20 17:31:50 -0400)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-vmx-6.11

for you to fetch changes up to 45405155d876c326da89162b8173b8cc9ab7ed75:

KVM: x86: WARN if a vCPU gets a valid wakeup that KVM can't yet inject (2024-06-28 08:59:07 -0700)

----------------------------------------------------------------
KVM VMX changes for 6.11

- Remove an unnecessary EPT TLB flush when enabling hardware.

- Fix a series of bugs that cause KVM to fail to detect nested pending posted
interrupts as valid wake eents for a vCPU executing HLT in L2 (with
HLT-exiting disable by L1).

- Misc cleanups

----------------------------------------------------------------
Kai Huang (1):
KVM: VMX: Switch __vmx_exit() and kvm_x86_vendor_exit() in vmx_exit()

Sean Christopherson (8):
KVM: nVMX: Update VMCS12_REVISION comment to state it should never change
KVM: VMX: Remove unnecessary INVEPT[GLOBAL] from hardware enable path
KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector
KVM: nVMX: Request immediate exit iff pending nested event needs injection
KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked()
KVM: nVMX: Check for pending posted interrupts when looking for nested events
KVM: nVMX: Fold requested virtual interrupt check into has_nested_events()
KVM: x86: WARN if a vCPU gets a valid wakeup that KVM can't yet inject

arch/x86/include/asm/kvm-x86-ops.h | 1 -
arch/x86/include/asm/kvm_host.h | 3 +--
arch/x86/kvm/vmx/main.c | 1 -
arch/x86/kvm/vmx/nested.c | 47 ++++++++++++++++++++++++++++++++++----
arch/x86/kvm/vmx/posted_intr.h | 10 ++++++++
arch/x86/kvm/vmx/vmcs12.h | 14 +++++++-----
arch/x86/kvm/vmx/vmx.c | 38 ++++++++----------------------
arch/x86/kvm/vmx/vmx.h | 1 +
arch/x86/kvm/vmx/x86_ops.h | 1 -
arch/x86/kvm/x86.c | 19 ++++++---------
10 files changed, 79 insertions(+), 56 deletions(-)