![]() | |||||||||||||
Messages in this thread Patch in this message |
From: Yaniv Kamay <yaniv@qumranet.com> Decoding of the mov cr instructions was wrong. Signed-off-by: Yaniv Kamay <yaniv@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com> Index: linux-2.6/drivers/kvm/x86_emulate.c =================================================================== --- linux-2.6.orig/drivers/kvm/x86_emulate.c +++ linux-2.6/drivers/kvm/x86_emulate.c @@ -1268,13 +1268,13 @@ twobyte_special_insn: b = insn_fetch(u8, 1, _eip); if ((b & 0xc0) != 0xc0) goto cannot_emulate; - _regs[(b >> 3) & 7] = realmode_get_cr(ctxt->vcpu, b & 7); + _regs[b & 7] = realmode_get_cr(ctxt->vcpu, (b >> 3) & 7); break; case 0x22: /* mov reg, cr */ b = insn_fetch(u8, 1, _eip); if ((b & 0xc0) != 0xc0) goto cannot_emulate; - realmode_set_cr(ctxt->vcpu, b & 7, _regs[(b >> 3) & 7] & -1u, + realmode_set_cr(ctxt->vcpu, (b >> 3) & 7, _regs[b & 7] & -1u, &_eflags); break; case 0xc7: /* Grp9 (cmpxchg8b) */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-11-20 10:33 [W:0.025 / U:0.080 seconds] ©2003-2008 Jasper Spaans | |||||||||||||