From 878096eeb278a8ac1ccd6667af73e026f29b4cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 27 May 2013 01:33:50 +0200 Subject: cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make cpustats monitor command available unconditionally. Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec() arguments to CPUState. Signed-off-by: Andreas Färber --- target-sh4/cpu-qom.h | 2 ++ target-sh4/cpu.c | 1 + target-sh4/translate.c | 7 ++++--- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'target-sh4') 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); -- cgit v1.1