diff options
Diffstat (limited to 'target-sh4')
-rw-r--r-- | target-sh4/cpu-qom.h | 2 | ||||
-rw-r--r-- | target-sh4/cpu.c | 1 | ||||
-rw-r--r-- | target-sh4/translate.c | 7 |
3 files changed, 7 insertions, 3 deletions
diff --git a/target-sh4/cpu-qom.h b/target-sh4/cpu-qom.h index f8c80d3..01d1637 100644 --- a/target-sh4/cpu-qom.h +++ b/target-sh4/cpu-qom.h @@ -84,5 +84,7 @@ static inline SuperHCPU *sh_env_get_cpu(CPUSH4State *env) #define ENV_OFFSET offsetof(SuperHCPU, env) void superh_cpu_do_interrupt(CPUState *cpu); +void superh_cpu_dump_state(CPUState *cpu, FILE *f, + fprintf_function cpu_fprintf, int flags); #endif diff --git a/target-sh4/cpu.c b/target-sh4/cpu.c index 898aecd..a7d5213 100644 --- a/target-sh4/cpu.c +++ b/target-sh4/cpu.c @@ -274,6 +274,7 @@ static void superh_cpu_class_init(ObjectClass *oc, void *data) cc->class_by_name = superh_cpu_class_by_name; cc->do_interrupt = superh_cpu_do_interrupt; + cc->dump_state = superh_cpu_dump_state; dc->vmsd = &vmstate_sh_cpu; } diff --git a/target-sh4/translate.c b/target-sh4/translate.c index 14fdb8f..292c9e9 100644 --- a/target-sh4/translate.c +++ b/target-sh4/translate.c @@ -150,10 +150,11 @@ void sh4_translate_init(void) done_init = 1; } -void cpu_dump_state(CPUSH4State * env, FILE * f, - int (*cpu_fprintf) (FILE * f, const char *fmt, ...), - int flags) +void superh_cpu_dump_state(CPUState *cs, FILE *f, + fprintf_function cpu_fprintf, int flags) { + SuperHCPU *cpu = SUPERH_CPU(cs); + CPUSH4State *env = &cpu->env; int i; cpu_fprintf(f, "pc=0x%08x sr=0x%08x pr=0x%08x fpscr=0x%08x\n", env->pc, env->sr, env->pr, env->fpscr); |