Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm updates from Paolo Bonzini: "ARM: - Clean up vCPU targets, always returning generic v8 as the preferred target - Trap forwarding infrastructure for nested virtualization (used for traps that are taken from an L2 guest and are needed by the L1 hypervisor) - FEAT_TLBIRANGE support to only invalidate specific ranges of addresses when collapsing a table PTE to a block PTE. This avoids that the guest refills the TLBs again for addresses that aren't covered by the table PTE. - Fix vPMU issues related to handling of PMUver. - Don't unnecessary align non-stack allocations in the EL2 VA space - Drop HCR_VIRT_EXCP_MASK, which was never used... - Don't use smp_processor_id() in kvm_arch_vcpu_load(), but the cpu parameter instead - Drop redundant call to kvm_set_pfn_accessed() in user_mem_abort() - Remove prototypes without implementations RISC-V: - Zba, Zbs, Zicntr, Zicsr, Zifencei, and Zihpm support for guest - Added ONE_REG interface for SATP mode - Added ONE_REG interface to enable/disable multiple ISA extensions - Improved error codes returned by ONE_REG interfaces - Added KVM_GET_REG_LIST ioctl() implementation for KVM RISC-V - Added get-reg-list selftest for KVM RISC-V s390: - PV crypto passthrough enablement (Tony, Steffen, Viktor, Janosch) Allows a PV guest to use crypto cards. Card access is governed by the firmware and once a crypto queue is "bound" to a PV VM every other entity (PV or not) looses access until it is not bound anymore. Enablement is done via flags when creating the PV VM. - Guest debug fixes (Ilya) x86: - Clean up KVM's handling of Intel architectural events - Intel bugfixes - Add support for SEV-ES DebugSwap, allowing SEV-ES guests to use debug registers and generate/handle #DBs - Clean up LBR virtualization code - Fix a bug where KVM fails to set the target pCPU during an IRTE update - Fix fatal bugs in SEV-ES intrahost migration - Fix a bug where the recent (architecturally correct) change to reinject #BP and skip INT3 broke SEV guests (can't decode INT3 to skip it) - Retry APIC map recalculation if a vCPU is added/enabled - Overhaul emergency reboot code to bring SVM up to par with VMX, tie the "emergency disabling" behavior to KVM actually being loaded, and move all of the logic within KVM - Fix user triggerable WARNs in SVM where KVM incorrectly assumes the TSC ratio MSR cannot diverge from the default when TSC scaling is disabled up related code - Add a framework to allow "caching" feature flags so that KVM can check if the guest can use a feature without needing to search guest CPUID - Rip out the ancient MMU_DEBUG crud and replace the useful bits with CONFIG_KVM_PROVE_MMU - Fix KVM's handling of !visible guest roots to avoid premature triple fault injection - Overhaul KVM's page-track APIs, and KVMGT's usage, to reduce the API surface that is needed by external users (currently only KVMGT), and fix a variety of issues in the process Generic: - Wrap kvm_{gfn,hva}_range.pte in a union to allow mmu_notifier events to pass action specific data without needing to constantly update the main handlers. - Drop unused function declarations Selftests: - Add testcases to x86's sync_regs_test for detecting KVM TOCTOU bugs - Add support for printf() in guest code and covert all guest asserts to use printf-based reporting - Clean up the PMU event filter test and add new testcases - Include x86 selftests in the KVM x86 MAINTAINERS entry" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (279 commits) KVM: x86/mmu: Include mmu.h in spte.h KVM: x86/mmu: Use dummy root, backed by zero page, for !visible guest roots KVM: x86/mmu: Disallow guest from using !visible slots for page tables KVM: x86/mmu: Harden TDP MMU iteration against root w/o shadow page KVM: x86/mmu: Harden new PGD against roots without shadow pages KVM: x86/mmu: Add helper to convert root hpa to shadow page drm/i915/gvt: Drop final dependencies on KVM internal details KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers KVM: x86/mmu: Drop @slot param from exported/external page-track APIs KVM: x86/mmu: Bug the VM if write-tracking is used but not enabled KVM: x86/mmu: Assert that correct locks are held for page write-tracking KVM: x86/mmu: Rename page-track APIs to reflect the new reality KVM: x86/mmu: Drop infrastructure for multiple page-track modes KVM: x86/mmu: Use page-track notifiers iff there are external users KVM: x86/mmu: Move KVM-only page-track declarations to internal header KVM: x86: Remove the unused page-track hook track_flush_slot() drm/i915/gvt: switch from ->track_flush_slot() to ->track_remove_region() KVM: x86: Add a new page-track hook to handle memslot deletion drm/i915/gvt: Don't bother removing write-protection on to-be-deleted slot KVM: x86: Reject memslot MOVE operations if KVMGT is attached ...
No related branches found
No related tags found
Showing
- Documentation/virt/kvm/api.rst 3 additions, 1 deletionDocumentation/virt/kvm/api.rst
- MAINTAINERS 2 additions, 0 deletionsMAINTAINERS
- arch/arm/include/asm/arm_pmuv3.h 2 additions, 0 deletionsarch/arm/include/asm/arm_pmuv3.h
- arch/arm64/include/asm/kvm_arm.h 50 additions, 1 deletionarch/arm64/include/asm/kvm_arm.h
- arch/arm64/include/asm/kvm_asm.h 3 additions, 0 deletionsarch/arm64/include/asm/kvm_asm.h
- arch/arm64/include/asm/kvm_host.h 15 additions, 9 deletionsarch/arm64/include/asm/kvm_host.h
- arch/arm64/include/asm/kvm_mmu.h 1 addition, 0 deletionsarch/arm64/include/asm/kvm_mmu.h
- arch/arm64/include/asm/kvm_nested.h 2 additions, 0 deletionsarch/arm64/include/asm/kvm_nested.h
- arch/arm64/include/asm/kvm_pgtable.h 10 additions, 0 deletionsarch/arm64/include/asm/kvm_pgtable.h
- arch/arm64/include/asm/sysreg.h 266 additions, 2 deletionsarch/arm64/include/asm/sysreg.h
- arch/arm64/include/asm/tlbflush.h 71 additions, 53 deletionsarch/arm64/include/asm/tlbflush.h
- arch/arm64/kernel/cpufeature.c 7 additions, 0 deletionsarch/arm64/kernel/cpufeature.c
- arch/arm64/kvm/Kconfig 1 addition, 1 deletionarch/arm64/kvm/Kconfig
- arch/arm64/kvm/arm.c 20 additions, 45 deletionsarch/arm64/kvm/arm.c
- arch/arm64/kvm/emulate-nested.c 1852 additions, 0 deletionsarch/arm64/kvm/emulate-nested.c
- arch/arm64/kvm/guest.c 0 additions, 15 deletionsarch/arm64/kvm/guest.c
- arch/arm64/kvm/handle_exit.c 28 additions, 1 deletionarch/arm64/kvm/handle_exit.c
- arch/arm64/kvm/hyp/include/hyp/switch.h 94 additions, 33 deletionsarch/arm64/kvm/hyp/include/hyp/switch.h
- arch/arm64/kvm/hyp/include/nvhe/mm.h 1 addition, 0 deletionsarch/arm64/kvm/hyp/include/nvhe/mm.h
- arch/arm64/kvm/hyp/nvhe/hyp-main.c 11 additions, 0 deletionsarch/arm64/kvm/hyp/nvhe/hyp-main.c
Loading
Please register or sign in to comment