aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-01-20 09:00:35 -0500
committerAvi Kivity <avi@redhat.com>2011-05-11 07:56:58 -0400
commit1d6b114f20d06ac0749686e4d7b7c7913d9116db (patch)
tree2be22fb5ba4fb76a73120776488a6e7ee4ba5bdc /arch/x86/kvm/emulate.c
parentcef4dea07f6720b36cc93e18a2e68be4bdb71a92 (diff)
KVM: x86 emulator: do not munge rep prefix
Currently we store a rep prefix as 1 or 2 depending on whether it is a REPE or REPNE. Since sse instructions depend on the prefix value, store it as the original opcode to simplify things further on. Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r--arch/x86/kvm/emulate.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 0ad47b819a8..075bb6fc73a 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -2692,10 +2692,8 @@ x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len)
2692 c->lock_prefix = 1; 2692 c->lock_prefix = 1;
2693 break; 2693 break;
2694 case 0xf2: /* REPNE/REPNZ */ 2694 case 0xf2: /* REPNE/REPNZ */
2695 c->rep_prefix = REPNE_PREFIX;
2696 break;
2697 case 0xf3: /* REP/REPE/REPZ */ 2695 case 0xf3: /* REP/REPE/REPZ */
2698 c->rep_prefix = REPE_PREFIX; 2696 c->rep_prefix = c->b;
2699 break; 2697 break;
2700 default: 2698 default:
2701 goto done_prefixes; 2699 goto done_prefixes;