On Thu, May 09, 2019 at 02:29:45PM -0700, Nadav Amit wrote: > > On May 9, 2019, at 1:32 PM, Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > > > > 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? > > Thanks for checking it (in your second email). > > So should I remove this test completely for v2? Or do you have any different > test you want to run? I'd say just remove the activity state check. KVM is technically broken, and is unlikely to be fixed any time soon. I don't see much value in adding more code to the test just to highlight that KVM doesn't strictly adhere to the SDM for activity state transitions.