Revision 4a0b59fe

b/gdbstub.c
1249 1249

  
1250 1250
#define NUM_CORE_REGS 49
1251 1251

  
1252
static int
1253
read_register_crisv10(CPUState *env, uint8_t *mem_buf, int n)
1254
{
1255
    if (n < 15) {
1256
        GET_REG32(env->regs[n]);
1257
    }
1258

  
1259
    if (n == 15) {
1260
        GET_REG32(env->pc);
1261
    }
1262

  
1263
    if (n < 32) {
1264
        switch (n) {
1265
        case 16:
1266
            GET_REG8(env->pregs[n - 16]);
1267
            break;
1268
        case 17:
1269
            GET_REG8(env->pregs[n - 16]);
1270
            break;
1271
        case 20:
1272
        case 21:
1273
            GET_REG16(env->pregs[n - 16]);
1274
            break;
1275
        default:
1276
            if (n >= 23) {
1277
                GET_REG32(env->pregs[n - 16]);
1278
            }
1279
            break;
1280
        }
1281
    }
1282
    return 0;
1283
}
1284

  
1252 1285
static int cpu_gdb_read_register(CPUState *env, uint8_t *mem_buf, int n)
1253 1286
{
1254 1287
    uint8_t srs;
1255 1288

  
1289
    if (env->pregs[PR_VR] < 32)
1290
        return read_register_crisv10(env, mem_buf, n);
1291

  
1256 1292
    srs = env->pregs[PR_SRS];
1257 1293
    if (n < 16) {
1258 1294
	GET_REG32(env->regs[n]);

Also available in: Unified diff