On Wed, May 08, 2019 at 03:27:15AM -0700, Nadav Amit wrote: > From: Nadav Amit <nadav.amit@xxxxxxxxx> > > Intel SDM 26.6.5 says regarding interrupt-window exiting that: "These > events wake the logical processor if it just entered the HLT state > because of a VM entry." A similar statement is told about NMI-window > exiting. > > However, running tests which are similar to verify_nmi_window_exit() and > verify_intr_window_exit() on bare-metal suggests that real CPUs do not > wake up. Until someone figures what the correct behavior is, just reset > the activity state to "active" after each test to prevent the whole > test-suite from getting stuck. > > Cc: Jim Mattson <jmattson@xxxxxxxxxx> > Cc: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > Signed-off-by: Nadav Amit <nadav.amit@xxxxxxxxx> > --- > x86/vmx_tests.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c > index f921286..2d6b12d 100644 > --- a/x86/vmx_tests.c > +++ b/x86/vmx_tests.c > @@ -7063,6 +7063,7 @@ static void verify_nmi_window_exit(u64 rip) > report("Activity state (%ld) is 'ACTIVE'", > vmcs_read(GUEST_ACTV_STATE) == ACTV_ACTIVE, > vmcs_read(GUEST_ACTV_STATE)); > + vmcs_write(GUEST_ACTV_STATE, ACTV_ACTIVE); Don't you need to remove (or modify) the above report() as well to avoid failing the current test? > } > > static void vmx_nmi_window_test(void) > @@ -7199,6 +7200,7 @@ static void verify_intr_window_exit(u64 rip) > report("Activity state (%ld) is 'ACTIVE'", > vmcs_read(GUEST_ACTV_STATE) == ACTV_ACTIVE, > vmcs_read(GUEST_ACTV_STATE)); > + vmcs_write(GUEST_ACTV_STATE, ACTV_ACTIVE); > } > > static void vmx_intr_window_test(void) > -- > 2.17.1 >