mbox series

[kvm-unit-tests,0/8] nVMX: Clean up __enter_guest() and co.

Message ID 20200312232745.884-1-sean.j.christopherson@intel.com (mailing list archive)
Headers show
Series nVMX: Clean up __enter_guest() and co. | expand

Message

Sean Christopherson March 12, 2020, 11:27 p.m. UTC
Start chipping away at the crustiness in the nVMX tests by refactoring
"struct vmentry_failure" into "struct vmentry_result", with the full
VM-Exit stored in vmentry_result.  Capturing the exit reason allows for a
variety of cleanups and consolidations.

This series really only dives into the v1 tests.  I'd like to also clean
up the v2 tests, e.g. take the expected exit reason in enter_guest() so
that the expected behavior is more obvious, but that's a more invasive
cleanup for another day.

Sean Christopherson (8):
  nVMX: Eliminate superfluous entry_failure_handler() wrapper
  nVMX: Refactor VM-Entry "failure" struct into "result"
  nVMX: Consolidate non-canonical code in test_canonical()
  nVMX: Drop redundant check for guest termination
  nVMX: Expose __enter_guest() and consolidate guest state test code
  nVMX: Pass exit reason union to v1 exit handlers
  nVMX: Pass exit reason union to is_hypercall()
  nVMX: Pass exit reason enum to print_vmexit_info()

 x86/vmx.c       | 191 +++++++++++--------------
 x86/vmx.h       |  50 +++++--
 x86/vmx_tests.c | 366 +++++++++++++++++++-----------------------------
 3 files changed, 263 insertions(+), 344 deletions(-)

Comments

Paolo Bonzini March 14, 2020, 10:35 a.m. UTC | #1
On 13/03/20 00:27, Sean Christopherson wrote:
> Start chipping away at the crustiness in the nVMX tests by refactoring
> "struct vmentry_failure" into "struct vmentry_result", with the full
> VM-Exit stored in vmentry_result.  Capturing the exit reason allows for a
> variety of cleanups and consolidations.
> 
> This series really only dives into the v1 tests.  I'd like to also clean
> up the v2 tests, e.g. take the expected exit reason in enter_guest() so
> that the expected behavior is more obvious, but that's a more invasive
> cleanup for another day.
> 
> Sean Christopherson (8):
>   nVMX: Eliminate superfluous entry_failure_handler() wrapper
>   nVMX: Refactor VM-Entry "failure" struct into "result"
>   nVMX: Consolidate non-canonical code in test_canonical()
>   nVMX: Drop redundant check for guest termination
>   nVMX: Expose __enter_guest() and consolidate guest state test code
>   nVMX: Pass exit reason union to v1 exit handlers
>   nVMX: Pass exit reason union to is_hypercall()
>   nVMX: Pass exit reason enum to print_vmexit_info()
> 
>  x86/vmx.c       | 191 +++++++++++--------------
>  x86/vmx.h       |  50 +++++--
>  x86/vmx_tests.c | 366 +++++++++++++++++++-----------------------------
>  3 files changed, 263 insertions(+), 344 deletions(-)
> 

Queued, thanks.

Paolo