[GIT PULL] KVM fixes and selftests for 5.10-rc4

From: Paolo Bonzini
Date: Mon Nov 09 2020 - 14:47:55 EST


Linus,

The following changes since commit 9478dec3b5e79a1431e2e2b911e32e52a11c6320:

KVM: vmx: remove unused variable (2020-10-31 11:38:43 -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 6d6a18fdde8b86b919b740ad629153de432d12a8:

KVM: selftests: allow two iterations of dirty_log_perf_test (2020-11-09 09:45:17 -0500)

----------------------------------------------------------------
ARM:
- Fix compilation error when PMD and PUD are folded
- Fix regression in reads-as-zero behaviour of ID_AA64ZFR0_EL1
- Add aarch64 get-reg-list test

x86:
- fix semantic conflict between two series merged for 5.10
- fix (and test) enforcement of paravirtual cpuid features

Generic:
- various cleanups to memory management selftests
- new selftests testcase for performance of dirty logging

----------------------------------------------------------------

In case the selftests changes are too big, I placed them on top so they
can easily be deferred to 5.11.

Thanks,

Paolo

Aaron Lewis (3):
selftests: kvm: Fix the segment descriptor layout to match the actual layout
selftests: kvm: Clear uc so UCALL_NONE is being properly reported
selftests: kvm: Add exception handling to selftests

Andrew Jones (9):
KVM: arm64: Don't hide ID registers from userspace
KVM: arm64: Consolidate REG_HIDDEN_GUEST/USER
KVM: arm64: Check RAZ visibility in ID register accessors
KVM: arm64: Remove AA64ZFR0_EL1 accessors
KVM: selftests: Add aarch64 get-reg-list test
KVM: selftests: Add blessed SVE registers to get-reg-list
KVM: selftests: Drop pointless vm_create wrapper
KVM: selftests: Make the per vcpu memory size global
KVM: selftests: Make the number of vcpus global

Ben Gardon (5):
KVM: selftests: Factor code out of demand_paging_test
KVM: selftests: Remove address rounding in guest code
KVM: selftests: Simplify demand_paging_test with timespec_diff_now
KVM: selftests: Add wrfract to common guest code
KVM: selftests: Introduce the dirty log perf test

Gavin Shan (1):
KVM: arm64: Fix build error in user_mem_abort()

Li RongQing (1):
KVM: x86/mmu: fix counting of rmap entries in pte_list_add

Maxim Levitsky (1):
KVM: x86: use positive error values for msr emulation that causes #GP

Oliver Upton (4):
kvm: x86: reads of restricted pv msrs should also result in #GP
kvm: x86: ensure pv_cpuid.features is initialized when enabling cap
kvm: x86: request masterclock update any time guest uses different msr
selftests: kvm: test enforcement of paravirtual cpuid features

Pankaj Gupta (1):
KVM: x86: handle MSR_IA32_DEBUGCTLMSR with report_ignored_msrs

Paolo Bonzini (2):
Merge tag 'kvmarm-fixes-5.10-2' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD
KVM: selftests: allow two iterations of dirty_log_perf_test

Peter Xu (4):
KVM: Documentation: Update entry for KVM_X86_SET_MSR_FILTER
KVM: Documentation: Update entry for KVM_CAP_ENFORCE_PV_CPUID
KVM: selftests: Always clear dirty bitmap after iteration
KVM: selftests: Use a single binary for dirty/clear log test

Documentation/virt/kvm/api.rst | 5 +-
arch/arm64/kvm/mmu.c | 2 +
arch/arm64/kvm/sys_regs.c | 108 +--
arch/arm64/kvm/sys_regs.h | 16 +-
arch/x86/kvm/cpuid.c | 23 +-
arch/x86/kvm/cpuid.h | 1 +
arch/x86/kvm/mmu/mmu.c | 12 +-
arch/x86/kvm/x86.c | 72 +-
arch/x86/kvm/x86.h | 8 +-
tools/testing/selftests/kvm/.gitignore | 4 +
tools/testing/selftests/kvm/Makefile | 25 +-
.../selftests/kvm/aarch64/get-reg-list-sve.c | 3 +
tools/testing/selftests/kvm/aarch64/get-reg-list.c | 841 +++++++++++++++++++++
tools/testing/selftests/kvm/clear_dirty_log_test.c | 6 -
tools/testing/selftests/kvm/demand_paging_test.c | 269 ++-----
tools/testing/selftests/kvm/dirty_log_perf_test.c | 376 +++++++++
tools/testing/selftests/kvm/dirty_log_test.c | 191 ++++-
tools/testing/selftests/kvm/include/kvm_util.h | 7 +-
.../testing/selftests/kvm/include/perf_test_util.h | 198 +++++
tools/testing/selftests/kvm/include/test_util.h | 2 +
.../selftests/kvm/include/x86_64/processor.h | 38 +-
.../testing/selftests/kvm/lib/aarch64/processor.c | 4 +
tools/testing/selftests/kvm/lib/aarch64/ucall.c | 3 +
tools/testing/selftests/kvm/lib/kvm_util.c | 67 +-
.../testing/selftests/kvm/lib/kvm_util_internal.h | 2 +
tools/testing/selftests/kvm/lib/s390x/processor.c | 4 +
tools/testing/selftests/kvm/lib/s390x/ucall.c | 3 +
tools/testing/selftests/kvm/lib/test_util.c | 22 +-
tools/testing/selftests/kvm/lib/x86_64/handlers.S | 81 ++
tools/testing/selftests/kvm/lib/x86_64/processor.c | 146 +++-
tools/testing/selftests/kvm/lib/x86_64/ucall.c | 3 +
tools/testing/selftests/kvm/x86_64/kvm_pv_test.c | 234 ++++++
32 files changed, 2383 insertions(+), 393 deletions(-)
create mode 100644 tools/testing/selftests/kvm/aarch64/get-reg-list-sve.c
create mode 100644 tools/testing/selftests/kvm/aarch64/get-reg-list.c
delete mode 100644 tools/testing/selftests/kvm/clear_dirty_log_test.c
create mode 100644 tools/testing/selftests/kvm/dirty_log_perf_test.c
create mode 100644 tools/testing/selftests/kvm/include/perf_test_util.h
create mode 100644 tools/testing/selftests/kvm/lib/x86_64/handlers.S
create mode 100644 tools/testing/selftests/kvm/x86_64/kvm_pv_test.c