[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qom-cpu v2 41/42] target-cris: Factor out CPUClass::
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH qom-cpu v2 41/42] target-cris: Factor out CPUClass::gdb_read_register() hook for v10 |
Date: |
Sun, 7 Jul 2013 20:26:30 +0200 |
Signed-off-by: Andreas Färber <address@hidden>
---
target-cris/cpu-qom.h | 1 +
target-cris/cpu.c | 4 ++++
target-cris/gdbstub.c | 10 ++++------
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/target-cris/cpu-qom.h b/target-cris/cpu-qom.h
index 3e92ea0..7559366 100644
--- a/target-cris/cpu-qom.h
+++ b/target-cris/cpu-qom.h
@@ -81,6 +81,7 @@ void cris_cpu_dump_state(CPUState *cs, FILE *f,
fprintf_function cpu_fprintf,
hwaddr cris_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
+int crisv10_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
int cris_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
int cris_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
diff --git a/target-cris/cpu.c b/target-cris/cpu.c
index 8fcc95d..45f2d6b 100644
--- a/target-cris/cpu.c
+++ b/target-cris/cpu.c
@@ -175,6 +175,7 @@ static void crisv8_cpu_class_init(ObjectClass *oc, void
*data)
ccc->vr = 8;
cc->do_interrupt = crisv10_cpu_do_interrupt;
+ cc->gdb_read_register = crisv10_cpu_gdb_read_register;
}
static void crisv9_cpu_class_init(ObjectClass *oc, void *data)
@@ -184,6 +185,7 @@ static void crisv9_cpu_class_init(ObjectClass *oc, void
*data)
ccc->vr = 9;
cc->do_interrupt = crisv10_cpu_do_interrupt;
+ cc->gdb_read_register = crisv10_cpu_gdb_read_register;
}
static void crisv10_cpu_class_init(ObjectClass *oc, void *data)
@@ -193,6 +195,7 @@ static void crisv10_cpu_class_init(ObjectClass *oc, void
*data)
ccc->vr = 10;
cc->do_interrupt = crisv10_cpu_do_interrupt;
+ cc->gdb_read_register = crisv10_cpu_gdb_read_register;
}
static void crisv11_cpu_class_init(ObjectClass *oc, void *data)
@@ -202,6 +205,7 @@ static void crisv11_cpu_class_init(ObjectClass *oc, void
*data)
ccc->vr = 11;
cc->do_interrupt = crisv10_cpu_do_interrupt;
+ cc->gdb_read_register = crisv10_cpu_gdb_read_register;
}
static void crisv32_cpu_class_init(ObjectClass *oc, void *data)
diff --git a/target-cris/gdbstub.c b/target-cris/gdbstub.c
index 958a370..5db3683 100644
--- a/target-cris/gdbstub.c
+++ b/target-cris/gdbstub.c
@@ -21,9 +21,11 @@
#include "qemu-common.h"
#include "exec/gdbstub.h"
-static int
-read_register_crisv10(CPUCRISState *env, uint8_t *mem_buf, int n)
+int crisv10_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n)
{
+ CRISCPU *cpu = CRIS_CPU(cs);
+ CPUCRISState *env = &cpu->env;
+
if (n < 15) {
return gdb_get_reg32(mem_buf, env->regs[n]);
}
@@ -57,10 +59,6 @@ int cris_cpu_gdb_read_register(CPUState *cs, uint8_t
*mem_buf, int n)
CPUCRISState *env = &cpu->env;
uint8_t srs;
- if (env->pregs[PR_VR] < 32) {
- return read_register_crisv10(env, mem_buf, n);
- }
-
srs = env->pregs[PR_SRS];
if (n < 16) {
return gdb_get_reg32(mem_buf, env->regs[n]);
--
1.8.1.4
- [Qemu-devel] [PATCH qom-cpu v2 42/42] cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML, (continued)
- [Qemu-devel] [PATCH qom-cpu v2 42/42] cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML, Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 36/42] target-s390x: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 39/42] gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions, Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 40/42] cpu: Introduce CPUClass::gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 31/42] target-openrisc: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 28/42] target-arm: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 24/42] cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs, Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 33/42] target-microblaze: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 27/42] target-sparc: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 29/42] target-m68k: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- [Qemu-devel] [PATCH qom-cpu v2 41/42] target-cris: Factor out CPUClass::gdb_read_register() hook for v10,
Andreas Färber <=
- [Qemu-devel] [PATCH qom-cpu v2 32/42] target-sh4: Move cpu_gdb_{read, write}_register(), Andreas Färber, 2013/07/07
- Re: [Qemu-devel] [PATCH qom-cpu v2 00/42] QOM CPUState, part 11: GDB stub, Andreas Färber, 2013/07/09