This patch series combines the work Michael Roth has done in supporting SEV guests in selftests and the work Sean Christopherson suggested to allow ucalls from SEV guests. And the work Sean has sent to consolidate the ucall boilerplate code. Along with a very simple version of the SEV selftests Michael originally proposed. Michael Roth (7): KVM: selftests: move vm_phy_pages_alloc() earlier in file KVM: selftests: sparsebit: add const where appropriate KVM: selftests: add hooks for managing encrypted guest memory KVM: selftests: handle encryption bits in page tables KVM: selftests: add support for encrypted vm_vaddr_* allocations KVM: selftests: add library for creating/interacting with SEV guests KVM: selftests: Add simple sev vm testing Sean Christopherson (1): KVM: selftests: Consolidate boilerplate code in get_ucall() Peter Gonda (2): tools: Add atomic_test_and_set_bit() KVM: selftests: Make ucall work with encrypted guests tools/arch/x86/include/asm/atomic.h | 7 + tools/testing/selftests/kvm/.gitignore | 1 + tools/testing/selftests/kvm/Makefile | 4 + .../selftests/kvm/include/kvm_util_base.h | 50 +++- .../testing/selftests/kvm/include/sparsebit.h | 36 +-- .../selftests/kvm/include/ucall_common.h | 15 +- .../selftests/kvm/include/x86_64/sev.h | 44 +++ .../testing/selftests/kvm/lib/aarch64/ucall.c | 36 +-- tools/testing/selftests/kvm/lib/kvm_util.c | 268 +++++++++++++----- .../selftests/kvm/lib/perf_test_util.c | 2 +- tools/testing/selftests/kvm/lib/riscv/ucall.c | 40 +-- tools/testing/selftests/kvm/lib/s390x/ucall.c | 37 +-- tools/testing/selftests/kvm/lib/sparsebit.c | 48 ++-- .../testing/selftests/kvm/lib/ucall_common.c | 140 +++++++++ .../selftests/kvm/lib/x86_64/processor.c | 15 +- tools/testing/selftests/kvm/lib/x86_64/sev.c | 251 ++++++++++++++++ .../testing/selftests/kvm/lib/x86_64/ucall.c | 37 +-- .../selftests/kvm/x86_64/sev_all_boot_test.c | 134 +++++++++ 18 files changed, 903 insertions(+), 262 deletions(-) create mode 100644 tools/testing/selftests/kvm/include/x86_64/sev.h create mode 100644 tools/testing/selftests/kvm/lib/ucall_common.c create mode 100644 tools/testing/selftests/kvm/lib/x86_64/sev.c create mode 100644 tools/testing/selftests/kvm/x86_64/sev_all_boot_test.c -- 2.37.0.170.g444d1eabd0-goog