On Tue, May 12, 2026 at 1:31 PM Daniel Henrique Barboza <[email protected]> wrote: > > 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 <[email protected]>
Acked-by: Alistair Francis <[email protected]> Alistair > --- > target/riscv/cpu.c | 159 --------------------------------------------- > target/riscv/cpu.h | 10 --- > 2 files changed, 169 deletions(-) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index 6dd05597e8..67452bb964 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1248,165 +1248,6 @@ const char *riscv_get_misa_ext_description(uint32_t > bit) > return val; > } > > -#define MULTI_EXT_CFG_BOOL(_name, _prop, _defval) \ > - {.name = _name, .offset = CPU_CFG_OFFSET(_prop), \ > - .enabled = _defval} > - > -const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = { > - /* Defaults for standard extensions */ > - MULTI_EXT_CFG_BOOL("sscofpmf", ext_sscofpmf, false), > - MULTI_EXT_CFG_BOOL("smcntrpmf", ext_smcntrpmf, false), > - MULTI_EXT_CFG_BOOL("smcsrind", ext_smcsrind, false), > - MULTI_EXT_CFG_BOOL("smcdeleg", ext_smcdeleg, false), > - MULTI_EXT_CFG_BOOL("sscsrind", ext_sscsrind, false), > - MULTI_EXT_CFG_BOOL("ssccfg", ext_ssccfg, false), > - MULTI_EXT_CFG_BOOL("smctr", ext_smctr, false), > - MULTI_EXT_CFG_BOOL("ssctr", ext_ssctr, false), > - MULTI_EXT_CFG_BOOL("zifencei", ext_zifencei, true), > - MULTI_EXT_CFG_BOOL("zicfilp", ext_zicfilp, false), > - MULTI_EXT_CFG_BOOL("zicfiss", ext_zicfiss, false), > - MULTI_EXT_CFG_BOOL("zicsr", ext_zicsr, true), > - MULTI_EXT_CFG_BOOL("zihintntl", ext_zihintntl, true), > - MULTI_EXT_CFG_BOOL("zihintpause", ext_zihintpause, true), > - MULTI_EXT_CFG_BOOL("zimop", ext_zimop, false), > - MULTI_EXT_CFG_BOOL("zcmop", ext_zcmop, false), > - MULTI_EXT_CFG_BOOL("zacas", ext_zacas, false), > - MULTI_EXT_CFG_BOOL("zama16b", ext_zama16b, false), > - MULTI_EXT_CFG_BOOL("zabha", ext_zabha, false), > - MULTI_EXT_CFG_BOOL("zaamo", ext_zaamo, false), > - MULTI_EXT_CFG_BOOL("zalasr", ext_zalasr, false), > - MULTI_EXT_CFG_BOOL("zalrsc", ext_zalrsc, false), > - MULTI_EXT_CFG_BOOL("zawrs", ext_zawrs, true), > - MULTI_EXT_CFG_BOOL("zfa", ext_zfa, true), > - MULTI_EXT_CFG_BOOL("zfbfmin", ext_zfbfmin, false), > - MULTI_EXT_CFG_BOOL("zfh", ext_zfh, false), > - MULTI_EXT_CFG_BOOL("zfhmin", ext_zfhmin, false), > - MULTI_EXT_CFG_BOOL("zve32f", ext_zve32f, false), > - MULTI_EXT_CFG_BOOL("zve32x", ext_zve32x, false), > - MULTI_EXT_CFG_BOOL("zve64f", ext_zve64f, false), > - MULTI_EXT_CFG_BOOL("zve64d", ext_zve64d, false), > - MULTI_EXT_CFG_BOOL("zve64x", ext_zve64x, false), > - MULTI_EXT_CFG_BOOL("zvfbfa", ext_zvfbfa, false), > - MULTI_EXT_CFG_BOOL("zvfbfmin", ext_zvfbfmin, false), > - MULTI_EXT_CFG_BOOL("zvfbfwma", ext_zvfbfwma, false), > - MULTI_EXT_CFG_BOOL("zvfh", ext_zvfh, false), > - MULTI_EXT_CFG_BOOL("zvfhmin", ext_zvfhmin, false), > - MULTI_EXT_CFG_BOOL("sstc", ext_sstc, true), > - MULTI_EXT_CFG_BOOL("ssnpm", ext_ssnpm, false), > - MULTI_EXT_CFG_BOOL("sspm", ext_sspm, false), > - MULTI_EXT_CFG_BOOL("supm", ext_supm, false), > - > - MULTI_EXT_CFG_BOOL("smaia", ext_smaia, false), > - MULTI_EXT_CFG_BOOL("smdbltrp", ext_smdbltrp, false), > - MULTI_EXT_CFG_BOOL("smepmp", ext_smepmp, false), > - MULTI_EXT_CFG_BOOL("smpmpmt", ext_smpmpmt, false), > - MULTI_EXT_CFG_BOOL("smrnmi", ext_smrnmi, false), > - MULTI_EXT_CFG_BOOL("smmpm", ext_smmpm, false), > - MULTI_EXT_CFG_BOOL("smnpm", ext_smnpm, false), > - MULTI_EXT_CFG_BOOL("smstateen", ext_smstateen, false), > - MULTI_EXT_CFG_BOOL("ssaia", ext_ssaia, false), > - MULTI_EXT_CFG_BOOL("ssdbltrp", ext_ssdbltrp, false), > - MULTI_EXT_CFG_BOOL("svade", ext_svade, false), > - MULTI_EXT_CFG_BOOL("svadu", ext_svadu, true), > - MULTI_EXT_CFG_BOOL("svinval", ext_svinval, false), > - MULTI_EXT_CFG_BOOL("svnapot", ext_svnapot, false), > - MULTI_EXT_CFG_BOOL("svpbmt", ext_svpbmt, false), > - MULTI_EXT_CFG_BOOL("svrsw60t59b", ext_svrsw60t59b, false), > - MULTI_EXT_CFG_BOOL("svvptc", ext_svvptc, true), > - > - MULTI_EXT_CFG_BOOL("zicntr", ext_zicntr, true), > - MULTI_EXT_CFG_BOOL("zihpm", ext_zihpm, true), > - MULTI_EXT_CFG_BOOL("zilsd", ext_zilsd, false), > - > - MULTI_EXT_CFG_BOOL("zba", ext_zba, true), > - MULTI_EXT_CFG_BOOL("zbb", ext_zbb, true), > - MULTI_EXT_CFG_BOOL("zbc", ext_zbc, true), > - MULTI_EXT_CFG_BOOL("zbkb", ext_zbkb, false), > - MULTI_EXT_CFG_BOOL("zbkc", ext_zbkc, false), > - MULTI_EXT_CFG_BOOL("zbkx", ext_zbkx, false), > - MULTI_EXT_CFG_BOOL("zbs", ext_zbs, true), > - MULTI_EXT_CFG_BOOL("zk", ext_zk, false), > - MULTI_EXT_CFG_BOOL("zkn", ext_zkn, false), > - MULTI_EXT_CFG_BOOL("zknd", ext_zknd, false), > - MULTI_EXT_CFG_BOOL("zkne", ext_zkne, false), > - MULTI_EXT_CFG_BOOL("zknh", ext_zknh, false), > - MULTI_EXT_CFG_BOOL("zkr", ext_zkr, false), > - MULTI_EXT_CFG_BOOL("zks", ext_zks, false), > - MULTI_EXT_CFG_BOOL("zksed", ext_zksed, false), > - MULTI_EXT_CFG_BOOL("zksh", ext_zksh, false), > - MULTI_EXT_CFG_BOOL("zkt", ext_zkt, false), > - MULTI_EXT_CFG_BOOL("ztso", ext_ztso, false), > - > - MULTI_EXT_CFG_BOOL("zdinx", ext_zdinx, false), > - MULTI_EXT_CFG_BOOL("zfinx", ext_zfinx, false), > - MULTI_EXT_CFG_BOOL("zhinx", ext_zhinx, false), > - MULTI_EXT_CFG_BOOL("zhinxmin", ext_zhinxmin, false), > - > - MULTI_EXT_CFG_BOOL("zicbom", ext_zicbom, true), > - MULTI_EXT_CFG_BOOL("zicbop", ext_zicbop, true), > - MULTI_EXT_CFG_BOOL("zicboz", ext_zicboz, true), > - > - MULTI_EXT_CFG_BOOL("zmmul", ext_zmmul, false), > - > - MULTI_EXT_CFG_BOOL("zca", ext_zca, false), > - MULTI_EXT_CFG_BOOL("zcb", ext_zcb, false), > - MULTI_EXT_CFG_BOOL("zcd", ext_zcd, false), > - MULTI_EXT_CFG_BOOL("zce", ext_zce, false), > - MULTI_EXT_CFG_BOOL("zcf", ext_zcf, false), > - MULTI_EXT_CFG_BOOL("zcmp", ext_zcmp, false), > - MULTI_EXT_CFG_BOOL("zcmt", ext_zcmt, false), > - MULTI_EXT_CFG_BOOL("zicond", ext_zicond, false), > - MULTI_EXT_CFG_BOOL("zclsd", ext_zclsd, false), > - > - /* Vector cryptography extensions */ > - MULTI_EXT_CFG_BOOL("zvbb", ext_zvbb, false), > - MULTI_EXT_CFG_BOOL("zvbc", ext_zvbc, false), > - MULTI_EXT_CFG_BOOL("zvkb", ext_zvkb, false), > - MULTI_EXT_CFG_BOOL("zvkg", ext_zvkg, false), > - MULTI_EXT_CFG_BOOL("zvkned", ext_zvkned, false), > - MULTI_EXT_CFG_BOOL("zvknha", ext_zvknha, false), > - MULTI_EXT_CFG_BOOL("zvknhb", ext_zvknhb, false), > - MULTI_EXT_CFG_BOOL("zvksed", ext_zvksed, false), > - MULTI_EXT_CFG_BOOL("zvksh", ext_zvksh, false), > - MULTI_EXT_CFG_BOOL("zvkt", ext_zvkt, false), > - MULTI_EXT_CFG_BOOL("zvkn", ext_zvkn, false), > - MULTI_EXT_CFG_BOOL("zvknc", ext_zvknc, false), > - MULTI_EXT_CFG_BOOL("zvkng", ext_zvkng, false), > - MULTI_EXT_CFG_BOOL("zvks", ext_zvks, false), > - MULTI_EXT_CFG_BOOL("zvksc", ext_zvksc, false), > - MULTI_EXT_CFG_BOOL("zvksg", ext_zvksg, false), > - > - { }, > -}; > - > -const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[] = { > - MULTI_EXT_CFG_BOOL("xtheadba", ext_xtheadba, false), > - MULTI_EXT_CFG_BOOL("xtheadbb", ext_xtheadbb, false), > - MULTI_EXT_CFG_BOOL("xtheadbs", ext_xtheadbs, false), > - MULTI_EXT_CFG_BOOL("xtheadcmo", ext_xtheadcmo, false), > - MULTI_EXT_CFG_BOOL("xtheadcondmov", ext_xtheadcondmov, false), > - MULTI_EXT_CFG_BOOL("xtheadfmemidx", ext_xtheadfmemidx, false), > - MULTI_EXT_CFG_BOOL("xtheadfmv", ext_xtheadfmv, false), > - MULTI_EXT_CFG_BOOL("xtheadmac", ext_xtheadmac, false), > - MULTI_EXT_CFG_BOOL("xtheadmemidx", ext_xtheadmemidx, false), > - MULTI_EXT_CFG_BOOL("xtheadmempair", ext_xtheadmempair, false), > - MULTI_EXT_CFG_BOOL("xtheadsync", ext_xtheadsync, false), > - MULTI_EXT_CFG_BOOL("xventanacondops", ext_XVentanaCondOps, false), > - MULTI_EXT_CFG_BOOL("xmipscbop", ext_xmipscbop, false), > - MULTI_EXT_CFG_BOOL("xmipscmov", ext_xmipscmov, false), > - MULTI_EXT_CFG_BOOL("xmipslsp", ext_xmipslsp, false), > - MULTI_EXT_CFG_BOOL("xlrbr", ext_xlrbr, false), > - > - { }, > -}; > - > -/* These are experimental so mark with 'x-' */ > -const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] = { > - MULTI_EXT_CFG_BOOL("x-svukte", ext_svukte, false), > - > - { }, > -}; > - > static void cpu_set_prop_err(RISCVCPU *cpu, const char *propname, > Error **errp) > { > diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h > index 46bc29d307..3a91fe5f91 100644 > --- a/target/riscv/cpu.h > +++ b/target/riscv/cpu.h > @@ -983,16 +983,6 @@ bool isa_ext_is_enabled(RISCVCPU *cpu, uint32_t > ext_offset); > void riscv_cpu_set_misa_ext(CPURISCVState *env, uint32_t ext); > bool riscv_cpu_is_vendor(Object *cpu_obj); > > -typedef struct RISCVCPUMultiExtConfig { > - const char *name; > - uint32_t offset; > - bool enabled; > -} RISCVCPUMultiExtConfig; > - > -extern const RISCVCPUMultiExtConfig riscv_cpu_extensions[]; > -extern const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[]; > -extern const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[]; > - > typedef struct isa_ext_data { > const char *name; > const char *prop_name; > -- > 2.43.0 > >
