Patchwork [RFC,qom-cpu,07/41] target-unicore32: Implement CPUClass::set_pc()

login
register
mail settings
Submitter Andreas Färber
Date June 29, 2013, 8:01 p.m.
Message ID <1372536117-28167-8-git-send-email-afaerber@suse.de>
Download mbox | patch
Permalink /patch/255757/
State New
Headers show

Comments

Andreas Färber - June 29, 2013, 8:01 p.m.
This adds support for GDB's c addr (Continue) and s addr (Single Step).

Prepares for dropping cpu_pc_from_tb().

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 target-unicore32/cpu.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Patch

diff --git a/target-unicore32/cpu.c b/target-unicore32/cpu.c
index 6572f01..2e99bd3 100644
--- a/target-unicore32/cpu.c
+++ b/target-unicore32/cpu.c
@@ -16,6 +16,13 @@ 
 #include "qemu-common.h"
 #include "migration/vmstate.h"
 
+static void uc32_cpu_set_pc(CPUState *cs, uint64_t value)
+{
+    UniCore32CPU *cpu = UNICORE32_CPU(cs);
+
+    cpu->env.regs[31] = value;
+}
+
 static inline void set_feature(CPUUniCore32State *env, int feature)
 {
     env->features |= feature;
@@ -131,6 +138,7 @@  static void uc32_cpu_class_init(ObjectClass *oc, void *data)
     cc->class_by_name = uc32_cpu_class_by_name;
     cc->do_interrupt = uc32_cpu_do_interrupt;
     cc->dump_state = uc32_cpu_dump_state;
+    cc->set_pc = uc32_cpu_set_pc;
     dc->vmsd = &vmstate_uc32_cpu;
 }