{ },
};
-/*
- * 'Named features' is the name we give to extensions that we
- * don't want to expose to users. They are either immutable
- * (always enabled/disable) or they'll vary depending on
- * the resulting CPU state.
- *
- * Some of them are always enabled depending on priv version
- * of the CPU and are declared directly in isa_edata_arr[].
- * The ones listed here have special checks during finalize()
- * time and require their own flags like regular extensions.
- * See riscv_cpu_update_named_features() for more info.
- */
-const RISCVCPUMultiExtConfig riscv_cpu_named_features[] = {
- MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true),
- MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true),
- MULTI_EXT_CFG_BOOL("sha", ext_sha, true),
-
- /*
- * 'ziccrse' has its own flag because the KVM driver
- * wants to enable/disable it on its own accord.
- */
- MULTI_EXT_CFG_BOOL("ziccrse", ext_ziccrse, true),
-
- { },
-};
-
static void cpu_set_prop_err(RISCVCPU *cpu, const char *propname,
Error **errp)
{
extern const RISCVCPUMultiExtConfig riscv_cpu_extensions[];
extern const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[];
extern const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[];
-extern const RISCVCPUMultiExtConfig riscv_cpu_named_features[];
typedef struct isa_ext_data {
const char *name;
}
}
-static void riscv_cpu_update_named_features(RISCVCPU *cpu)
+static void riscv_cpu_update_cfg(RISCVCPU *cpu)
{
if (cpu->env.priv_ver >= PRIV_VERSION_1_11_0) {
cpu->cfg.has_priv_1_11 = true;
return;
}
- riscv_cpu_update_named_features(cpu);
+ riscv_cpu_update_cfg(cpu);
riscv_cpu_validate_profiles(cpu);
if (cpu->cfg.ext_smepmp && !cpu->cfg.pmp) {