Message ID | 20230816145155.21049-6-akihiko.odaki@daynix.com |
---|---|
State | New |
Headers | show |
Series | plugins: Allow to read registers | expand |
On 8/16/23 07:51, Akihiko Odaki wrote: > Some subclasses overwrite gdb_core_xml_file member but others don't. > Always initialize the member in the subclasses for consistency. > > This especially helps for AArch64; in a following change, the file > specified by gdb_core_xml_file is always looked up even if it's going to > be overwritten later. Looking up arm-core.xml results in an error as > it will not be embedded in the AArch64 build. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > target/arm/cpu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/target/arm/cpu.c b/target/arm/cpu.c > index 93c28d50e5..d71a162070 100644 > --- a/target/arm/cpu.c > +++ b/target/arm/cpu.c > @@ -2354,7 +2354,6 @@ static void arm_cpu_class_init(ObjectClass *oc, void *data) > cc->sysemu_ops = &arm_sysemu_ops; > #endif > cc->gdb_num_core_regs = 26; > - cc->gdb_core_xml_file = "arm-core.xml"; > cc->gdb_arch_name = arm_gdb_arch_name; > cc->gdb_get_dynamic_xml = arm_gdb_get_dynamic_xml; > cc->gdb_stop_before_watchpoint = true; > @@ -2376,8 +2375,10 @@ static void arm_cpu_instance_init(Object *obj) > static void cpu_register_class_init(ObjectClass *oc, void *data) > { > ARMCPUClass *acc = ARM_CPU_CLASS(oc); > + CPUClass *cc = CPU_CLASS(acc); > > acc->info = data; > + cc->gdb_core_xml_file = "arm-core.xml"; > } > > void arm_cpu_register(const ARMCPUInfo *info) I guess this is ok. I was going to say that the gdb_num_core_regs should be moved too (into here and into the m-profile copy). But that gets fixed in the next patch. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 93c28d50e5..d71a162070 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2354,7 +2354,6 @@ static void arm_cpu_class_init(ObjectClass *oc, void *data) cc->sysemu_ops = &arm_sysemu_ops; #endif cc->gdb_num_core_regs = 26; - cc->gdb_core_xml_file = "arm-core.xml"; cc->gdb_arch_name = arm_gdb_arch_name; cc->gdb_get_dynamic_xml = arm_gdb_get_dynamic_xml; cc->gdb_stop_before_watchpoint = true; @@ -2376,8 +2375,10 @@ static void arm_cpu_instance_init(Object *obj) static void cpu_register_class_init(ObjectClass *oc, void *data) { ARMCPUClass *acc = ARM_CPU_CLASS(oc); + CPUClass *cc = CPU_CLASS(acc); acc->info = data; + cc->gdb_core_xml_file = "arm-core.xml"; } void arm_cpu_register(const ARMCPUInfo *info)
Some subclasses overwrite gdb_core_xml_file member but others don't. Always initialize the member in the subclasses for consistency. This especially helps for AArch64; in a following change, the file specified by gdb_core_xml_file is always looked up even if it's going to be overwritten later. Looking up arm-core.xml results in an error as it will not be embedded in the AArch64 build. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- target/arm/cpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)