Linus, The following changes since commit c9b8fecddb5bb4b67e351bbaeaa648a6f7456912: KVM: use kvcalloc for array allocations (2022-03-21 09:28:41 -0400) 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 c15e0ae42c8e5a61e9aca8aac920517cf7b3e94e: KVM: x86: fix sending PV IPI (2022-04-02 05:37:27 -0400) ---------------------------------------------------------------- * Only do MSR filtering for MSRs accessed by rdmsr/wrmsr * Documentation improvements * Prevent module exit until all VMs are freed * PMU Virtualization fixes * Fix for kvm_irq_delivery_to_apic_fast() NULL-pointer dereferences * Other miscellaneous bugfixes ---------------------------------------------------------------- David Matlack (2): KVM: Prevent module exit until all VMs are freed Revert "KVM: set owner of cpu and vm file operations" David Woodhouse (2): KVM: avoid double put_page with gfn-to-pfn cache KVM: Remove dirty handling from gfn_to_pfn_cache completely Hou Wenlong (2): KVM: x86/emulator: Emulate RDPID only if it is enabled in guest KVM: x86: Only do MSR filtering when access MSR by rdmsr/wrmsr Jim Mattson (2): KVM: x86/pmu: Use different raw event masks for AMD and Intel KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs Lai Jiangshan (4): KVM: X86: Change the type of access u32 to u64 KVM: X86: Fix comments in update_permission_bitmask KVM: X86: Rename variable smap to not_smap in permission_fault() KVM: X86: Handle implicit supervisor access with SMAP Li RongQing (1): KVM: x86: fix sending PV IPI Like Xu (1): KVM: x86/pmu: Fix and isolate TSX-specific performance event logic Maxim Levitsky (5): KVM: x86: mmu: trace kvm_mmu_set_spte after the new SPTE was set KVM: x86: SVM: fix avic spec based definitions again KVM: x86: SVM: move tsc ratio definitions to svm.h kvm: x86: SVM: remove unused defines KVM: x86: SVM: fix tsc scaling when the host doesn't support it Nathan Chancellor (1): KVM: x86: Fix clang -Wimplicit-fallthrough in do_host_cpuid() Paolo Bonzini (9): Documentation: kvm: fixes for locking.rst Documentation: kvm: include new locks Documentation: KVM: add separate directories for architecture-specific documentation Documentation: KVM: add virtual CPU errata documentation Documentation: KVM: add API issues section KVM: MMU: propagate alloc_workqueue failure KVM: x86: document limitations of MSR filtering KVM: MIPS: remove reference to trap&emulate virtualization KVM: x86/mmu: do compare-and-exchange of gPTE via the user address Peter Gonda (1): KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() Sean Christopherson (6): KVM: x86/mmu: Zap only TDP MMU leafs in zap range and mmu_notifier unmap KVM: Don't actually set a request when evicting vCPUs for GFN cache invd KVM: Use enum to track if cached PFN will be used in guest and/or host KVM: x86: Make APICv inhibit reasons an enum and cleanup naming KVM: x86: Add wrappers for setting/clearing APICv inhibits KVM: x86: Trace all APICv inhibit changes and capture overall status Vitaly Kuznetsov (3): KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast() KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated Yi Wang (1): KVM: SVM: fix panic on out-of-bounds guest IRQ Zhenzhong Duan (2): KVM: x86: cleanup enter_rmode() KVM: x86: Remove redundant vm_entry_controls_clearbit() call Documentation/virt/kvm/api.rst | 61 +++++++- Documentation/virt/kvm/index.rst | 26 +--- Documentation/virt/kvm/locking.rst | 43 ++++-- Documentation/virt/kvm/s390/index.rst | 12 ++ Documentation/virt/kvm/{ => s390}/s390-diag.rst | 0 Documentation/virt/kvm/{ => s390}/s390-pv-boot.rst | 0 Documentation/virt/kvm/{ => s390}/s390-pv.rst | 0 Documentation/virt/kvm/vcpu-requests.rst | 10 ++ .../virt/kvm/{ => x86}/amd-memory-encryption.rst | 0 Documentation/virt/kvm/{ => x86}/cpuid.rst | 0 Documentation/virt/kvm/x86/errata.rst | 39 +++++ Documentation/virt/kvm/{ => x86}/halt-polling.rst | 0 Documentation/virt/kvm/{ => x86}/hypercalls.rst | 0 Documentation/virt/kvm/x86/index.rst | 19 +++ Documentation/virt/kvm/{ => x86}/mmu.rst | 0 Documentation/virt/kvm/{ => x86}/msr.rst | 0 Documentation/virt/kvm/{ => x86}/nested-vmx.rst | 0 .../virt/kvm/{ => x86}/running-nested-guests.rst | 0 Documentation/virt/kvm/{ => x86}/timekeeping.rst | 0 arch/s390/kvm/kvm-s390.c | 2 +- arch/x86/include/asm/kvm_host.h | 46 ++++-- arch/x86/include/asm/svm.h | 14 +- arch/x86/kernel/kvm.c | 2 +- arch/x86/kvm/cpuid.c | 1 + arch/x86/kvm/emulate.c | 8 +- arch/x86/kvm/hyperv.c | 22 ++- arch/x86/kvm/i8254.c | 6 +- arch/x86/kvm/kvm_emulate.h | 3 + arch/x86/kvm/lapic.c | 4 + arch/x86/kvm/mmu.h | 32 ++-- arch/x86/kvm/mmu/mmu.c | 27 ++-- arch/x86/kvm/mmu/paging_tmpl.h | 82 +++++------ arch/x86/kvm/mmu/tdp_mmu.c | 72 ++++----- arch/x86/kvm/mmu/tdp_mmu.h | 12 +- arch/x86/kvm/pmu.c | 18 +-- arch/x86/kvm/svm/avic.c | 14 +- arch/x86/kvm/svm/pmu.c | 9 +- arch/x86/kvm/svm/svm.c | 36 ++--- arch/x86/kvm/svm/svm.h | 15 +- arch/x86/kvm/svm/svm_onhyperv.c | 1 - arch/x86/kvm/trace.h | 22 +-- arch/x86/kvm/vmx/pmu_intel.c | 14 +- arch/x86/kvm/vmx/vmx.c | 26 ++-- arch/x86/kvm/x86.c | 161 +++++++++++++-------- arch/x86/kvm/xen.c | 7 +- include/linux/kvm_host.h | 60 +++++--- include/linux/kvm_types.h | 11 +- virt/kvm/kvm_main.c | 22 ++- virt/kvm/pfncache.c | 72 ++++----- 49 files changed, 617 insertions(+), 414 deletions(-) create mode 100644 Documentation/virt/kvm/s390/index.rst rename Documentation/virt/kvm/{ => s390}/s390-diag.rst (100%) rename Documentation/virt/kvm/{ => s390}/s390-pv-boot.rst (100%) rename Documentation/virt/kvm/{ => s390}/s390-pv.rst (100%) rename Documentation/virt/kvm/{ => x86}/amd-memory-encryption.rst (100%) rename Documentation/virt/kvm/{ => x86}/cpuid.rst (100%) create mode 100644 Documentation/virt/kvm/x86/errata.rst rename Documentation/virt/kvm/{ => x86}/halt-polling.rst (100%) rename Documentation/virt/kvm/{ => x86}/hypercalls.rst (100%) create mode 100644 Documentation/virt/kvm/x86/index.rst rename Documentation/virt/kvm/{ => x86}/mmu.rst (100%) rename Documentation/virt/kvm/{ => x86}/msr.rst (100%) rename Documentation/virt/kvm/{ => x86}/nested-vmx.rst (100%) rename Documentation/virt/kvm/{ => x86}/running-nested-guests.rst (100%) rename Documentation/virt/kvm/{ => x86}/timekeeping.rst (100%)