KVM: x86 emulator: fix debug reg mov instructions
More fallout from the writeback fixes: debug register transfer instructions do their own writeback and thus need to disable the general writeback mechanism. This fixes oopses and some guest failures on AMD machines (the Intel variant decodes the instruction in hardware and thus does not need emulation). Cc: Alistair John Strachan <alistair@devzero.co.uk> Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9e865f58da
commit
bac27d35cb
|
@ -1217,11 +1217,13 @@ x86_emulate_memop(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops)
|
|||
}
|
||||
break;
|
||||
case 0x21: /* mov from dr to reg */
|
||||
no_wb = 1;
|
||||
if (modrm_mod != 3)
|
||||
goto cannot_emulate;
|
||||
rc = emulator_get_dr(ctxt, modrm_reg, &_regs[modrm_rm]);
|
||||
break;
|
||||
case 0x23: /* mov from reg to dr */
|
||||
no_wb = 1;
|
||||
if (modrm_mod != 3)
|
||||
goto cannot_emulate;
|
||||
rc = emulator_set_dr(ctxt, modrm_reg, _regs[modrm_rm]);
|
||||
|
|
Loading…
Reference in New Issue
Block a user