Commit dd5d6fe913b458463aecb3abd6dca049e5d5b0c6

Authored by pbrook
1 parent 2e70f6ef

Add missing file. Fix spelling errors.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4800 c046a42c-6fe2-441c-8c8c-71466251a162
gen-icount.h 0 → 100644
  1 +/* Helpewrs for instruction counting code genration. */
  2 +
  3 +static TCGArg *icount_arg;
  4 +static int icount_label;
  5 +
  6 +static inline void gen_icount_start(void)
  7 +{
  8 + TCGv count;
  9 +
  10 + if (!use_icount)
  11 + return;
  12 +
  13 + icount_label = gen_new_label();
  14 + /* FIXME: This generates lousy code. We can't use tcg_new_temp because
  15 + count needs to live over the conditional branch. To workaround this
  16 + we allow the target to supply a convenient register temporary. */
  17 +#ifndef ICOUNT_TEMP
  18 + count = tcg_temp_local_new(TCG_TYPE_I32);
  19 +#else
  20 + count = ICOUNT_TEMP;
  21 +#endif
  22 + tcg_gen_ld_i32(count, cpu_env, offsetof(CPUState, icount_decr.u32));
  23 + /* This is a horrid hack to allow fixing up the value later. */
  24 + icount_arg = gen_opparam_ptr + 1;
  25 + tcg_gen_subi_i32(count, count, 0xdeadbeef);
  26 +
  27 + tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, icount_label);
  28 + tcg_gen_st16_i32(count, cpu_env, offsetof(CPUState, icount_decr.u16.low));
  29 +#ifndef ICOUNT_TEMP
  30 + tcg_temp_free(count);
  31 +#endif
  32 +}
  33 +
  34 +static void gen_icount_end(TranslationBlock *tb, int num_insns)
  35 +{
  36 + if (use_icount) {
  37 + *icount_arg = num_insns;
  38 + gen_set_label(icount_label);
  39 + tcg_gen_exit_tb((long)tb + 2);
  40 + }
  41 +}
  42 +
  43 +static void inline gen_io_start(void)
  44 +{
  45 + TCGv tmp = tcg_const_i32(1);
  46 + tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUState, can_do_io));
  47 + tcg_temp_free(tmp);
  48 +}
  49 +
  50 +static inline void gen_io_end(void)
  51 +{
  52 + TCGv tmp = tcg_const_i32(0);
  53 + tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUState, can_do_io));
  54 + tcg_temp_free(tmp);
  55 +}
  56 +
qemu-doc.texi
@@ -974,7 +974,7 @@ time within a few seconds of real time. @@ -974,7 +974,7 @@ time within a few seconds of real time.
974 974
975 Note that while this option can give deterministic behavior, it does not 975 Note that while this option can give deterministic behavior, it does not
976 provide cycle accurate emulation. Modern CPUs contain superscalar out of 976 provide cycle accurate emulation. Modern CPUs contain superscalar out of
977 -order cores with complex cache heirachies. The number of instructions 977 +order cores with complex cache hierarchies. The number of instructions
978 executed often has little or no correlation with actual performance. 978 executed often has little or no correlation with actual performance.
979 @end table 979 @end table
980 980
target-mips/translate.c
@@ -7862,7 +7862,6 @@ gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb, @@ -7862,7 +7862,6 @@ gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb,
7862 ctx.mem_idx = ctx.hflags & MIPS_HFLAG_KSU; 7862 ctx.mem_idx = ctx.hflags & MIPS_HFLAG_KSU;
7863 #endif 7863 #endif
7864 num_insns = 0; 7864 num_insns = 0;
7865 - num_insns = 0;  
7866 max_insns = tb->cflags & CF_COUNT_MASK; 7865 max_insns = tb->cflags & CF_COUNT_MASK;
7867 if (max_insns == 0) 7866 if (max_insns == 0)
7868 max_insns = CF_COUNT_MASK; 7867 max_insns = CF_COUNT_MASK;
@@ -7446,7 +7446,7 @@ static void help(int exitcode) @@ -7446,7 +7446,7 @@ static void help(int exitcode)
7446 " To see what timers are available use -clock ?\n" 7446 " To see what timers are available use -clock ?\n"
7447 "-startdate select initial date of the clock\n" 7447 "-startdate select initial date of the clock\n"
7448 "-icount [N|auto]\n" 7448 "-icount [N|auto]\n"
7449 - " Enable virtual instruction counter with 2^N clock ticks per instructon\n" 7449 + " Enable virtual instruction counter with 2^N clock ticks per instruction\n"
7450 "\n" 7450 "\n"
7451 "During emulation, the following keys are useful:\n" 7451 "During emulation, the following keys are useful:\n"
7452 "ctrl-alt-f toggle full screen\n" 7452 "ctrl-alt-f toggle full screen\n"