[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/42] target/ppc: remove ppc_cpu_dump_statistics
From: |
David Gibson |
Subject: |
[PULL 16/42] target/ppc: remove ppc_cpu_dump_statistics |
Date: |
Thu, 3 Jun 2021 18:22:05 +1000 |
From: "Bruno Larsen (billionai)" <bruno.larsen@eldorado.org.br>
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>
---
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 27e4661dce..b0934d9be4 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 067feeaec0..74a397ad6c 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -9307,9 +9307,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
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 ea200f9637..b494bd8b9c 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;
--
2.31.1
- [PULL 09/42] target/ppc: fold ppc_store_ptcr into it's only caller, (continued)
- [PULL 09/42] target/ppc: fold ppc_store_ptcr into it's only caller, David Gibson, 2021/06/03
- [PULL 13/42] target/ppc: added ifdefs around TCG-only code, David Gibson, 2021/06/03
- [PULL 18/42] monitor: removed cpustats command, David Gibson, 2021/06/03
- [PULL 21/42] HMP: added info cpustats to removed_features.rst, David Gibson, 2021/06/03
- [PULL 17/42] target/ppc: removed mentions to DO_PPC_STATISTICS, David Gibson, 2021/06/03
- [PULL 20/42] hw/core/cpu: removed cpu_dump_statistics function, David Gibson, 2021/06/03
- [PULL 24/42] target/ppc: overhauled and moved logic of storing fpscr, David Gibson, 2021/06/03
- [PULL 23/42] target/ppc: removed all mentions to PPC_DUMP_CPU, David Gibson, 2021/06/03
- [PULL 22/42] target/ppc: removed GEN_OPCODE decision tree, David Gibson, 2021/06/03
- [PULL 15/42] target/ppc: updated meson.build to support disable-tcg, David Gibson, 2021/06/03
- [PULL 16/42] target/ppc: remove ppc_cpu_dump_statistics,
David Gibson <=
- [PULL 31/42] target/ppc: Move ADDI, ADDIS to decodetree, implement PADDI, David Gibson, 2021/06/03
- [PULL 19/42] ppc/pef.c: initialize cgs->ready in kvmppc_svm_init(), David Gibson, 2021/06/03
- [PULL 25/42] target/ppc: powerpc_excp: Move lpes code to where it is used, David Gibson, 2021/06/03
- [PULL 32/42] target/ppc: Implement PNOP, David Gibson, 2021/06/03
- [PULL 36/42] target/ppc: Implement prefixed integer store instructions, David Gibson, 2021/06/03
- [PULL 28/42] target/ppc: Introduce macros to check isa extensions, David Gibson, 2021/06/03
- [PULL 26/42] target/ppc: powerpc_excp: Remove dump_syscall_vectored, David Gibson, 2021/06/03
- [PULL 27/42] target/ppc: powerpc_excp: Consolidade TLB miss code, David Gibson, 2021/06/03
- [PULL 30/42] target/ppc: Add infrastructure for prefixed insns, David Gibson, 2021/06/03
- [PULL 29/42] target/ppc: Move page crossing check to ppc_tr_translate_insn, David Gibson, 2021/06/03