[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240712235701.1458888-4-seanjc@google.com>
Date: Fri, 12 Jul 2024 16:56:53 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
Sean Christopherson <seanjc@...gle.com>
Subject: [GIT PULL] KVM: x86: Misc changes for 6.11
The most notable change is the addition of the capability to allow changing
KVM's emulated APIC bus frequency for TDX. Most everything else is cleanups.
The following changes since commit c3f38fa61af77b49866b006939479069cd451173:
Linux 6.10-rc2 (2024-06-02 15:44:56 -0700)
are available in the Git repository at:
https://github.com/kvm-x86/linux.git tags/kvm-x86-misc-6.11
for you to fetch changes up to 82222ee7e84cb03158935e053c4c4960ac1debbd:
KVM: selftests: Add test for configure of x86 APIC bus frequency (2024-06-28 15:21:43 -0700)
----------------------------------------------------------------
KVM x86 misc changes for 6.11
- Add a global struct to consolidate tracking of host values, e.g. EFER, and
move "shadow_phys_bits" into the structure as "maxphyaddr".
- Add KVM_CAP_X86_APIC_BUS_CYCLES_NS to allow configuring the effective APIC
bus frequency, because TDX.
- Print the name of the APICv/AVIC inhibits in the relevant tracepoint.
- Clean up KVM's handling of vendor specific emulation to consistently act on
"compatible with Intel/AMD", versus checking for a specific vendor.
- Misc cleanups
----------------------------------------------------------------
Alejandro Jimenez (2):
KVM: x86: Print names of apicv inhibit reasons in traces
KVM: x86: Keep consistent naming for APICv/AVIC inhibit reasons
Binbin Wu (1):
KVM: VMX: Remove unused declaration of vmx_request_immediate_exit()
Carlos López (1):
KVM: x86: Improve documentation for KVM_CAP_X86_BUS_LOCK_EXIT
Hou Wenlong (1):
KVM: x86: Drop unused check_apicv_inhibit_reasons() callback definition
Isaku Yamahata (4):
KVM: x86: hyper-v: Calculate APIC bus frequency for Hyper-V
KVM: x86: Make nanoseconds per APIC bus cycle a VM variable
KVM: x86: Add a capability to configure bus frequency for APIC timer
KVM: selftests: Add test for configure of x86 APIC bus frequency
Jeff Johnson (1):
KVM: x86: Add missing MODULE_DESCRIPTION() macros
Peng Hao (1):
KVM: X86: Remove unnecessary GFP_KERNEL_ACCOUNT for temporary variables
Reinette Chatre (1):
KVM: selftests: Add guest udelay() utility for x86
Sean Christopherson (12):
KVM: x86: Add a struct to consolidate host values, e.g. EFER, XCR0, etc...
KVM: SVM: Use KVM's snapshot of the host's XCR0 for SEV-ES host state
KVM: x86/mmu: Snapshot shadow_phys_bits when kvm.ko is loaded
KVM: x86: Move shadow_phys_bits into "kvm_host", as "maxphyaddr"
KVM: x86/pmu: Squash period for checkpointed events based on host HLE/RTM
KVM: x86: Apply Intel's TSC_AUX reserved-bit behavior to Intel compat vCPUs
KVM: x86: Inhibit code #DBs in MOV-SS shadow for all Intel compat vCPUs
KVM: x86: Use "is Intel compatible" helper to emulate SYSCALL in !64-bit
KVM: SVM: Emulate SYSENTER RIP/RSP behavior for all Intel compat vCPUs
KVM: x86: Allow SYSENTER in Compatibility Mode for all Intel compat vCPUs
KVM: x86: Open code vendor_intel() in string_registers_quirk()
KVM: x86: Bury guest_cpuid_is_amd_or_hygon() in cpuid.c
Thomas Prescher (1):
KVM: x86: Add KVM_RUN_X86_GUEST_MODE kvm_run flag
Documentation/virt/kvm/api.rst | 78 ++++++---
arch/x86/include/asm/kvm_host.h | 24 ++-
arch/x86/include/uapi/asm/kvm.h | 1 +
arch/x86/kvm/cpuid.c | 12 ++
arch/x86/kvm/cpuid.h | 18 --
arch/x86/kvm/emulate.c | 71 +++-----
arch/x86/kvm/hyperv.c | 3 +-
arch/x86/kvm/kvm_emulate.h | 1 +
arch/x86/kvm/lapic.c | 6 +-
arch/x86/kvm/lapic.h | 3 +-
arch/x86/kvm/mmu.h | 27 +--
arch/x86/kvm/mmu/mmu.c | 2 +-
arch/x86/kvm/mmu/spte.c | 26 ++-
arch/x86/kvm/pmu.c | 2 +-
arch/x86/kvm/svm/sev.c | 4 +-
arch/x86/kvm/svm/svm.c | 15 +-
arch/x86/kvm/svm/svm.h | 2 +-
arch/x86/kvm/trace.h | 9 +-
arch/x86/kvm/vmx/main.c | 2 +-
arch/x86/kvm/vmx/nested.c | 8 +-
arch/x86/kvm/vmx/vmx.c | 29 ++-
arch/x86/kvm/vmx/vmx.h | 2 +-
arch/x86/kvm/vmx/x86_ops.h | 2 -
arch/x86/kvm/x86.c | 112 +++++++-----
arch/x86/kvm/x86.h | 19 +-
include/uapi/linux/kvm.h | 2 +
tools/testing/selftests/kvm/Makefile | 1 +
tools/testing/selftests/kvm/include/x86_64/apic.h | 8 +
.../selftests/kvm/include/x86_64/processor.h | 18 ++
tools/testing/selftests/kvm/lib/x86_64/processor.c | 11 ++
.../selftests/kvm/x86_64/apic_bus_clock_test.c | 194 +++++++++++++++++++++
31 files changed, 503 insertions(+), 209 deletions(-)
create mode 100644 tools/testing/selftests/kvm/x86_64/apic_bus_clock_test.c
Powered by blists - more mailing lists