Commit f4c63e5d authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: VMX: Optimize vmx_get_cpl()



In long mode, vm86 mode is disallowed, so we need not check for
it.  Reading rflags.vm may require a VMREAD, so it is expensive.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 6de12732
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2120,7 +2120,8 @@ static int vmx_get_cpl(struct kvm_vcpu *vcpu)
	if (!is_protmode(vcpu))
		return 0;

	if (kvm_get_rflags(vcpu) & X86_EFLAGS_VM) /* if virtual 8086 */
	if (!is_long_mode(vcpu)
	    && (kvm_get_rflags(vcpu) & X86_EFLAGS_VM)) /* if virtual 8086 */
		return 3;

	return vmcs_read16(GUEST_CS_SELECTOR) & 3;