diff -uNr xen-unstable.hg-orig/xen/arch/x86/x86_emulate/x86_emulate.c xen-unstable.hg-fixcmp/xen/arch/x86/x86_emulate/x86_emulate.c --- xen-unstable.hg-orig/xen/arch/x86/x86_emulate/x86_emulate.c 2008-07-04 11:18:19.000000000 +0100 +++ xen-unstable.hg-fixcmp/xen/arch/x86/x86_emulate/x86_emulate.c 2008-07-25 11:57:38.853365200 +0100 @@ -1606,6 +1606,7 @@ dst.val = _regs.eax; case 0x38 ... 0x3b: cmp: /* cmp */ emulate_2op_SrcV("cmp", src, dst, _regs.eflags); + dst.type = OP_NONE; break; case 0x62: /* bound */ { @@ -1707,6 +1708,7 @@ dst.val = _regs.eax; case 0x84 ... 0x85: test: /* test */ emulate_2op_SrcV("test", src, dst, _regs.eflags); + dst.type = OP_NONE; break; case 0x86 ... 0x87: xchg: /* xchg */