mbox series

[kvm-unit-tests,v5,0/4] Add additional testing for routing L2 exceptions

Message ID 20220125203127.1161838-1-aaronlewis@google.com (mailing list archive)
Headers show
Series Add additional testing for routing L2 exceptions | expand

Message

Aaron Lewis Jan. 25, 2022, 8:31 p.m. UTC
In a previous series testing was added to verify that when a #PF occured
in L2 the exception was routed to the correct place.  In this series
other exceptions are tested (ie: #GP, #UD, #DE, #DB, #BP, #AC).

v4 -> v5:
 - Removed vmx_exception_test from being able to be run on its own.
   It can only be run as a part of vmx now.
 - Removed vmx_exception_test from vmx in unittests.cfg.  Having
   it in that list filters the test from running.  With it removed
   it now runs as a part of vmx.
 - Split the commit for test_override_guest()
   and test_set_guest_finished() into two commits.
 - Fixed up vmx_l2_ac_test() and usermode_callback() based on feedback.

v3 -> v4:
 - Add vmx_exception_test to vmx.

v2 -> v3:
 - Commits 1 and 2 from v2 were accepted upstream (bug fixes).
 - Moved exception_mnemonic() into a separate commit.
 - Moved support for running a nested guest multiple times in
   one test into a separate commit.
 - Moved the test framework into the same commit as the test itself.
 - Simplified the test framework and test code based on Sean's
   recommendations.

v1 -> v2:
 - Add guest_stack_top and guest_syscall_stack_top for aligning L2's
   stacks.
 - Refactor test to make it more extensible (ie: Added
   vmx_exception_tests array and framework around it).
 - Split test into 2 commits:
   1. Test infrustructure.
   2. Test cases.

Aaron Lewis (4):
  x86: Make exception_mnemonic() visible to the tests
  x86: Add support for running a nested guest multiple times in one test
  x86: Add a helper to allow tests to signal completion without a
    vmcall()
  x86: Add test coverage for nested_vmx_reflect_vmexit() testing

 lib/x86/desc.c  |   2 +-
 lib/x86/desc.h  |   1 +
 x86/vmx.c       |  24 ++++++++-
 x86/vmx.h       |   2 +
 x86/vmx_tests.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 156 insertions(+), 3 deletions(-)