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>
        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;