[GIT PULL] KVM fixes for 5.10-rc2

From: Paolo Bonzini
Date: Sun Nov 01 2020 - 04:24:35 EST


Linus,

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

Linux 5.10-rc1 (2020-10-25 15:14:11 -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 9478dec3b5e79a1431e2e2b911e32e52a11c6320:

KVM: vmx: remove unused variable (2020-10-31 11:38:43 -0400)

----------------------------------------------------------------
ARM:
* selftest fix
* Force PTE mapping on device pages provided via VFIO
* Fix detection of cacheable mapping at S2
* Fallback to PMD/PTE mappings for composite huge pages
* Fix accounting of Stage-2 PGD allocation
* Fix AArch32 handling of some of the debug registers
* Simplify host HYP entry
* Fix stray pointer conversion on nVHE TLB invalidation
* Fix initialization of the nVHE code
* Simplify handling of capabilities exposed to HYP
* Nuke VCPUs caught using a forbidden AArch32 EL0

x86:
* new nested virtualization selftest
* Miscellaneous fixes
* make W=1 fixes
* Reserve new CPUID bit in the KVM leaves

----------------------------------------------------------------
Andrew Jones (1):
KVM: selftests: Don't require THP to run tests

David Woodhouse (1):
x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID

Gavin Shan (1):
KVM: arm64: Use fallback mapping sizes for contiguous huge page sizes

Jim Mattson (1):
KVM: selftests: test behavior of unmapped L2 APIC-access address

Marc Zyngier (4):
KVM: arm64: Don't corrupt tpidr_el2 on failed HVC call
KVM: arm64: Remove leftover kern_hyp_va() in nVHE TLB invalidation
KVM: arm64: Drop useless PAN setting on host EL1 to EL2 transition
KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR

Mark Rutland (3):
KVM: arm64: Factor out is_{vhe,nvhe}_hyp_code()
arm64: cpufeature: reorder cpus_have_{const, final}_cap()
arm64: cpufeature: upgrade hyp caps to final

Paolo Bonzini (3):
Merge tag 'kvmarm-fixes-5.10-1' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD
KVM: x86: replace static const variables with macros
KVM: vmx: remove unused variable

Qais Yousef (1):
KVM: arm64: Handle Asymmetric AArch32 systems

Santosh Shukla (1):
KVM: arm64: Force PTE mapping on fault resulting in a device mapping

Takashi Iwai (1):
KVM: x86: Fix NULL dereference at kvm_msr_ignored_check()

Vitaly Kuznetsov (1):
KVM: VMX: eVMCS: make evmcs_sanitize_exec_ctrls() work again

Will Deacon (2):
KVM: arm64: Allocate stage-2 pgd pages with GFP_KERNEL_ACCOUNT
KVM: arm64: Fix masks in stage2_pte_cacheable()

Documentation/virt/kvm/cpuid.rst | 4 +
arch/arm64/include/asm/cpufeature.h | 40 ++++--
arch/arm64/include/asm/kvm_host.h | 1 +
arch/arm64/include/asm/virt.h | 9 +-
arch/arm64/kernel/image-vars.h | 1 -
arch/arm64/kvm/arm.c | 19 +++
arch/arm64/kvm/hyp/nvhe/host.S | 2 -
arch/arm64/kvm/hyp/nvhe/hyp-init.S | 23 +++-
arch/arm64/kvm/hyp/nvhe/tlb.c | 1 -
arch/arm64/kvm/hyp/pgtable.c | 4 +-
arch/arm64/kvm/mmu.c | 27 +++-
arch/arm64/kvm/sys_regs.c | 6 +-
arch/x86/include/uapi/asm/kvm_para.h | 1 +
arch/x86/kvm/mmu/mmu.c | 10 +-
arch/x86/kvm/mmu/spte.c | 16 +--
arch/x86/kvm/mmu/spte.h | 16 +--
arch/x86/kvm/vmx/evmcs.c | 3 +-
arch/x86/kvm/vmx/evmcs.h | 3 +-
arch/x86/kvm/vmx/vmx.c | 6 +-
arch/x86/kvm/x86.c | 8 +-
tools/testing/selftests/kvm/.gitignore | 1 +
tools/testing/selftests/kvm/Makefile | 1 +
tools/testing/selftests/kvm/include/x86_64/vmx.h | 6 +
tools/testing/selftests/kvm/lib/kvm_util.c | 23 +++-
tools/testing/selftests/kvm/lib/x86_64/vmx.c | 9 ++
.../selftests/kvm/x86_64/vmx_apic_access_test.c | 142 +++++++++++++++++++++
26 files changed, 306 insertions(+), 76 deletions(-)
create mode 100644 tools/testing/selftests/kvm/x86_64/vmx_apic_access_test.c