target/riscv: Add MISA extension implied rules
Add MISA extension implied rules to enable the implied extensions of MISA recursively. Signed-off-by: Frank Chang <frank.chang@sifive.com> Reviewed-by: Jerry Zhang Jian <jerry.zhangjian@sifive.com> Tested-by: Max Chou <max.chou@sifive.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Message-ID: <20240625114629.27793-4-frank.chang@sifive.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
047da861f9
commit
171773391a
@ -2250,8 +2250,56 @@ RISCVCPUProfile *riscv_profiles[] = {
|
||||
NULL,
|
||||
};
|
||||
|
||||
static RISCVCPUImpliedExtsRule RVA_IMPLIED = {
|
||||
.is_misa = true,
|
||||
.ext = RVA,
|
||||
.implied_multi_exts = {
|
||||
CPU_CFG_OFFSET(ext_zalrsc), CPU_CFG_OFFSET(ext_zaamo),
|
||||
|
||||
RISCV_IMPLIED_EXTS_RULE_END
|
||||
},
|
||||
};
|
||||
|
||||
static RISCVCPUImpliedExtsRule RVD_IMPLIED = {
|
||||
.is_misa = true,
|
||||
.ext = RVD,
|
||||
.implied_misa_exts = RVF,
|
||||
.implied_multi_exts = { RISCV_IMPLIED_EXTS_RULE_END },
|
||||
};
|
||||
|
||||
static RISCVCPUImpliedExtsRule RVF_IMPLIED = {
|
||||
.is_misa = true,
|
||||
.ext = RVF,
|
||||
.implied_multi_exts = {
|
||||
CPU_CFG_OFFSET(ext_zicsr),
|
||||
|
||||
RISCV_IMPLIED_EXTS_RULE_END
|
||||
},
|
||||
};
|
||||
|
||||
static RISCVCPUImpliedExtsRule RVM_IMPLIED = {
|
||||
.is_misa = true,
|
||||
.ext = RVM,
|
||||
.implied_multi_exts = {
|
||||
CPU_CFG_OFFSET(ext_zmmul),
|
||||
|
||||
RISCV_IMPLIED_EXTS_RULE_END
|
||||
},
|
||||
};
|
||||
|
||||
static RISCVCPUImpliedExtsRule RVV_IMPLIED = {
|
||||
.is_misa = true,
|
||||
.ext = RVV,
|
||||
.implied_multi_exts = {
|
||||
CPU_CFG_OFFSET(ext_zve64d),
|
||||
|
||||
RISCV_IMPLIED_EXTS_RULE_END
|
||||
},
|
||||
};
|
||||
|
||||
RISCVCPUImpliedExtsRule *riscv_misa_ext_implied_rules[] = {
|
||||
NULL
|
||||
&RVA_IMPLIED, &RVD_IMPLIED, &RVF_IMPLIED,
|
||||
&RVM_IMPLIED, &RVV_IMPLIED, NULL
|
||||
};
|
||||
|
||||
RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rules[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user