Revision 90431220

b/target-cris/cpu-qom.h
81 81

  
82 82
hwaddr cris_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
83 83

  
84
int crisv10_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
84 85
int cris_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg);
85 86
int cris_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
86 87

  
b/target-cris/cpu.c
175 175

  
176 176
    ccc->vr = 8;
177 177
    cc->do_interrupt = crisv10_cpu_do_interrupt;
178
    cc->gdb_read_register = crisv10_cpu_gdb_read_register;
178 179
}
179 180

  
180 181
static void crisv9_cpu_class_init(ObjectClass *oc, void *data)
......
184 185

  
185 186
    ccc->vr = 9;
186 187
    cc->do_interrupt = crisv10_cpu_do_interrupt;
188
    cc->gdb_read_register = crisv10_cpu_gdb_read_register;
187 189
}
188 190

  
189 191
static void crisv10_cpu_class_init(ObjectClass *oc, void *data)
......
193 195

  
194 196
    ccc->vr = 10;
195 197
    cc->do_interrupt = crisv10_cpu_do_interrupt;
198
    cc->gdb_read_register = crisv10_cpu_gdb_read_register;
196 199
}
197 200

  
198 201
static void crisv11_cpu_class_init(ObjectClass *oc, void *data)
......
202 205

  
203 206
    ccc->vr = 11;
204 207
    cc->do_interrupt = crisv10_cpu_do_interrupt;
208
    cc->gdb_read_register = crisv10_cpu_gdb_read_register;
205 209
}
206 210

  
207 211
static void crisv32_cpu_class_init(ObjectClass *oc, void *data)
b/target-cris/gdbstub.c
21 21
#include "qemu-common.h"
22 22
#include "exec/gdbstub.h"
23 23

  
24
static int
25
read_register_crisv10(CPUCRISState *env, uint8_t *mem_buf, int n)
24
int crisv10_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n)
26 25
{
26
    CRISCPU *cpu = CRIS_CPU(cs);
27
    CPUCRISState *env = &cpu->env;
28

  
27 29
    if (n < 15) {
28 30
        return gdb_get_reg32(mem_buf, env->regs[n]);
29 31
    }
......
57 59
    CPUCRISState *env = &cpu->env;
58 60
    uint8_t srs;
59 61

  
60
    if (env->pregs[PR_VR] < 32) {
61
        return read_register_crisv10(env, mem_buf, n);
62
    }
63

  
64 62
    srs = env->pregs[PR_SRS];
65 63
    if (n < 16) {
66 64
        return gdb_get_reg32(mem_buf, env->regs[n]);

Also available in: Unified diff