summary refs log tree commit diff stats
path: root/gdbstub/gdbstub.c
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-02-27 14:43:18 +0000
committerAlex Bennée <alex.bennee@linaro.org>2024-02-28 09:09:58 +0000
commitecd6f6a8820c8fa91e4d96c1bb640913bd856343 (patch)
tree6e19dc3d6d42c39bfd11781ebf69d73225d59702 /gdbstub/gdbstub.c
parentee59fa1dd57bac8ba8c81e02f2710ba08d1aa49d (diff)
downloadfocaccia-qemu-ecd6f6a8820c8fa91e4d96c1bb640913bd856343.tar.gz
focaccia-qemu-ecd6f6a8820c8fa91e4d96c1bb640913bd856343.zip
gdbstub: Infer number of core registers from XML
GDBFeature has the num_regs member so use it where applicable to
remove magic numbers.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20231213-gdb-v17-8-777047380591@daynix.com>
[AJB: remove core reg check from microblaze read reg]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240227144335.1196131-13-alex.bennee@linaro.org>
Diffstat (limited to 'gdbstub/gdbstub.c')
-rw-r--r--gdbstub/gdbstub.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index d573f808d2..f766ee277a 100644
--- a/gdbstub/gdbstub.c
+++ b/gdbstub/gdbstub.c
@@ -546,9 +546,12 @@ void gdb_init_cpu(CPUState *cpu)
         gdb_register_feature(cpu, 0,
                              cc->gdb_read_register, cc->gdb_write_register,
                              feature);
+        cpu->gdb_num_regs = cpu->gdb_num_g_regs = feature->num_regs;
     }
 
-    cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs;
+    if (cc->gdb_num_core_regs) {
+        cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs;
+    }
 }
 
 void gdb_register_coprocessor(CPUState *cpu,