[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 08/24] target/ppc: Use GDBFeature for dynamic XML
From: |
Akihiko Odaki |
Subject: |
[PATCH v2 08/24] target/ppc: Use GDBFeature for dynamic XML |
Date: |
Wed, 2 Aug 2023 17:45:56 +0900 |
In preparation for a change to use GDBFeature as a parameter of
gdb_register_coprocessor(), convert the internal representation of
dynamic feature from plain XML to GDBFeature.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/ppc/cpu-qom.h | 3 +--
target/ppc/cpu.h | 2 +-
target/ppc/cpu_init.c | 2 +-
target/ppc/gdbstub.c | 13 +++++++------
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/ppc/cpu-qom.h b/target/ppc/cpu-qom.h
index be33786bd8..633fb402b5 100644
--- a/target/ppc/cpu-qom.h
+++ b/target/ppc/cpu-qom.h
@@ -186,8 +186,7 @@ struct PowerPCCPUClass {
int bfd_mach;
uint32_t l1_dcache_size, l1_icache_size;
#ifndef CONFIG_USER_ONLY
- unsigned int gdb_num_sprs;
- const char *gdb_spr_xml;
+ GDBFeature gdb_spr;
#endif
const PPCHash64Options *hash64_opts;
struct ppc_radix_page_info *radix_page_info;
diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index 25fac9577a..5f251bdffe 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -1381,7 +1381,7 @@ int ppc_cpu_gdb_write_register(CPUState *cpu, uint8_t
*buf, int reg);
int ppc_cpu_gdb_write_register_apple(CPUState *cpu, uint8_t *buf, int reg);
#ifndef CONFIG_USER_ONLY
hwaddr ppc_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
-void ppc_gdb_gen_spr_xml(PowerPCCPU *cpu);
+void ppc_gdb_gen_spr_feature(PowerPCCPU *cpu);
const char *ppc_gdb_get_dynamic_xml(CPUState *cs, const char *xml_name);
#endif
int ppc64_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index eb56226865..938cd2b7e1 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6673,7 +6673,7 @@ static void init_ppc_proc(PowerPCCPU *cpu)
(*pcc->init_proc)(env);
#if !defined(CONFIG_USER_ONLY)
- ppc_gdb_gen_spr_xml(cpu);
+ ppc_gdb_gen_spr_feature(cpu);
#endif
/* MSR bits & flags consistency checks */
diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
index ca39efdc35..adc647a24e 100644
--- a/target/ppc/gdbstub.c
+++ b/target/ppc/gdbstub.c
@@ -318,7 +318,7 @@ int ppc_cpu_gdb_write_register_apple(CPUState *cs, uint8_t
*mem_buf, int n)
}
#ifndef CONFIG_USER_ONLY
-void ppc_gdb_gen_spr_xml(PowerPCCPU *cpu)
+void ppc_gdb_gen_spr_feature(PowerPCCPU *cpu)
{
PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu);
CPUPPCState *env = &cpu->env;
@@ -346,7 +346,7 @@ void ppc_gdb_gen_spr_xml(PowerPCCPU *cpu)
num_regs++;
}
- if (pcc->gdb_spr_xml) {
+ if (pcc->gdb_spr.xml) {
return;
}
@@ -371,8 +371,9 @@ void ppc_gdb_gen_spr_xml(PowerPCCPU *cpu)
g_string_append(xml, "</feature>");
- pcc->gdb_num_sprs = num_regs;
- pcc->gdb_spr_xml = g_string_free(xml, false);
+ pcc->gdb_spr.num_regs = num_regs;
+ pcc->gdb_spr.xmlname = "power-spr.xml";
+ pcc->gdb_spr.xml = g_string_free(xml, false);
}
const char *ppc_gdb_get_dynamic_xml(CPUState *cs, const char *xml_name)
@@ -380,7 +381,7 @@ const char *ppc_gdb_get_dynamic_xml(CPUState *cs, const
char *xml_name)
PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cs);
if (strcmp(xml_name, "power-spr.xml") == 0) {
- return pcc->gdb_spr_xml;
+ return pcc->gdb_spr.xml;
}
return NULL;
}
@@ -618,6 +619,6 @@ void ppc_gdb_init(CPUState *cs, PowerPCCPUClass *pcc)
}
#ifndef CONFIG_USER_ONLY
gdb_register_coprocessor(cs, gdb_get_spr_reg, gdb_set_spr_reg,
- pcc->gdb_num_sprs, "power-spr.xml", 0);
+ pcc->gdb_spr.num_regs, "power-spr.xml", 0);
#endif
}
--
2.41.0
- [PATCH v2 00/24] plugins: Allow to read registers, Akihiko Odaki, 2023/08/02
- [PATCH v2 01/24] contrib/plugins: Use GRWLock in execlog, Akihiko Odaki, 2023/08/02
- [PATCH v2 02/24] gdbstub: Introduce GDBFeature structure, Akihiko Odaki, 2023/08/02
- [PATCH v2 03/24] gdbstub: Add num_regs member to GDBFeature, Akihiko Odaki, 2023/08/02
- [PATCH v2 04/24] gdbstub: Introduce gdb_find_static_feature(), Akihiko Odaki, 2023/08/02
- [PATCH v2 05/24] target/arm: Move the reference to arm-core.xml, Akihiko Odaki, 2023/08/02
- [PATCH v2 06/24] hw/core/cpu: Replace gdb_core_xml_file with gdb_core_feature, Akihiko Odaki, 2023/08/02
- [PATCH v2 07/24] target/arm: Use GDBFeature for dynamic XML, Akihiko Odaki, 2023/08/02
- [PATCH v2 08/24] target/ppc: Use GDBFeature for dynamic XML,
Akihiko Odaki <=
- [PATCH v2 09/24] target/riscv: Use GDBFeature for dynamic XML, Akihiko Odaki, 2023/08/02
- [PATCH v2 10/24] gdbstub: Use GDBFeature for gdb_register_coprocessor, Akihiko Odaki, 2023/08/02
- [PATCH v2 11/24] gdbstub: Use GDBFeature for GDBRegisterState, Akihiko Odaki, 2023/08/02
- [PATCH v2 12/24] gdbstub: Simplify XML lookup, Akihiko Odaki, 2023/08/02
- [PATCH v2 13/24] hw/core/cpu: Remove gdb_get_dynamic_xml member, Akihiko Odaki, 2023/08/02
- [PATCH v2 14/24] gdbstub: Add members to identify registers to GDBFeature, Akihiko Odaki, 2023/08/02
- [PATCH v2 15/24] target/arm: Fill new members of GDBFeature, Akihiko Odaki, 2023/08/02
- [PATCH v2 16/24] target/ppc: Fill new members of GDBFeature, Akihiko Odaki, 2023/08/02
- [PATCH v2 17/24] target/riscv: Fill new members of GDBFeature, Akihiko Odaki, 2023/08/02
- [PATCH v2 18/24] hw/core/cpu: Add a parameter to gdb_read_register/gdb_write_register, Akihiko Odaki, 2023/08/02