On Thu, May 27, 2021 at 11:20:01AM +1000, David Gibson wrote: > On Wed, May 26, 2021 at 05:21:01PM -0300, Bruno Larsen (billionai) wrote: > > This function requires surce code modification to be useful, which means > > it probably is not used often, and the move to using decodetree means > > the statistics won't even be collected anymore. > > > > Also removed setting dump_statistics in ppc_cpu_realize, since it was > > only useful when in conjunction with ppc_cpu_dump_statistics. > > > > Suggested-by: Richard Henderson<richard.hender...@linaro.org> > > Signed-off-by: Bruno Larsen (billionai) <bruno.lar...@eldorado.org.br> > > --- > > target/ppc/cpu.h | 1 - > > target/ppc/cpu_init.c | 3 --- > > target/ppc/translate.c | 51 ------------------------------------------ > > 3 files changed, 55 deletions(-) > > > > diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h > > index 203f07e48e..c3d1b492e4 100644 > > --- a/target/ppc/cpu.h > > +++ b/target/ppc/cpu.h > > @@ -1256,7 +1256,6 @@ DECLARE_OBJ_CHECKERS(PPCVirtualHypervisor, > > PPCVirtualHypervisorClass, > > void ppc_cpu_do_interrupt(CPUState *cpu); > > bool ppc_cpu_exec_interrupt(CPUState *cpu, int int_req); > > void ppc_cpu_dump_state(CPUState *cpu, FILE *f, int flags); > > -void ppc_cpu_dump_statistics(CPUState *cpu, int flags); > > hwaddr ppc_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); > > int ppc_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg); > > int ppc_cpu_gdb_read_register_apple(CPUState *cpu, GByteArray *buf, int > > reg); > > diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c > > index f5ae2f150d..bd05f53fa4 100644 > > --- a/target/ppc/cpu_init.c > > +++ b/target/ppc/cpu_init.c > > @@ -9250,9 +9250,6 @@ static void ppc_cpu_class_init(ObjectClass *oc, void > > *data) > > cc->class_by_name = ppc_cpu_class_by_name; > > cc->has_work = ppc_cpu_has_work; > > cc->dump_state = ppc_cpu_dump_state; > > -#ifdef CONFIG_TCG > > - cc->dump_statistics = ppc_cpu_dump_statistics; > > -#endif > > This confuses me. The ifdefs you're removing aren't present in my > tree, and AFAICT they never existed since your own patch created > cpu_init.c. > > So.. please rebase and check that.
Duh, sorry, I looked at this set out of order with your latest !tcg patches. Now that I've applied those, I've applied those one as well. > > > cc->set_pc = ppc_cpu_set_pc; > > cc->gdb_read_register = ppc_cpu_gdb_read_register; > > cc->gdb_write_register = ppc_cpu_gdb_write_register; > > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > > index 6c0f424d81..fc9fd790ca 100644 > > --- a/target/ppc/translate.c > > +++ b/target/ppc/translate.c > > @@ -8881,57 +8881,6 @@ int ppc_fixup_cpu(PowerPCCPU *cpu) > > return 0; > > } > > > > - > > -void ppc_cpu_dump_statistics(CPUState *cs, int flags) > > -{ > > -#if defined(DO_PPC_STATISTICS) > > - PowerPCCPU *cpu = POWERPC_CPU(cs); > > - opc_handler_t **t1, **t2, **t3, *handler; > > - int op1, op2, op3; > > - > > - t1 = cpu->env.opcodes; > > - for (op1 = 0; op1 < 64; op1++) { > > - handler = t1[op1]; > > - if (is_indirect_opcode(handler)) { > > - t2 = ind_table(handler); > > - for (op2 = 0; op2 < 32; op2++) { > > - handler = t2[op2]; > > - if (is_indirect_opcode(handler)) { > > - t3 = ind_table(handler); > > - for (op3 = 0; op3 < 32; op3++) { > > - handler = t3[op3]; > > - if (handler->count == 0) { > > - continue; > > - } > > - qemu_printf("%02x %02x %02x (%02x %04d) %16s: " > > - "%016" PRIx64 " %" PRId64 "\n", > > - op1, op2, op3, op1, (op3 << 5) | op2, > > - handler->oname, > > - handler->count, handler->count); > > - } > > - } else { > > - if (handler->count == 0) { > > - continue; > > - } > > - qemu_printf("%02x %02x (%02x %04d) %16s: " > > - "%016" PRIx64 " %" PRId64 "\n", > > - op1, op2, op1, op2, handler->oname, > > - handler->count, handler->count); > > - } > > - } > > - } else { > > - if (handler->count == 0) { > > - continue; > > - } > > - qemu_printf("%02x (%02x ) %16s: %016" PRIx64 > > - " %" PRId64 "\n", > > - op1, op1, handler->oname, > > - handler->count, handler->count); > > - } > > - } > > -#endif > > -} > > - > > static bool decode_legacy(PowerPCCPU *cpu, DisasContext *ctx, uint32_t > > insn) > > { > > opc_handler_t **table, *handler; > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature