summaryrefslogtreecommitdiffstats
path: root/drivers/kvm
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-10-16 19:06:15 +0200
committerAvi Kivity <avi@qumranet.com>2007-10-22 12:03:29 +0200
commit78f7826868da8e27d097802139a3fec39f47f3b8 (patch)
tree97f46c95556f261388f5f0475f649df803bfa7e2 /drivers/kvm
parenta012e65aee48379a7a87eadafa74f878b61522b9 (diff)
downloadop-kernel-dev-78f7826868da8e27d097802139a3fec39f47f3b8.zip
op-kernel-dev-78f7826868da8e27d097802139a3fec39f47f3b8.tar.gz
KVM: VMX: Force vm86 mode if setting flags during real mode
When resetting from userspace, we need to handle the flags being cleared even after we are in real mode. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm')
-rw-r--r--drivers/kvm/vmx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index f130c01..bb56ae3 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -523,6 +523,8 @@ static unsigned long vmx_get_rflags(struct kvm_vcpu *vcpu)
static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags)
{
+ if (vcpu->rmode.active)
+ rflags |= IOPL_MASK | X86_EFLAGS_VM;
vmcs_writel(GUEST_RFLAGS, rflags);
}
OpenPOWER on IntegriCloud