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