[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/6] target/riscv: Add MISA implied rules
From: |
frank . chang |
Subject: |
[PATCH 3/6] target/riscv: Add MISA implied rules |
Date: |
Mon, 3 Jun 2024 14:05:19 +0800 |
From: Frank Chang <frank.chang@sifive.com>
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>
---
target/riscv/cpu.c | 50 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 49 insertions(+), 1 deletion(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index c7e5cec7ef..a6e9055c5f 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -2242,8 +2242,56 @@ RISCVCPUProfile *riscv_profiles[] = {
NULL,
};
+static RISCVCPUImpliedExtsRule RVA_IMPLIED = {
+ .is_misa = true,
+ .ext = RVA,
+ .implied_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_misas = RVF,
+ .implied_exts = { RISCV_IMPLIED_EXTS_RULE_END },
+};
+
+static RISCVCPUImpliedExtsRule RVF_IMPLIED = {
+ .is_misa = true,
+ .ext = RVF,
+ .implied_exts = {
+ CPU_CFG_OFFSET(ext_zicsr),
+
+ RISCV_IMPLIED_EXTS_RULE_END
+ },
+};
+
+static RISCVCPUImpliedExtsRule RVM_IMPLIED = {
+ .is_misa = true,
+ .ext = RVM,
+ .implied_exts = {
+ CPU_CFG_OFFSET(ext_zmmul),
+
+ RISCV_IMPLIED_EXTS_RULE_END
+ },
+};
+
+static RISCVCPUImpliedExtsRule RVV_IMPLIED = {
+ .is_misa = true,
+ .ext = RVV,
+ .implied_exts = {
+ CPU_CFG_OFFSET(ext_zve64d),
+
+ RISCV_IMPLIED_EXTS_RULE_END
+ },
+};
+
RISCVCPUImpliedExtsRule *riscv_misa_implied_rules[] = {
- NULL
+ &RVA_IMPLIED, &RVD_IMPLIED, &RVF_IMPLIED,
+ &RVM_IMPLIED, &RVV_IMPLIED, NULL
};
RISCVCPUImpliedExtsRule *riscv_ext_implied_rules[] = {
--
2.43.2
- [PATCH 0/6] Introduce extension implied rules, frank . chang, 2024/06/03
- [PATCH 2/6] target/riscv: Introduce extension implied rule helpers, frank . chang, 2024/06/03
- [PATCH 1/6] target/riscv: Introduce extension implied rules definition, frank . chang, 2024/06/03
- [PATCH 3/6] target/riscv: Add MISA implied rules,
frank . chang <=
- [PATCH 4/6] target/riscv: Add standard extension implied rules, frank . chang, 2024/06/03
- [PATCH 5/6] target/riscv: Add Zc extension implied rule, frank . chang, 2024/06/03
- [PATCH 6/6] target/riscv: Remove extension auto-update check statements, frank . chang, 2024/06/03
- Re: [PATCH 0/6] Introduce extension implied rules, Frank Chang, 2024/06/05