target/riscv/cpu: remove riscv_cpu_* arrays
There is no more uses left for these arrays. isa_edata_arr[] is doing everything we need, making our lives a little easier when adding new extensions. Signed-off-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20260512032926.1978818-15-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Daniel Henrique Barboza committed
May 12, 2026 at 00:29 UTC
5426459a063e1f1690fab1dc2b8118a37b6c782d
2 files changed
-169
target/riscv/cpu.c
-159
@@ -1252,165 +1252,6 @@ const char *riscv_get_misa_ext_description(uint32_t bit)
1252
return val;
1253
}
1254
1255
-#define MULTI_EXT_CFG_BOOL(_name, _prop, _defval) \
1256
- {.name = _name, .offset = CPU_CFG_OFFSET(_prop), \
1257
- .enabled = _defval}
1258
-
1259
-const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = {
1260
- /* Defaults for standard extensions */
1261
- MULTI_EXT_CFG_BOOL("sscofpmf", ext_sscofpmf, false),
1262
- MULTI_EXT_CFG_BOOL("smcntrpmf", ext_smcntrpmf, false),
1263
- MULTI_EXT_CFG_BOOL("smcsrind", ext_smcsrind, false),
1264
- MULTI_EXT_CFG_BOOL("smcdeleg", ext_smcdeleg, false),
1265
- MULTI_EXT_CFG_BOOL("sscsrind", ext_sscsrind, false),
1266
- MULTI_EXT_CFG_BOOL("ssccfg", ext_ssccfg, false),
1267
- MULTI_EXT_CFG_BOOL("smctr", ext_smctr, false),
1268
- MULTI_EXT_CFG_BOOL("ssctr", ext_ssctr, false),
1269
- MULTI_EXT_CFG_BOOL("zifencei", ext_zifencei, true),
1270
- MULTI_EXT_CFG_BOOL("zicfilp", ext_zicfilp, false),
1271
- MULTI_EXT_CFG_BOOL("zicfiss", ext_zicfiss, false),
1272
- MULTI_EXT_CFG_BOOL("zicsr", ext_zicsr, true),
1273
- MULTI_EXT_CFG_BOOL("zihintntl", ext_zihintntl, true),
1274
- MULTI_EXT_CFG_BOOL("zihintpause", ext_zihintpause, true),
1275
- MULTI_EXT_CFG_BOOL("zimop", ext_zimop, false),
1276
- MULTI_EXT_CFG_BOOL("zcmop", ext_zcmop, false),
1277
- MULTI_EXT_CFG_BOOL("zacas", ext_zacas, false),
1278
- MULTI_EXT_CFG_BOOL("zama16b", ext_zama16b, false),
1279
- MULTI_EXT_CFG_BOOL("zabha", ext_zabha, false),
1280
- MULTI_EXT_CFG_BOOL("zaamo", ext_zaamo, false),
1281
- MULTI_EXT_CFG_BOOL("zalasr", ext_zalasr, false),
1282
- MULTI_EXT_CFG_BOOL("zalrsc", ext_zalrsc, false),
1283
- MULTI_EXT_CFG_BOOL("zawrs", ext_zawrs, true),
1284
- MULTI_EXT_CFG_BOOL("zfa", ext_zfa, true),
1285
- MULTI_EXT_CFG_BOOL("zfbfmin", ext_zfbfmin, false),
1286
- MULTI_EXT_CFG_BOOL("zfh", ext_zfh, false),
1287
- MULTI_EXT_CFG_BOOL("zfhmin", ext_zfhmin, false),
1288
- MULTI_EXT_CFG_BOOL("zve32f", ext_zve32f, false),
1289
- MULTI_EXT_CFG_BOOL("zve32x", ext_zve32x, false),
1290
- MULTI_EXT_CFG_BOOL("zve64f", ext_zve64f, false),
1291
- MULTI_EXT_CFG_BOOL("zve64d", ext_zve64d, false),
1292
- MULTI_EXT_CFG_BOOL("zve64x", ext_zve64x, false),
1293
- MULTI_EXT_CFG_BOOL("zvfbfa", ext_zvfbfa, false),
1294
- MULTI_EXT_CFG_BOOL("zvfbfmin", ext_zvfbfmin, false),
1295
- MULTI_EXT_CFG_BOOL("zvfbfwma", ext_zvfbfwma, false),
1296
- MULTI_EXT_CFG_BOOL("zvfh", ext_zvfh, false),
1297
- MULTI_EXT_CFG_BOOL("zvfhmin", ext_zvfhmin, false),
1298
- MULTI_EXT_CFG_BOOL("sstc", ext_sstc, true),
1299
- MULTI_EXT_CFG_BOOL("ssnpm", ext_ssnpm, false),
1300
- MULTI_EXT_CFG_BOOL("sspm", ext_sspm, false),
1301
- MULTI_EXT_CFG_BOOL("supm", ext_supm, false),
1302
-
1303
- MULTI_EXT_CFG_BOOL("smaia", ext_smaia, false),
1304
- MULTI_EXT_CFG_BOOL("smdbltrp", ext_smdbltrp, false),
1305
- MULTI_EXT_CFG_BOOL("smepmp", ext_smepmp, false),
1306
- MULTI_EXT_CFG_BOOL("smpmpmt", ext_smpmpmt, false),
1307
- MULTI_EXT_CFG_BOOL("smrnmi", ext_smrnmi, false),
1308
- MULTI_EXT_CFG_BOOL("smmpm", ext_smmpm, false),
1309
- MULTI_EXT_CFG_BOOL("smnpm", ext_smnpm, false),
1310
- MULTI_EXT_CFG_BOOL("smstateen", ext_smstateen, false),
1311
- MULTI_EXT_CFG_BOOL("ssaia", ext_ssaia, false),
1312
- MULTI_EXT_CFG_BOOL("ssdbltrp", ext_ssdbltrp, false),
1313
- MULTI_EXT_CFG_BOOL("svade", ext_svade, false),
1314
- MULTI_EXT_CFG_BOOL("svadu", ext_svadu, true),
1315
- MULTI_EXT_CFG_BOOL("svinval", ext_svinval, false),
1316
- MULTI_EXT_CFG_BOOL("svnapot", ext_svnapot, false),
1317
- MULTI_EXT_CFG_BOOL("svpbmt", ext_svpbmt, false),
1318
- MULTI_EXT_CFG_BOOL("svrsw60t59b", ext_svrsw60t59b, false),
1319
- MULTI_EXT_CFG_BOOL("svvptc", ext_svvptc, true),
1320
-
1321
- MULTI_EXT_CFG_BOOL("zicntr", ext_zicntr, true),
1322
- MULTI_EXT_CFG_BOOL("zihpm", ext_zihpm, true),
1323
- MULTI_EXT_CFG_BOOL("zilsd", ext_zilsd, false),
1324
-
1325
- MULTI_EXT_CFG_BOOL("zba", ext_zba, true),
1326
- MULTI_EXT_CFG_BOOL("zbb", ext_zbb, true),
1327
- MULTI_EXT_CFG_BOOL("zbc", ext_zbc, true),
1328
- MULTI_EXT_CFG_BOOL("zbkb", ext_zbkb, false),
1329
- MULTI_EXT_CFG_BOOL("zbkc", ext_zbkc, false),
1330
- MULTI_EXT_CFG_BOOL("zbkx", ext_zbkx, false),
1331
- MULTI_EXT_CFG_BOOL("zbs", ext_zbs, true),
1332
- MULTI_EXT_CFG_BOOL("zk", ext_zk, false),
1333
- MULTI_EXT_CFG_BOOL("zkn", ext_zkn, false),
1334
- MULTI_EXT_CFG_BOOL("zknd", ext_zknd, false),
1335
- MULTI_EXT_CFG_BOOL("zkne", ext_zkne, false),
1336
- MULTI_EXT_CFG_BOOL("zknh", ext_zknh, false),
1337
- MULTI_EXT_CFG_BOOL("zkr", ext_zkr, false),
1338
- MULTI_EXT_CFG_BOOL("zks", ext_zks, false),
1339
- MULTI_EXT_CFG_BOOL("zksed", ext_zksed, false),
1340
- MULTI_EXT_CFG_BOOL("zksh", ext_zksh, false),
1341
- MULTI_EXT_CFG_BOOL("zkt", ext_zkt, false),
1342
- MULTI_EXT_CFG_BOOL("ztso", ext_ztso, false),
1343
-
1344
- MULTI_EXT_CFG_BOOL("zdinx", ext_zdinx, false),
1345
- MULTI_EXT_CFG_BOOL("zfinx", ext_zfinx, false),
1346
- MULTI_EXT_CFG_BOOL("zhinx", ext_zhinx, false),
1347
- MULTI_EXT_CFG_BOOL("zhinxmin", ext_zhinxmin, false),
1348
-
1349
- MULTI_EXT_CFG_BOOL("zicbom", ext_zicbom, true),
1350
- MULTI_EXT_CFG_BOOL("zicbop", ext_zicbop, true),
1351
- MULTI_EXT_CFG_BOOL("zicboz", ext_zicboz, true),
1352
-
1353
- MULTI_EXT_CFG_BOOL("zmmul", ext_zmmul, false),
1354
-
1355
- MULTI_EXT_CFG_BOOL("zca", ext_zca, false),
1356
- MULTI_EXT_CFG_BOOL("zcb", ext_zcb, false),
1357
- MULTI_EXT_CFG_BOOL("zcd", ext_zcd, false),
1358
- MULTI_EXT_CFG_BOOL("zce", ext_zce, false),
1359
- MULTI_EXT_CFG_BOOL("zcf", ext_zcf, false),
1360
- MULTI_EXT_CFG_BOOL("zcmp", ext_zcmp, false),
1361
- MULTI_EXT_CFG_BOOL("zcmt", ext_zcmt, false),
1362
- MULTI_EXT_CFG_BOOL("zicond", ext_zicond, false),
1363
- MULTI_EXT_CFG_BOOL("zclsd", ext_zclsd, false),
1364
-
1365
- /* Vector cryptography extensions */
1366
- MULTI_EXT_CFG_BOOL("zvbb", ext_zvbb, false),
1367
- MULTI_EXT_CFG_BOOL("zvbc", ext_zvbc, false),
1368
- MULTI_EXT_CFG_BOOL("zvkb", ext_zvkb, false),
1369
- MULTI_EXT_CFG_BOOL("zvkg", ext_zvkg, false),
1370
- MULTI_EXT_CFG_BOOL("zvkned", ext_zvkned, false),
1371
- MULTI_EXT_CFG_BOOL("zvknha", ext_zvknha, false),
1372
- MULTI_EXT_CFG_BOOL("zvknhb", ext_zvknhb, false),
1373
- MULTI_EXT_CFG_BOOL("zvksed", ext_zvksed, false),
1374
- MULTI_EXT_CFG_BOOL("zvksh", ext_zvksh, false),
1375
- MULTI_EXT_CFG_BOOL("zvkt", ext_zvkt, false),
1376
- MULTI_EXT_CFG_BOOL("zvkn", ext_zvkn, false),
1377
- MULTI_EXT_CFG_BOOL("zvknc", ext_zvknc, false),
1378
- MULTI_EXT_CFG_BOOL("zvkng", ext_zvkng, false),
1379
- MULTI_EXT_CFG_BOOL("zvks", ext_zvks, false),
1380
- MULTI_EXT_CFG_BOOL("zvksc", ext_zvksc, false),
1381
- MULTI_EXT_CFG_BOOL("zvksg", ext_zvksg, false),
1382
-
1383
- { },
1384
-};
1385
-
1386
-const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[] = {
1387
- MULTI_EXT_CFG_BOOL("xtheadba", ext_xtheadba, false),
1388
- MULTI_EXT_CFG_BOOL("xtheadbb", ext_xtheadbb, false),
1389
- MULTI_EXT_CFG_BOOL("xtheadbs", ext_xtheadbs, false),
1390
- MULTI_EXT_CFG_BOOL("xtheadcmo", ext_xtheadcmo, false),
1391
- MULTI_EXT_CFG_BOOL("xtheadcondmov", ext_xtheadcondmov, false),
1392
- MULTI_EXT_CFG_BOOL("xtheadfmemidx", ext_xtheadfmemidx, false),
1393
- MULTI_EXT_CFG_BOOL("xtheadfmv", ext_xtheadfmv, false),
1394
- MULTI_EXT_CFG_BOOL("xtheadmac", ext_xtheadmac, false),
1395
- MULTI_EXT_CFG_BOOL("xtheadmemidx", ext_xtheadmemidx, false),
1396
- MULTI_EXT_CFG_BOOL("xtheadmempair", ext_xtheadmempair, false),
1397
- MULTI_EXT_CFG_BOOL("xtheadsync", ext_xtheadsync, false),
1398
- MULTI_EXT_CFG_BOOL("xventanacondops", ext_XVentanaCondOps, false),
1399
- MULTI_EXT_CFG_BOOL("xmipscbop", ext_xmipscbop, false),
1400
- MULTI_EXT_CFG_BOOL("xmipscmov", ext_xmipscmov, false),
1401
- MULTI_EXT_CFG_BOOL("xmipslsp", ext_xmipslsp, false),
1402
- MULTI_EXT_CFG_BOOL("xlrbr", ext_xlrbr, false),
1403
-
1404
- { },
1405
-};
1406
-
1407
-/* These are experimental so mark with 'x-' */
1408
-const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = {
1409
- MULTI_EXT_CFG_BOOL("x-svukte", ext_svukte, false),
1410
-
1411
- { },
1412
-};
1413
-
1255
static void cpu_set_prop_err(RISCVCPU *cpu, const char *propname,
1256
Error **errp)
1257
{
target/riscv/cpu.h
-10
@@ -983,16 +983,6 @@ bool isa_ext_is_enabled(RISCVCPU *cpu, uint32_t ext_offset);
983
void riscv_cpu_set_misa_ext(CPURISCVState *env, uint32_t ext);
984
bool riscv_cpu_is_vendor(Object *cpu_obj);
985
986
-typedef struct RISCVCPUMultiExtConfig {
987
- const char *name;
988
- uint32_t offset;
989
- bool enabled;
990
-} RISCVCPUMultiExtConfig;
991
-
992
-extern const RISCVCPUMultiExtConfig riscv_cpu_extensions[];
993
-extern const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[];
994
-extern const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[];
995
-
986
typedef struct isa_ext_data {
987
const char *name;
988
const char *prop_name;