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
>
>

Reply via email to