Revision 14ce26e7 target-i386/translate-copy.c

b/target-i386/translate-copy.c
57 57
    int override; /* -1 if no override */
58 58
    int prefix;
59 59
    int aflag, dflag;
60
    uint8_t *pc; /* pc = eip + cs_base */
60
    target_ulong pc; /* pc = eip + cs_base */
61 61
    int is_jmp; /* 1 = means jump (stop translation), 2 means CPU
62 62
                   static state change (stop translation) */
63 63
    /* code output */
......
65 65
    uint8_t *gen_code_start;
66 66
    
67 67
    /* current block context */
68
    uint8_t *cs_base; /* base of CS segment */
68
    target_ulong cs_base; /* base of CS segment */
69 69
    int pe;     /* protected mode */
70 70
    int code32; /* 32 bit code segment */
71 71
    int f_st;   /* currently unused */
......
277 277
   be stopped.  */
278 278
static int disas_insn(DisasContext *s)
279 279
{
280
    uint8_t *pc_start, *pc_tmp, *pc_start_insn;
280
    target_ulong pc_start, pc_tmp, pc_start_insn;
281 281
    int b, prefixes, aflag, dflag, next_eip, val;
282 282
    int ot;
283 283
    int modrm, mod, op, rm;
......
789 789
                break;
790 790
            case 0x1e: /* fcomi */
791 791
                break;
792
            case 0x28: /* ffree sti */
793
                break;
792 794
            case 0x2a: /* fst sti */
793 795
                break;
794 796
            case 0x2b: /* fstp sti */
......
1176 1178
                                                 uint8_t *tc_ptr)
1177 1179
{
1178 1180
    DisasContext dc1, *dc = &dc1;
1179
    uint8_t *pc_insn, *pc_start, *gen_code_end;
1181
    target_ulong pc_insn, pc_start, cs_base;
1182
    uint8_t *gen_code_end;
1180 1183
    int flags, ret;
1181
    uint8_t *cs_base;
1182 1184

  
1183 1185
    if (env->nb_breakpoints > 0 ||
1184 1186
        env->singlestep_enabled)
......
1197 1199
    dc->gen_code_start = gen_code_ptr;
1198 1200

  
1199 1201
    /* generate intermediate code */
1200
    pc_start = (uint8_t *)tb->pc;
1201
    cs_base = (uint8_t *)tb->cs_base;
1202
    pc_start = tb->pc;
1203
    cs_base = tb->cs_base;
1202 1204
    dc->pc = pc_start;
1203 1205
    dc->cs_base = cs_base;
1204 1206
    dc->pe = (flags >> HF_PE_SHIFT) & 1;
......
1249 1251
        fprintf(logfile, "IN: COPY: %s fpu=%d\n", 
1250 1252
                lookup_symbol(pc_start),
1251 1253
                tb->cflags & CF_TB_FP_USED ? 1 : 0);
1252
	disas(logfile, pc_start, dc->pc - pc_start, 0, !dc->code32);
1254
	target_disas(logfile, pc_start, dc->pc - pc_start, !dc->code32);
1253 1255
        fprintf(logfile, "\n");
1254 1256
    }
1255 1257
#endif

Also available in: Unified diff