* 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel