Revision 363be49c target-ppc/translate_init.c

b/target-ppc/translate_init.c
893 893
                 &spr_read_generic, SPR_NOACCESS,
894 894
                 0x00000000);
895 895
    /* Exception processing */
896
    spr_register(env, SPR_CSRR0, "CSRR0",
896
    spr_register(env, SPR_BOOKE_CSRR0, "CSRR0",
897 897
                 SPR_NOACCESS, SPR_NOACCESS,
898 898
                 &spr_read_generic, &spr_write_generic,
899 899
                 0x00000000);
900
    spr_register(env, SPR_CSRR1, "CSRR1",
900
    spr_register(env, SPR_BOOKE_CSRR1, "CSRR1",
901 901
                 SPR_NOACCESS, SPR_NOACCESS,
902 902
                 &spr_read_generic, &spr_write_generic,
903 903
                 0x00000000);
......
1060 1060
                 &spr_read_generic, &spr_write_pir,
1061 1061
                 0x00000000);
1062 1062
    /* Interrupt processing */
1063
    spr_register(env, SPR_CSRR0, "CSRR0",
1063
    spr_register(env, SPR_BOOKE_CSRR0, "CSRR0",
1064 1064
                 SPR_NOACCESS, SPR_NOACCESS,
1065 1065
                 &spr_read_generic, &spr_write_generic,
1066 1066
                 0x00000000);
1067
    spr_register(env, SPR_CSRR1, "CSRR1",
1067
    spr_register(env, SPR_BOOKE_CSRR1, "CSRR1",
1068
                 SPR_NOACCESS, SPR_NOACCESS,
1069
                 &spr_read_generic, &spr_write_generic,
1070
                 0x00000000);
1071
    spr_register(env, SPR_BOOKE_DSRR0, "DSRR0",
1072
                 SPR_NOACCESS, SPR_NOACCESS,
1073
                 &spr_read_generic, &spr_write_generic,
1074
                 0x00000000);
1075
    spr_register(env, SPR_BOOKE_DSRR1, "DSRR1",
1076
                 SPR_NOACCESS, SPR_NOACCESS,
1077
                 &spr_read_generic, &spr_write_generic,
1078
                 0x00000000);
1079
    spr_register(env, SPR_BOOKE_MCSRR0, "MCSRR0",
1080
                 SPR_NOACCESS, SPR_NOACCESS,
1081
                 &spr_read_generic, &spr_write_generic,
1082
                 0x00000000);
1083
    spr_register(env, SPR_BOOKE_MCSRR1, "MCSRR1",
1068 1084
                 SPR_NOACCESS, SPR_NOACCESS,
1069 1085
                 &spr_read_generic, &spr_write_generic,
1070 1086
                 0x00000000);
......
1137 1153
                 SPR_NOACCESS, SPR_NOACCESS,
1138 1154
                 &spr_read_generic, &spr_write_generic,
1139 1155
                 0x00000000);
1140
    spr_register(env, SPR_BOOKE_EVPR, "EVPR",
1156
    spr_register(env, SPR_BOOKE_IVPR, "IVPR",
1157
                 SPR_NOACCESS, SPR_NOACCESS,
1158
                 &spr_read_generic, &spr_write_generic,
1159
                 0x00000000);
1160
    /* Exception vectors */
1161
    spr_register(env, SPR_BOOKE_IVPR, "IVPR",
1141 1162
                 SPR_NOACCESS, SPR_NOACCESS,
1142 1163
                 &spr_read_generic, &spr_write_generic,
1143 1164
                 0x00000000);
......
1205 1226
                 SPR_NOACCESS, SPR_NOACCESS,
1206 1227
                 &spr_read_generic, &spr_write_generic,
1207 1228
                 0x00000000);
1229
    spr_register(env, SPR_BOOKE_IVOR32, "IVOR32",
1230
                 SPR_NOACCESS, SPR_NOACCESS,
1231
                 &spr_read_generic, &spr_write_generic,
1232
                 0x00000000);
1233
    spr_register(env, SPR_BOOKE_IVOR33, "IVOR33",
1234
                 SPR_NOACCESS, SPR_NOACCESS,
1235
                 &spr_read_generic, &spr_write_generic,
1236
                 0x00000000);
1237
    spr_register(env, SPR_BOOKE_IVOR34, "IVOR34",
1238
                 SPR_NOACCESS, SPR_NOACCESS,
1239
                 &spr_read_generic, &spr_write_generic,
1240
                 0x00000000);
1241
    spr_register(env, SPR_BOOKE_IVOR35, "IVOR35",
1242
                 SPR_NOACCESS, SPR_NOACCESS,
1243
                 &spr_read_generic, &spr_write_generic,
1244
                 0x00000000);
1245
    spr_register(env, SPR_BOOKE_IVOR36, "IVOR36",
1246
                 SPR_NOACCESS, SPR_NOACCESS,
1247
                 &spr_read_generic, &spr_write_generic,
1248
                 0x00000000);
1249
    spr_register(env, SPR_BOOKE_IVOR37, "IVOR37",
1250
                 SPR_NOACCESS, SPR_NOACCESS,
1251
                 &spr_read_generic, &spr_write_generic,
1252
                 0x00000000);
1208 1253
    spr_register(env, SPR_BOOKE_PID, "PID",
1209 1254
                 SPR_NOACCESS, SPR_NOACCESS,
1210 1255
                 &spr_read_generic, &spr_write_generic,
......
1265 1310
                 0x00000000);
1266 1311
}
1267 1312

  
1313
/* FSL storage control registers */
1314
static void gen_spr_BookE_FSL (CPUPPCState *env)
1315
{
1316
    /* TLB assist registers */
1317
    spr_register(env, SPR_BOOKE_MAS0, "MAS0",
1318
                 SPR_NOACCESS, SPR_NOACCESS,
1319
                 &spr_read_generic, &spr_write_generic,
1320
                 0x00000000);
1321
    spr_register(env, SPR_BOOKE_MAS1, "MAS2",
1322
                 SPR_NOACCESS, SPR_NOACCESS,
1323
                 &spr_read_generic, &spr_write_generic,
1324
                 0x00000000);
1325
    spr_register(env, SPR_BOOKE_MAS2, "MAS3",
1326
                 SPR_NOACCESS, SPR_NOACCESS,
1327
                 &spr_read_generic, &spr_write_generic,
1328
                 0x00000000);
1329
    spr_register(env, SPR_BOOKE_MAS3, "MAS4",
1330
                 SPR_NOACCESS, SPR_NOACCESS,
1331
                 &spr_read_generic, &spr_write_generic,
1332
                 0x00000000);
1333
    spr_register(env, SPR_BOOKE_MAS4, "MAS5",
1334
                 SPR_NOACCESS, SPR_NOACCESS,
1335
                 &spr_read_generic, &spr_write_generic,
1336
                 0x00000000);
1337
    spr_register(env, SPR_BOOKE_MAS6, "MAS6",
1338
                 SPR_NOACCESS, SPR_NOACCESS,
1339
                 &spr_read_generic, &spr_write_generic,
1340
                 0x00000000);
1341
    spr_register(env, SPR_BOOKE_MAS7, "MAS7",
1342
                 SPR_NOACCESS, SPR_NOACCESS,
1343
                 &spr_read_generic, &spr_write_generic,
1344
                 0x00000000);
1345
    if (env->nb_pids > 1) {
1346
        spr_register(env, SPR_BOOKE_PID1, "PID1",
1347
                     SPR_NOACCESS, SPR_NOACCESS,
1348
                     &spr_read_generic, &spr_write_generic,
1349
                     0x00000000);
1350
    }
1351
    if (env->nb_pids > 2) {
1352
        spr_register(env, SPR_BOOKE_PID2, "PID2",
1353
                     SPR_NOACCESS, SPR_NOACCESS,
1354
                     &spr_read_generic, &spr_write_generic,
1355
                     0x00000000);
1356
    }
1357
    spr_register(env, SPR_BOOKE_MMUCFG, "MMUCFG",
1358
                 SPR_NOACCESS, SPR_NOACCESS,
1359
                 &spr_read_generic, SPR_NOACCESS,
1360
                 0x00000000); /* TOFIX */
1361
    spr_register(env, SPR_BOOKE_MMUCSR0, "MMUCSR0",
1362
                 SPR_NOACCESS, SPR_NOACCESS,
1363
                 &spr_read_generic, &spr_write_generic,
1364
                 0x00000000); /* TOFIX */
1365
    switch (env->nb_ways) {
1366
    case 4:
1367
        spr_register(env, SPR_BOOKE_TLB3CFG, "TLB3CFG",
1368
                     SPR_NOACCESS, SPR_NOACCESS,
1369
                     &spr_read_generic, SPR_NOACCESS,
1370
                     0x00000000); /* TOFIX */
1371
        /* Fallthru */
1372
    case 3:
1373
        spr_register(env, SPR_BOOKE_TLB2CFG, "TLB2CFG",
1374
                     SPR_NOACCESS, SPR_NOACCESS,
1375
                     &spr_read_generic, SPR_NOACCESS,
1376
                     0x00000000); /* TOFIX */
1377
        /* Fallthru */
1378
    case 2:
1379
        spr_register(env, SPR_BOOKE_TLB1CFG, "TLB1CFG",
1380
                     SPR_NOACCESS, SPR_NOACCESS,
1381
                     &spr_read_generic, SPR_NOACCESS,
1382
                     0x00000000); /* TOFIX */
1383
        /* Fallthru */
1384
    case 1:
1385
        spr_register(env, SPR_BOOKE_TLB0CFG, "TLB0CFG",
1386
                     SPR_NOACCESS, SPR_NOACCESS,
1387
                     &spr_read_generic, SPR_NOACCESS,
1388
                     0x00000000); /* TOFIX */
1389
        /* Fallthru */
1390
    case 0:
1391
    default:
1392
        break;
1393
    }
1394
}
1395

  
1268 1396
/* SPR specific to PowerPC 440 implementation */
1269 1397
static void gen_spr_440 (CPUPPCState *env)
1270 1398
{
......
1361 1489
                 0x00000000);
1362 1490
    /* Cache debug */
1363 1491
    /* XXX : not implemented */
1364
    spr_register(env, SPR_440_DCBTRH, "DCBTRH",
1492
    spr_register(env, SPR_BOOKE_DCBTRH, "DCBTRH",
1365 1493
                 SPR_NOACCESS, SPR_NOACCESS,
1366 1494
                 &spr_read_generic, SPR_NOACCESS,
1367 1495
                 0x00000000);
1368 1496
    /* XXX : not implemented */
1369
    spr_register(env, SPR_440_DCBTRL, "DCBTRL",
1497
    spr_register(env, SPR_BOOKE_DCBTRL, "DCBTRL",
1370 1498
                 SPR_NOACCESS, SPR_NOACCESS,
1371 1499
                 &spr_read_generic, SPR_NOACCESS,
1372 1500
                 0x00000000);
1373 1501
    /* XXX : not implemented */
1374
    spr_register(env, SPR_4xx_ICDBDR, "ICDBDR",
1502
    spr_register(env, SPR_BOOKE_ICBDR, "ICBDR",
1375 1503
                 SPR_NOACCESS, SPR_NOACCESS,
1376 1504
                 &spr_read_generic, SPR_NOACCESS,
1377 1505
                 0x00000000);
1378 1506
    /* XXX : not implemented */
1379
    spr_register(env, SPR_440_ICBTRH, "ICBTRH",
1507
    spr_register(env, SPR_BOOKE_ICBTRH, "ICBTRH",
1380 1508
                 SPR_NOACCESS, SPR_NOACCESS,
1381 1509
                 &spr_read_generic, SPR_NOACCESS,
1382 1510
                 0x00000000);
1383 1511
    /* XXX : not implemented */
1384
    spr_register(env, SPR_440_ICBTRL, "ICBTRL",
1512
    spr_register(env, SPR_BOOKE_ICBTRL, "ICBTRL",
1385 1513
                 SPR_NOACCESS, SPR_NOACCESS,
1386 1514
                 &spr_read_generic, SPR_NOACCESS,
1387 1515
                 0x00000000);
......
1426 1554
                 &spr_read_generic, &spr_write_generic,
1427 1555
                 0x00000000);
1428 1556
    /* XXX : not implemented */
1429
    spr_register(env, SPR_4xx_ICDBDR, "ICDBDR",
1557
    spr_register(env, SPR_BOOKE_ICBDR, "ICBDR",
1430 1558
                 SPR_NOACCESS, SPR_NOACCESS,
1431 1559
                 &spr_read_generic, SPR_NOACCESS,
1432 1560
                 0x00000000);
......
1861 1989
        /* Time base */
1862 1990
        gen_tbl(env);
1863 1991
        gen_spr_BookE(env);
1992
        gen_spr_BookE_FSL(env);
1864 1993
        env->nb_BATs = 0;
1865 1994
        env->nb_tlb = 64;
1866 1995
        env->nb_ways = 1;

Also available in: Unified diff