This patchset adds additional testing to the series ("Allow user space to restrict and augment MSR emulation") by Alexander Graf <graf@xxxxxxxxxx>, and supliments the selftest in that series. This patchset introduces exception handling into the kvm selftest framework which is then used in the test to be able to handle #GPs that are injected into the guest from userspace. The test focuses on two main areas: 1) It tests the MSR filter API. 2) It tests MSR permission bitmaps. v1 -> v2: - Use exception_handlers instead of gs base to pass table to the guest. - Move unexpected vector assert to processor.c. Aaron Lewis (4): 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 selftests: kvm: Test MSR exiting to userspace tools/testing/selftests/kvm/.gitignore | 1 + tools/testing/selftests/kvm/Makefile | 20 +- .../selftests/kvm/include/x86_64/processor.h | 27 +- .../testing/selftests/kvm/lib/aarch64/ucall.c | 3 + tools/testing/selftests/kvm/lib/kvm_util.c | 7 + .../selftests/kvm/lib/kvm_util_internal.h | 2 + tools/testing/selftests/kvm/lib/s390x/ucall.c | 3 + .../selftests/kvm/lib/x86_64/handlers.S | 81 +++ .../selftests/kvm/lib/x86_64/processor.c | 117 +++- .../testing/selftests/kvm/lib/x86_64/ucall.c | 3 + .../kvm/x86_64/userspace_msr_exit_test.c | 547 ++++++++++++++++++ 11 files changed, 800 insertions(+), 11 deletions(-) create mode 100644 tools/testing/selftests/kvm/lib/x86_64/handlers.S create mode 100644 tools/testing/selftests/kvm/x86_64/userspace_msr_exit_test.c -- 2.28.0.1011.ga647a8990f-goog