[GIT PULL] KVM changes for Linux 5.12-rc4

From: Paolo Bonzini
Date: Fri Mar 19 2021 - 16:26:28 EST


Linus,

The following changes since commit 1e28eed17697bcf343c6743f0028cc3b5dd88bf0:

Linux 5.12-rc3 (2021-03-14 14:41:02 -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 9ce3746d64132a561bceab6421715e7c04e85074:

documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID (2021-03-19 05:31:32 -0400)

----------------------------------------------------------------
x86:
* new selftests
* fixes for migration with HyperV re-enlightenment enabled
* fix RCU/SRCU usage
* fixes for local_irq_restore misuse false positive

----------------------------------------------------------------
Ben Gardon (3):
KVM: x86/mmu: Fix RCU usage in handle_removed_tdp_mmu_page
KVM: x86/mmu: Fix RCU usage when atomically zapping SPTEs
KVM: x86/mmu: Factor out tdp_iter_return_to_root

Emanuele Giuseppe Esposito (4):
selftests: kvm: add get_msr_index_features
selftests: kvm: add _vm_ioctl
selftests: kvm: add set_boot_cpu_id test
documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID

Sean Christopherson (2):
KVM: x86/mmu: Store the address space ID in the TDP iterator
KVM: x86: Protect userspace MSR filter with SRCU, and set atomically-ish

Vitaly Kuznetsov (5):
KVM: x86: hyper-v: Limit guest to writing zero to HV_X64_MSR_TSC_EMULATION_STATUS
KVM: x86: hyper-v: Prevent using not-yet-updated TSC page by secondary CPUs
KVM: x86: hyper-v: Track Hyper-V TSC page status
KVM: x86: hyper-v: Don't touch TSC page values when guest opted for re-enlightenment
selftests: kvm: Add basic Hyper-V clocksources tests

Wanpeng Li (2):
KVM: X86: Fix missing local pCPU when executing wbinvd on all dirty pCPUs
x86/kvm: Fix broken irq restoration in kvm_wait

Documentation/virt/kvm/api.rst | 9 +-
arch/x86/include/asm/kvm_host.h | 34 ++-
arch/x86/kernel/kvm.c | 23 +-
arch/x86/kvm/hyperv.c | 91 +++++++-
arch/x86/kvm/hyperv.h | 1 +
arch/x86/kvm/mmu/mmu_internal.h | 5 +
arch/x86/kvm/mmu/tdp_iter.c | 30 ++-
arch/x86/kvm/mmu/tdp_iter.h | 4 +-
arch/x86/kvm/mmu/tdp_mmu.c | 40 ++--
arch/x86/kvm/x86.c | 113 +++++----
tools/testing/selftests/kvm/.gitignore | 3 +
tools/testing/selftests/kvm/Makefile | 3 +
tools/testing/selftests/kvm/include/kvm_util.h | 2 +
tools/testing/selftests/kvm/lib/kvm_util.c | 7 +-
.../testing/selftests/kvm/lib/kvm_util_internal.h | 2 -
.../selftests/kvm/x86_64/get_msr_index_features.c | 134 +++++++++++
tools/testing/selftests/kvm/x86_64/hyperv_clock.c | 260 +++++++++++++++++++++
.../testing/selftests/kvm/x86_64/set_boot_cpu_id.c | 166 +++++++++++++
18 files changed, 807 insertions(+), 120 deletions(-)
create mode 100644 tools/testing/selftests/kvm/x86_64/get_msr_index_features.c
create mode 100644 tools/testing/selftests/kvm/x86_64/hyperv_clock.c
create mode 100644 tools/testing/selftests/kvm/x86_64/set_boot_cpu_id.c