* Guillaume Thouvenin wrote: > Hello, > > CMPS and SCAS instructions accept repeat prefixes F3 and F2. So in > order to emulate those prefixed instructions we need to be able to know > if prefixes are REP/REPE/REPZ or REPNE/REPNZ. Currently kvm doesn't make > this distinction. This patch introduces this distinction. > > Signed-off-by: Guillaume Thouvenin <[EMAIL PROTECTED]> > > --- > > drivers/kvm/x86_emulate.c | 4 +++- > drivers/kvm/x86_emulate.h | 4 ++++ > 2 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c > index bebdcee..f8e7200 100644 > --- a/drivers/kvm/x86_emulate.c > +++ b/drivers/kvm/x86_emulate.c > @@ -824,8 +824,10 @@ x86_decode_insn(struct x86_emulate_ctxt *ctxt, struct > x86_emulate_ops *ops) c->lock_prefix = 1; > break; > case 0xf2: /* REPNE/REPNZ */ > + c->rep_prefix = REPNE_REPNZ; > + break; > case 0xf3: /* REP/REPE/REPZ */ > - c->rep_prefix = 1; > + c->rep_prefix = REP_REPE_REPZ; > break; > default: > goto done_prefixes; > diff --git a/drivers/kvm/x86_emulate.h b/drivers/kvm/x86_emulate.h > index 31aa3e1..5ce4c0c 100644 > --- a/drivers/kvm/x86_emulate.h > +++ b/drivers/kvm/x86_emulate.h > @@ -161,6 +161,10 @@ struct x86_emulate_ctxt { > struct decode_cache decode; > }; > > +/* Repeat String Operation Prefix */ > +#define REP_REPE_REPZ 1 > +#define REPNE_REPNZ 2
Can you just rename this to REP and REPNE? Does this fix the problems you saw with openbsd? ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel