On Sat, Mar 30, 2024, Muhammad Usama Anjum wrote: > On 2/7/24 10:26 PM, Xin Li wrote: > > Add tests for FRED event data and VMX nested-exception. > > > > FRED is designed to save a complete event context in its stack frame, > > e.g., FRED saves the faulting linear address of a #PF into a 64-bit > > event data field defined in FRED stack frame. As such, FRED VMX adds > > event data handling during VMX transitions. > > > > Besides, FRED introduces event stack levels to dispatch an event handler > > onto a stack baesd on current stack level and stack levels defined in > > IA32_FRED_STKLVLS MSR for each exception vector. VMX nested-exception > > support ensures a correct event stack level is chosen when a VM entry > > injects a nested exception, which is regarded as occurred in ring 0. > > > > To fully test the underlying FRED VMX code, this test should be run one > > more round with EPT disabled to inject page faults as nested exceptions. > > > > Originally-by: Shan Kang <shan.kang@xxxxxxxxx> > > Signed-off-by: Xin Li <xin3.li@xxxxxxxxx> > Thank you for the new test patch. We have been trying to ensure TAP > conformance for tests which cannot be achieved if new tests aren't using > TAP already. Who is "we"? > Please make your test TAP compliant. This isn't entirely reasonable feedback. I'm all for getting KVM selftests TAP-friendly, but the current reality is that the KVM selftests infrastructure doesn't make it easy to be TAP compliant. We're working on improving things, i.e. I do hope/want to get to a state where it's a hard requirement for KVM selftests to be TAP compliant, but we aren't there yet. If you have specific feedback on _how_ to make a test TAP compliant, then by all means provide that feedback. But a drive-by "make your test TAP compliant" isn't super helpful. > > --- > > tools/testing/selftests/kvm/Makefile | 1 + > > .../selftests/kvm/include/x86_64/processor.h | 32 ++ > > .../testing/selftests/kvm/x86_64/fred_test.c | 297 ++++++++++++++++++ > Add generated binary object to .gitignore. This should be unnecessary (though I haven't actually verified by building), as KVM selftests ignore most everything by default since commit 43e96957e8b8 ("KVM: selftests: Use pattern matching in .gitignore").