On Sat, Dec 22, 2012 at 02:26:53PM +0200, Avi Kivity wrote: > Instead of disabling writeback via OP_NONE, just specify NoWrite. > > Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> > --- > arch/x86/kvm/emulate.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c > index 9859df6..9dfbd07 100644 > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -150,6 +150,7 @@ > #define Unaligned ((u64)1 << 42) /* Explicitly unaligned (e.g. MOVDQU) */ > #define Avx ((u64)1 << 43) /* Advanced Vector Extensions */ > #define Fastop ((u64)1 << 44) /* Use opcode::u.fastop */ > +#define NoWrite ((u64)1 << 45) /* No writeback */ > > #define X2(x...) x, x > #define X3(x...) X2(x), x > @@ -1584,6 +1585,9 @@ static int writeback(struct x86_emulate_ctxt *ctxt) > { > int rc; > > + if (ctxt->d & NoWrite) > + return X86EMUL_CONTINUE; > + Why not make it Dst flag and set dst.type to OP_NONE during decoding instead of this special case? > switch (ctxt->dst.type) { > case OP_REG: > write_register_operand(&ctxt->dst); > -- > 1.7.11.7 -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html