diff options
author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2024-02-27 14:43:17 +0000 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-02-28 09:09:55 +0000 |
commit | ee59fa1dd57bac8ba8c81e02f2710ba08d1aa49d (patch) | |
tree | a7587e20ee6589a1cb0e1e3e0f670f725e81431c /hw/core | |
parent | 66260159a72ecd6c384197ba3d6e6f660ca5b482 (diff) | |
download | qemu-ee59fa1dd57bac8ba8c81e02f2710ba08d1aa49d.zip qemu-ee59fa1dd57bac8ba8c81e02f2710ba08d1aa49d.tar.gz qemu-ee59fa1dd57bac8ba8c81e02f2710ba08d1aa49d.tar.bz2 |
gdbstub: Simplify XML lookup
Now we know all instances of GDBFeature that is used in CPU so we can
traverse them to find XML. This removes the need for a CPU-specific
lookup function for dynamic XMLs.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231213-gdb-v17-7-777047380591@daynix.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240227144335.1196131-12-alex.bennee@linaro.org>
Diffstat (limited to 'hw/core')
-rw-r--r-- | hw/core/cpu-common.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c index 67db077..fe16d0d 100644 --- a/hw/core/cpu-common.c +++ b/hw/core/cpu-common.c @@ -27,6 +27,7 @@ #include "qemu/main-loop.h" #include "exec/log.h" #include "exec/cpu-common.h" +#include "exec/gdbstub.h" #include "qemu/error-report.h" #include "qemu/qemu-print.h" #include "sysemu/tcg.h" @@ -240,11 +241,10 @@ static void cpu_common_unrealizefn(DeviceState *dev) static void cpu_common_initfn(Object *obj) { CPUState *cpu = CPU(obj); - CPUClass *cc = CPU_GET_CLASS(obj); + gdb_init_cpu(cpu); cpu->cpu_index = UNASSIGNED_CPU_INDEX; cpu->cluster_index = UNASSIGNED_CLUSTER_INDEX; - cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs; /* user-mode doesn't have configurable SMP topology */ /* the default value is changed by qemu_init_vcpu() for system-mode */ cpu->nr_cores = 1; @@ -264,6 +264,7 @@ static void cpu_common_finalize(Object *obj) { CPUState *cpu = CPU(obj); + g_array_free(cpu->gdb_regs, TRUE); qemu_lockcnt_destroy(&cpu->in_ioctl_lock); qemu_mutex_destroy(&cpu->work_mutex); } |