Revision f41c52f1 target-mips/op_helper.c

b/target-mips/op_helper.c
329 329

  
330 330
void do_mtc0_status_debug(uint32_t old, uint32_t val)
331 331
{
332
    const uint32_t mask = 0x0000FF00;
333
    fprintf(logfile, "Status %08x => %08x Cause %08x (%08x %08x %08x)\n",
334
            old, val, env->CP0_Cause, old & mask, val & mask,
335
            env->CP0_Cause & mask);
332
    fprintf(logfile, "Status %08x (%08x) => %08x (%08x) Cause %08x",
333
            old, old & env->CP0_Cause & CP0Ca_IP_mask,
334
            val, val & env->CP0_Cause & CP0Ca_IP_mask,
335
            env->CP0_Cause);
336
    (env->hflags & MIPS_HFLAG_UM) ? fputs(", UM\n", logfile)
337
                                  : fputs("\n", logfile);
336 338
}
337 339

  
338 340
void do_mtc0_status_irqraise_debug(void)
......
508 510
    }
509 511
}
510 512

  
511
void debug_eret (void)
513
void debug_pre_eret (void)
512 514
{
513
    if (loglevel) {
514
        fprintf(logfile, "ERET: pc " TARGET_FMT_lx " EPC " TARGET_FMT_lx,
515
                env->PC, env->CP0_EPC);
516
        if (env->CP0_Status & (1 << CP0St_ERL))
517
            fprintf(logfile, " ErrorEPC " TARGET_FMT_lx, env->CP0_ErrorEPC);
515
    fprintf(logfile, "ERET: PC " TARGET_FMT_lx " EPC " TARGET_FMT_lx,
516
            env->PC, env->CP0_EPC);
517
    if (env->CP0_Status & (1 << CP0St_ERL))
518
        fprintf(logfile, " ErrorEPC " TARGET_FMT_lx, env->CP0_ErrorEPC);
519
    if (env->hflags & MIPS_HFLAG_DM)
520
        fprintf(logfile, " DEPC " TARGET_FMT_lx, env->CP0_DEPC);
521
    fputs("\n", logfile);
522
}
523

  
524
void debug_post_eret (void)
525
{
526
    fprintf(logfile, "  =>   PC " TARGET_FMT_lx " EPC " TARGET_FMT_lx,
527
            env->PC, env->CP0_EPC);
528
    if (env->CP0_Status & (1 << CP0St_ERL))
529
        fprintf(logfile, " ErrorEPC " TARGET_FMT_lx, env->CP0_ErrorEPC);
530
    if (env->hflags & MIPS_HFLAG_DM)
531
        fprintf(logfile, " DEPC " TARGET_FMT_lx, env->CP0_DEPC);
532
    if (env->hflags & MIPS_HFLAG_UM)
533
        fputs(", UM\n", logfile);
534
    else
518 535
        fputs("\n", logfile);
519
    }
520 536
}
521 537

  
522 538
void do_pmon (int function)

Also available in: Unified diff