KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH
authorSean Christopherson <seanjc@google.com>
Wed, 14 Feb 2024 02:22:40 +0000 (18:22 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Tue, 20 Feb 2024 00:31:54 +0000 (16:31 -0800)
commit706a189dcf74d3b3f955e9384785e726ed6c7c80
tree3216353deb6ac96cf3e11c8c6313d79c40d73f0f
parent6613d82e617dd7eb8b0c40b2fe3acea655b1d611
KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH

Use EFLAGS.CF instead of EFLAGS.ZF to track whether to use VMRESUME versus
VMLAUNCH.  Freeing up EFLAGS.ZF will allow doing VERW, which clobbers ZF,
for MDS mitigations as late as possible without needing to duplicate VERW
for both paths.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Link: https://lore.kernel.org/all/20240213-delay-verw-v8-5-a6216d83edb7%40linux.intel.com
arch/x86/kvm/vmx/run_flags.h
arch/x86/kvm/vmx/vmenter.S