Patch# 1: Replaces hard-coded value with instruction length read from VMCS field. Patch# 2: Adds an extra check to __enter_guest() so that it can distinguish between VM-entry failure due to invalid guest state and that due to invalid VM-entry MSR-load area. Patch# 3: Verifies that when VM-entry fails due to invalid VM-entry MSR-load area in vmcs12, the error is deferred and caught by hardware when it is done processing higher priority checks such as guest state etc. This patch also verifies that when VM-entry fails due to invalid VM-entry MSR-load area in vmcs12, MSRs that were loaded from that MSR-load area are rolled back to their original values. Patch# 4: Replaces hard-coded value with corresponding #define. [PATCH 1/4] kvm-unit-test: VMX: Replace hard-coded exit instruction length [PATCH 2/4] kvm-unit-test: nVMX: __enter_guest() needs to also check for [PATCH 3/4] kvm-unit-test: nVMX: Test deferring of error from VM-entry MSR-load area [PATCH 4/4] kvm-unit-test: nVMX: Use #defines for exit reason in x86/vmx.c | 3 +- x86/vmx_tests.c | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 136 insertions(+), 6 deletions(-) Krish Sadhukhan (4): VMX: Replace hard-coded exit instruction length VMX: __enter_guest() needs to also check for VMX_FAIL_STATE nVMX: Test deferring of error from VM-entry MSR-load area nVMX: Use #defines for exit reason in advance_guest_state_test()