]> Pileus Git - ~andy/linux/blobdiff - arch/x86/kvm/vmx.c
KVM: Rename x86_emulate.c to emulate.c
[~andy/linux] / arch / x86 / kvm / vmx.c
index 31c3a8740c4204bfd6852d34525872e9d3570761..2b7e7bd190fd5a072ad9500c707726294d128a76 100644 (file)
@@ -781,7 +781,12 @@ static void vmx_fpu_deactivate(struct kvm_vcpu *vcpu)
 
 static unsigned long vmx_get_rflags(struct kvm_vcpu *vcpu)
 {
-       return vmcs_readl(GUEST_RFLAGS);
+       unsigned long rflags;
+
+       rflags = vmcs_readl(GUEST_RFLAGS);
+       if (to_vmx(vcpu)->rmode.vm86_active)
+               rflags &= ~(unsigned long)(X86_EFLAGS_IOPL | X86_EFLAGS_VM);
+       return rflags;
 }
 
 static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags)