KVM x86 APIC related changes for 6.3. Emanuele's fix for userspace forcing an x2APIC => xAPIC transition is the most interesting change, the rest is minor fixes and cleanups. The following changes since commit 7cb79f433e75b05d1635aefaa851cfcd1cb7dc4f: KVM: PPC: Fix refactoring goof in kvmppc_e500mc_init() (2023-01-24 13:00:32 -0500) are available in the Git repository at: https://github.com/kvm-x86/linux.git tags/kvm-x86-apic-6.3 for you to fetch changes up to eb98192576315d3f4c6c990d589ab398e7091782: KVM: selftests: Verify APIC_ID is set when forcing x2APIC=>xAPIC transition (2023-02-01 16:22:54 -0800) ---------------------------------------------------------------- KVM x86 APIC changes for 6.3: - Remove a superfluous variables from apic_get_tmcct() - Fix various edge cases in x2APIC MSR emulation - Mark APIC timer as expired if its in one-shot mode and the count underflows while the vCPU task was being migrated - Reset xAPIC when userspace forces "impossible" x2APIC => xAPIC transition ---------------------------------------------------------------- Emanuele Giuseppe Esposito (2): KVM: x86: Reinitialize xAPIC ID when userspace forces x2APIC => xAPIC KVM: selftests: Verify APIC_ID is set when forcing x2APIC=>xAPIC transition Li RongQing (1): KVM: x86: fire timer when it is migrated and expired, and in oneshot mode Sean Christopherson (6): KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI KVM: x86: Inject #GP on x2APIC WRMSR that sets reserved bits 63:32 KVM: x86: Mark x2APIC DFR reg as non-existent for x2APIC KVM: x86: Split out logic to generate "readable" APIC regs mask to helper KVM: VMX: Always intercept accesses to unsupported "extended" x2APIC regs KVM: VMX: Intercept reads to invalid and write-only x2APIC registers zhang songyi (1): KVM: x86: remove redundant ret variable arch/x86/kvm/lapic.c | 77 +++++++++++++--------- arch/x86/kvm/lapic.h | 2 + arch/x86/kvm/vmx/vmx.c | 40 +++++------ .../selftests/kvm/x86_64/xapic_state_test.c | 55 ++++++++++++++++ 4 files changed, 125 insertions(+), 49 deletions(-)