[PATCH v4 0/3] selftests: KVM: AMD Nested SVM test infrastructure

From: Eric Auger
Date: Thu Feb 06 2020 - 05:47:29 EST


Add the basic infrastructure needed to test AMD nested SVM.
Also add a first basic vmcall test.

Best regards

Eric

This series can be found at:
https://github.com/eauger/linux/tree/v5.5-amd-svm-v4

History:
v3 -> v4:
- gpr64_regs struct just contains 64b mode GPRs ordered
as in x86_register
- cleanup in run_guest (vm* instructions) and reduce
clubber list.
- add some comments

v2 -> v3:
- Took into account Vitaly's comment:
- added "selftests: KVM: Replace get_gdt/idt_base() by
get_gdt/idt()"
- svm.h now is a copy of arch/x86/include/asm/svm.h
- avoid duplicates

v1 -> v2:
- split into 2 patches
- remove the infrastructure to run low-level sub-tests and only
keep vmmcall's one.
- move struct regs into processor.h
- force vmcb_gpa into rax in run_guest()

Eric Auger (3):
selftests: KVM: Replace get_gdt/idt_base() by get_gdt/idt()
selftests: KVM: AMD Nested test infrastructure
selftests: KVM: SVM: Add vmcall test

tools/testing/selftests/kvm/Makefile | 3 +-
.../selftests/kvm/include/x86_64/processor.h | 28 +-
.../selftests/kvm/include/x86_64/svm.h | 297 ++++++++++++++++++
.../selftests/kvm/include/x86_64/svm_util.h | 38 +++
tools/testing/selftests/kvm/lib/x86_64/svm.c | 161 ++++++++++
tools/testing/selftests/kvm/lib/x86_64/vmx.c | 6 +-
.../selftests/kvm/x86_64/svm_vmcall_test.c | 79 +++++
7 files changed, 604 insertions(+), 8 deletions(-)
create mode 100644 tools/testing/selftests/kvm/include/x86_64/svm.h
create mode 100644 tools/testing/selftests/kvm/include/x86_64/svm_util.h
create mode 100644 tools/testing/selftests/kvm/lib/x86_64/svm.c
create mode 100644 tools/testing/selftests/kvm/x86_64/svm_vmcall_test.c

--
2.20.1