aboutsummaryrefslogtreecommitdiff
path: root/target/tricore/cpu.c
diff options
context:
space:
mode:
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>2020-05-29 09:21:48 +0200
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>2020-06-01 16:55:13 +0200
commitd127de3baa64d1cabc8e1994e658688abb577ba9 (patch)
treebb47d9ffa47e5b8c050dc9fc2e8d16562bdb3b92 /target/tricore/cpu.c
parente00a56dbc3c278c36855fd0b72adc72c8bcf0cf5 (diff)
target/tricore: Implement gdbstub
Acked-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Message-Id: <20200529072148.284037-6-kbastian@mail.uni-paderborn.de>
Diffstat (limited to 'target/tricore/cpu.c')
-rw-r--r--target/tricore/cpu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c
index c8c1e9e7d5..2f2e5b029f 100644
--- a/target/tricore/cpu.c
+++ b/target/tricore/cpu.c
@@ -28,6 +28,11 @@ static inline void set_feature(CPUTriCoreState *env, int feature)
env->features |= 1ULL << feature;
}
+static gchar *tricore_gdb_arch_name(CPUState *cs)
+{
+ return g_strdup("tricore");
+}
+
static void tricore_cpu_set_pc(CPUState *cs, vaddr value)
{
TriCoreCPU *cpu = TRICORE_CPU(cs);
@@ -150,6 +155,11 @@ static void tricore_cpu_class_init(ObjectClass *c, void *data)
cc->class_by_name = tricore_cpu_class_by_name;
cc->has_work = tricore_cpu_has_work;
+ cc->gdb_read_register = tricore_cpu_gdb_read_register;
+ cc->gdb_write_register = tricore_cpu_gdb_write_register;
+ cc->gdb_num_core_regs = 44;
+ cc->gdb_arch_name = tricore_gdb_arch_name;
+
cc->dump_state = tricore_cpu_dump_state;
cc->set_pc = tricore_cpu_set_pc;
cc->synchronize_from_tb = tricore_cpu_synchronize_from_tb;