[GIT PULL] KVM fixes for Linux 6.3-rc3

From: Paolo Bonzini
Date: Thu Mar 16 2023 - 10:06:44 EST


Linus,

The following changes since commit eeac8ede17557680855031c6f305ece2378af326:

Linux 6.3-rc2 (2023-03-12 16:36:44 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

for you to fetch changes up to f3e707413dbe3920a972d0c2b51175180e7de36b:

KVM: selftests: Sync KVM exit reasons in selftests (2023-03-14 10:20:10 -0400)

----------------------------------------------------------------
ARM64:

* Address a rather annoying bug w.r.t. guest timer offsetting. The
synchronization of timer offsets between vCPUs was broken, leading to
inconsistent timer reads within the VM.

x86:

* New tests for the slow path of the EVTCHNOP_send Xen hypercall

* Add missing nVMX consistency checks for CR0 and CR4

* Fix bug that broke AMD GATag on 512 vCPU machines

Selftests:

* Skip hugetlb tests if huge pages are not available

* Sync KVM exit reasons

----------------------------------------------------------------
David Woodhouse (2):
KVM: selftests: Use enum for test numbers in xen_shinfo_test
KVM: selftests: Add EVTCHNOP_send slow path test to xen_shinfo_test

Marc Zyngier (1):
KVM: arm64: timers: Convert per-vcpu virtual offset to a global value

Paolo Bonzini (4):
Merge tag 'kvmarm-fixes-6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
KVM: nVMX: add missing consistency checks for CR0 and CR4
KVM: nVMX: remove unnecessary #ifdef
selftests: KVM: skip hugetlb tests if huge pages are not available

Rong Tao (2):
KVM: VMX: Fix indentation coding style issue
KVM: VMX: Use tabs instead of spaces for indentation

Sean Christopherson (5):
KVM: SVM: Fix a benign off-by-one bug in AVIC physical table mask
KVM: SVM: WARN if GATag generation drops VM or vCPU ID information
KVM: selftests: Move the guts of kvm_hypercall() to a separate macro
KVM: selftests: Add helpers to make Xen-style VMCALL/VMMCALL hypercalls
KVM: selftests: Add macro to generate KVM exit reason strings

Suravee Suthikulpanit (1):
KVM: SVM: Modify AVIC GATag to support max number of 512 vCPUs

Vipin Sharma (3):
KVM: selftests: Make vCPU exit reason test assertion common
KVM: selftests: Print expected and actual exit reason in KVM exit reason assert
KVM: selftests: Sync KVM exit reasons in selftests

arch/arm64/include/asm/kvm_host.h | 3 +
arch/arm64/kvm/arch_timer.c | 45 +---
arch/arm64/kvm/hypercalls.c | 2 +-
arch/x86/include/asm/svm.h | 12 +-
arch/x86/kvm/svm/avic.c | 37 +++-
arch/x86/kvm/vmx/nested.c | 18 +-
arch/x86/kvm/vmx/vmenter.S | 4 +-
arch/x86/kvm/vmx/vmx.c | 12 +-
include/kvm/arm_arch_timer.h | 15 ++
tools/testing/selftests/kvm/aarch64/psci_test.c | 4 +-
tools/testing/selftests/kvm/include/test_util.h | 9 +
.../selftests/kvm/include/x86_64/processor.h | 2 +
tools/testing/selftests/kvm/lib/kvm_util.c | 67 +++---
.../selftests/kvm/lib/s390x/diag318_test_handler.c | 3 +-
tools/testing/selftests/kvm/lib/test_util.c | 25 ++-
tools/testing/selftests/kvm/lib/x86_64/processor.c | 39 ++--
tools/testing/selftests/kvm/s390x/sync_regs_test.c | 15 +-
.../testing/selftests/kvm/set_memory_region_test.c | 6 +-
tools/testing/selftests/kvm/x86_64/amx_test.c | 8 +-
.../selftests/kvm/x86_64/cr4_cpuid_sync_test.c | 8 +-
tools/testing/selftests/kvm/x86_64/debug_regs.c | 2 +-
.../testing/selftests/kvm/x86_64/flds_emulation.h | 5 +-
tools/testing/selftests/kvm/x86_64/hyperv_clock.c | 7 +-
tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c | 8 +-
.../testing/selftests/kvm/x86_64/hyperv_features.c | 14 +-
tools/testing/selftests/kvm/x86_64/hyperv_ipi.c | 6 +-
.../testing/selftests/kvm/x86_64/hyperv_svm_test.c | 7 +-
.../selftests/kvm/x86_64/hyperv_tlb_flush.c | 14 +-
.../testing/selftests/kvm/x86_64/kvm_clock_test.c | 5 +-
tools/testing/selftests/kvm/x86_64/kvm_pv_test.c | 5 +-
.../selftests/kvm/x86_64/monitor_mwait_test.c | 9 +-
.../selftests/kvm/x86_64/nested_exceptions_test.c | 5 +-
.../selftests/kvm/x86_64/platform_info_test.c | 14 +-
.../selftests/kvm/x86_64/pmu_event_filter_test.c | 6 +-
tools/testing/selftests/kvm/x86_64/smm_test.c | 9 +-
tools/testing/selftests/kvm/x86_64/state_test.c | 8 +-
.../selftests/kvm/x86_64/svm_int_ctl_test.c | 8 +-
.../kvm/x86_64/svm_nested_shutdown_test.c | 7 +-
.../kvm/x86_64/svm_nested_soft_inject_test.c | 6 +-
.../testing/selftests/kvm/x86_64/svm_vmcall_test.c | 6 +-
.../testing/selftests/kvm/x86_64/sync_regs_test.c | 25 +--
.../selftests/kvm/x86_64/triple_fault_event_test.c | 9 +-
.../selftests/kvm/x86_64/tsc_scaling_sync.c | 6 +-
.../selftests/kvm/x86_64/ucna_injection_test.c | 22 +-
.../selftests/kvm/x86_64/userspace_io_test.c | 6 +-
.../selftests/kvm/x86_64/userspace_msr_exit_test.c | 22 +-
.../selftests/kvm/x86_64/vmx_apic_access_test.c | 11 +-
.../kvm/x86_64/vmx_close_while_nested_test.c | 5 +-
.../selftests/kvm/x86_64/vmx_dirty_log_test.c | 7 +-
.../vmx_exception_with_invalid_guest_state.c | 4 +-
.../kvm/x86_64/vmx_invalid_nested_guest_state.c | 4 +-
.../kvm/x86_64/vmx_nested_tsc_scaling_test.c | 6 +-
.../kvm/x86_64/vmx_preemption_timer_test.c | 8 +-
.../selftests/kvm/x86_64/vmx_tsc_adjust_test.c | 6 +-
.../testing/selftests/kvm/x86_64/xapic_ipi_test.c | 6 +-
.../testing/selftests/kvm/x86_64/xen_shinfo_test.c | 228 +++++++++++----------
.../testing/selftests/kvm/x86_64/xen_vmcall_test.c | 5 +-
57 files changed, 354 insertions(+), 511 deletions(-)