target/ppc: remove ppc_cpu_dump_statistics
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.henderson@linaro.org> Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br> Message-Id: <20210526202104.127910-3-bruno.larsen@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
c274358279
commit
4fe011d3c1
|
@ -1256,7 +1256,6 @@ DECLARE_OBJ_CHECKERS(PPCVirtualHypervisor, PPCVirtualHypervisorClass,
|
||||||
void ppc_cpu_do_interrupt(CPUState *cpu);
|
void ppc_cpu_do_interrupt(CPUState *cpu);
|
||||||
bool ppc_cpu_exec_interrupt(CPUState *cpu, int int_req);
|
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_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);
|
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(CPUState *cpu, GByteArray *buf, int reg);
|
||||||
int ppc_cpu_gdb_read_register_apple(CPUState *cpu, GByteArray *buf, int reg);
|
int ppc_cpu_gdb_read_register_apple(CPUState *cpu, GByteArray *buf, int reg);
|
||||||
|
|
|
@ -9307,9 +9307,6 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data)
|
||||||
cc->class_by_name = ppc_cpu_class_by_name;
|
cc->class_by_name = ppc_cpu_class_by_name;
|
||||||
cc->has_work = ppc_cpu_has_work;
|
cc->has_work = ppc_cpu_has_work;
|
||||||
cc->dump_state = ppc_cpu_dump_state;
|
cc->dump_state = ppc_cpu_dump_state;
|
||||||
#ifdef CONFIG_TCG
|
|
||||||
cc->dump_statistics = ppc_cpu_dump_statistics;
|
|
||||||
#endif
|
|
||||||
cc->set_pc = ppc_cpu_set_pc;
|
cc->set_pc = ppc_cpu_set_pc;
|
||||||
cc->gdb_read_register = ppc_cpu_gdb_read_register;
|
cc->gdb_read_register = ppc_cpu_gdb_read_register;
|
||||||
cc->gdb_write_register = ppc_cpu_gdb_write_register;
|
cc->gdb_write_register = ppc_cpu_gdb_write_register;
|
||||||
|
|
|
@ -8881,57 +8881,6 @@ int ppc_fixup_cpu(PowerPCCPU *cpu)
|
||||||
return 0;
|
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)
|
static bool decode_legacy(PowerPCCPU *cpu, DisasContext *ctx, uint32_t insn)
|
||||||
{
|
{
|
||||||
opc_handler_t **table, *handler;
|
opc_handler_t **table, *handler;
|
||||||
|
|
Loading…
Reference in a new issue