On 07/18/2018 01:26 PM, Sean Christopherson wrote:
KVM relies on hardware to perform the "vTPR < threshold" consistency
check, i.e. the check will occur after KVM has done some amount of
guest state checking in software. As such, KVM will signal a VMExit
consistency check (due to bad guest state) instead of the expected
VMFAIL (due to bad controls).
Cc: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx>
Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
---
x86/vmx_tests.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
index c4803a3..031bf66 100644
--- a/x86/vmx_tests.c
+++ b/x86/vmx_tests.c
@@ -3726,7 +3726,7 @@ static void try_tpr_threshold_and_vtpr(unsigned threshold, unsigned vtpr)
set_vtpr(vtpr);
report_prefix_pushf("TPR threshold 0x%x, VTPR.class 0x%x",
threshold, (vtpr >> 4) & 0xf);
- test_vmx_controls(valid, false);
+ test_vmx_controls(valid, !valid);
report_prefix_pop();
}
The SDM says that vTPR should be greater than or equal to the TPR
threshold. Your patch mentions the other way around.