2007-12-18 21:46:25

by Roland McGrath

[permalink] [raw]
Subject: [PATCH x86/mm] kvm IOPL_MASK cleanup

IOPL_MASK went away and kvm/vmx.c doesn't compile.

Signed-off-by: Roland McGrath <[email protected]>
---
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index bb56ae3..0000000 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -524,7 +524,7 @@ static unsigned long vmx_get_rflags(stru
static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags)
{
if (vcpu->rmode.active)
- rflags |= IOPL_MASK | X86_EFLAGS_VM;
+ rflags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM;
vmcs_writel(GUEST_RFLAGS, rflags);
}

@@ -1050,7 +1050,7 @@ static void enter_pmode(struct kvm_vcpu
vmcs_write32(GUEST_TR_AR_BYTES, vcpu->rmode.tr.ar);

flags = vmcs_readl(GUEST_RFLAGS);
- flags &= ~(IOPL_MASK | X86_EFLAGS_VM);
+ flags &= ~(X86_EFLAGS_IOPL | X86_EFLAGS_VM);
flags |= (vcpu->rmode.save_iopl << IOPL_SHIFT);
vmcs_writel(GUEST_RFLAGS, flags);

@@ -1107,9 +1107,9 @@ static void enter_rmode(struct kvm_vcpu
vmcs_write32(GUEST_TR_AR_BYTES, 0x008b);

flags = vmcs_readl(GUEST_RFLAGS);
- vcpu->rmode.save_iopl = (flags & IOPL_MASK) >> IOPL_SHIFT;
+ vcpu->rmode.save_iopl = (flags & X86_EFLAGS_IOPL) >> IOPL_SHIFT;

- flags |= IOPL_MASK | X86_EFLAGS_VM;
+ flags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM;

vmcs_writel(GUEST_RFLAGS, flags);
vmcs_writel(GUEST_CR4, vmcs_readl(GUEST_CR4) | X86_CR4_VME);


2007-12-18 21:57:55

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH x86/mm] kvm IOPL_MASK cleanup


* Roland McGrath <[email protected]> wrote:

> IOPL_MASK went away and kvm/vmx.c doesn't compile.

thanks, applied.

Ingo