On 9/14/21 4:19 PM, Daniel P. Berrangé wrote: > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> > --- > target/cris/cpu.c | 2 +- > target/cris/cpu.h | 2 +- > target/cris/translate.c | 33 +++++++++++++++++---------------- > 3 files changed, 19 insertions(+), 18 deletions(-) > > diff --git a/target/cris/cpu.c b/target/cris/cpu.c > index 70932b1f8c..5159cf6528 100644 > --- a/target/cris/cpu.c > +++ b/target/cris/cpu.c > @@ -295,7 +295,7 @@ static void cris_cpu_class_init(ObjectClass *oc, void > *data) > > cc->class_by_name = cris_cpu_class_by_name; > cc->has_work = cris_cpu_has_work; > - cc->dump_state = cris_cpu_dump_state; > + cc->format_state = cris_cpu_format_state; > cc->set_pc = cris_cpu_set_pc; > cc->gdb_read_register = cris_cpu_gdb_read_register; > cc->gdb_write_register = cris_cpu_gdb_write_register; > diff --git a/target/cris/cpu.h b/target/cris/cpu.h > index d3b6492909..908cb051da 100644 > --- a/target/cris/cpu.h > +++ b/target/cris/cpu.h > @@ -191,7 +191,7 @@ void cris_cpu_do_interrupt(CPUState *cpu); > void crisv10_cpu_do_interrupt(CPUState *cpu); > bool cris_cpu_exec_interrupt(CPUState *cpu, int int_req); > > -void cris_cpu_dump_state(CPUState *cs, FILE *f, int flags); > +void cris_cpu_format_state(CPUState *cs, GString *buf, int flags); > > hwaddr cris_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); > > diff --git a/target/cris/translate.c b/target/cris/translate.c > index a84b753349..6098693186 100644 > --- a/target/cris/translate.c > +++ b/target/cris/translate.c > @@ -3307,7 +3307,7 @@ void gen_intermediate_code(CPUState *cs, > TranslationBlock *tb, int max_insns) > translator_loop(&cris_tr_ops, &dc.base, cs, tb, max_insns); > } > > -void cris_cpu_dump_state(CPUState *cs, FILE *f, int flags) > +void cris_cpu_format_state(CPUState *cs, GString *buf, int flags) > { > CRISCPU *cpu = CRIS_CPU(cs); > CPUCRISState *env = &cpu->env; > @@ -3326,40 +3326,41 @@ void cris_cpu_dump_state(CPUState *cs, FILE *f, int > flags) > regnames = regnames_v32; > } > > - qemu_fprintf(f, "PC=%x CCS=%x btaken=%d btarget=%x\n" > - "cc_op=%d cc_src=%d cc_dest=%d cc_result=%x cc_mask=%x\n", > - env->pc, env->pregs[PR_CCS], env->btaken, env->btarget, > - env->cc_op, > - env->cc_src, env->cc_dest, env->cc_result, env->cc_mask); > + g_string_append_printf(buf, "PC=%x CCS=%x btaken=%d btarget=%x\n" > + "cc_op=%d cc_src=%d cc_dest=%d cc_result=%x " > + "cc_mask=%x\n", > + env->pc, env->pregs[PR_CCS], env->btaken, > + env->btarget, env->cc_op, env->cc_src, > + env->cc_dest, env->cc_result, env->cc_mask); > > > for (i = 0; i < 16; i++) { > - qemu_fprintf(f, "%s=%8.8x ", regnames[i], env->regs[i]); > + g_string_append_printf(buf, "%s=%8.8x ", regnames[i], env->regs[i]); > if ((i + 1) % 4 == 0) { > - qemu_fprintf(f, "\n"); > + g_string_append_printf(buf, "\n");
g_string_append_c() (various). > } > } > - qemu_fprintf(f, "\nspecial regs:\n"); > + g_string_append_printf(buf, "\nspecial regs:\n"); > for (i = 0; i < 16; i++) { > - qemu_fprintf(f, "%s=%8.8x ", pregnames[i], env->pregs[i]); > + g_string_append_printf(buf, "%s=%8.8x ", pregnames[i], > env->pregs[i]); > if ((i + 1) % 4 == 0) { > - qemu_fprintf(f, "\n"); > + g_string_append_printf(buf, "\n"); > } > } > if (env->pregs[PR_VR] >= 32) { > uint32_t srs = env->pregs[PR_SRS]; > - qemu_fprintf(f, "\nsupport function regs bank %x:\n", srs); > + g_string_append_printf(buf, "\nsupport function regs bank %x:\n", > srs); > if (srs < ARRAY_SIZE(env->sregs)) { > for (i = 0; i < 16; i++) { > - qemu_fprintf(f, "s%2.2d=%8.8x ", > - i, env->sregs[srs][i]); > + g_string_append_printf(buf, "s%2.2d=%8.8x ", > + i, env->sregs[srs][i]); > if ((i + 1) % 4 == 0) { > - qemu_fprintf(f, "\n"); > + g_string_append_printf(buf, "\n"); > } > } > } > } > - qemu_fprintf(f, "\n\n"); > + g_string_append_printf(buf, "\n\n"); > > } > >