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: Avi Kivity <avi@redhat.com>
This commit is contained in:
@@ -2120,7 +2120,8 @@ static int vmx_get_cpl(struct kvm_vcpu *vcpu)
|
|||||||
if (!is_protmode(vcpu))
|
if (!is_protmode(vcpu))
|
||||||
return 0;
|
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 3;
|
||||||
|
|
||||||
return vmcs_read16(GUEST_CS_SELECTOR) & 3;
|
return vmcs_read16(GUEST_CS_SELECTOR) & 3;
|
||||||
|
Reference in New Issue
Block a user