Commit efade670fe2c97c820cff17bb9d7817b8607c5fb
1 parent
bf20dc07
Fix rdtsc instruction counting.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4810 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
6 additions
and
0 deletions
target-i386/translate.c
... | ... | @@ -6382,7 +6382,13 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
6382 | 6382 | if (s->cc_op != CC_OP_DYNAMIC) |
6383 | 6383 | gen_op_set_cc_op(s->cc_op); |
6384 | 6384 | gen_jmp_im(pc_start - s->cs_base); |
6385 | + if (use_icount) | |
6386 | + gen_io_start(); | |
6385 | 6387 | tcg_gen_helper_0_0(helper_rdtsc); |
6388 | + if (use_icount) { | |
6389 | + gen_io_end(); | |
6390 | + gen_jmp(s, s->pc - s->cs_base); | |
6391 | + } | |
6386 | 6392 | break; |
6387 | 6393 | case 0x133: /* rdpmc */ |
6388 | 6394 | if (s->cc_op != CC_OP_DYNAMIC) | ... | ... |