From 5e7155d963a58d6fd7da2003929cf25a837c0991 Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Mon, 15 Mar 2010 16:38:29 +0200 Subject: [PATCH] --- yaml --- r: 197671 b: refs/heads/master c: c73e197bc525e67b71578126b679446f5b88b508 h: refs/heads/master i: 197669: 1f13e7e66f89693dcb0479f578f2259360214b4f 197667: e647dd26ae8eab613ce40ace51e4ad604c674a78 197663: 43bb52c5bd1030e01c2ad6b66e976dfefa11fc99 v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/emulate.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 31ffa4ff6601..b2b16840a353 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6d367d6783e38634377bc66b62bff3ffd717e5f +refs/heads/master: c73e197bc525e67b71578126b679446f5b88b508 diff --git a/trunk/arch/x86/kvm/emulate.c b/trunk/arch/x86/kvm/emulate.c index 0b70a364f0f4..4dce80560d26 100644 --- a/trunk/arch/x86/kvm/emulate.c +++ b/trunk/arch/x86/kvm/emulate.c @@ -1852,7 +1852,7 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) if (c->rep_prefix && (c->d & String)) { /* All REP prefixes have the same first termination condition */ - if (c->regs[VCPU_REGS_RCX] == 0) { + if (address_mask(c, c->regs[VCPU_REGS_RCX]) == 0) { kvm_rip_write(ctxt->vcpu, c->eip); goto done; } @@ -1876,7 +1876,7 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) goto done; } } - c->regs[VCPU_REGS_RCX]--; + register_address_increment(c, &c->regs[VCPU_REGS_RCX], -1); c->eip = kvm_rip_read(ctxt->vcpu); }