[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled extens
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled extensions in isa_string based on priv version |
Date: |
Thu, 20 Apr 2023 06:20:53 -0300 |
From: Weiwei Li <liweiwei@iscas.ac.cn>
Using implicitly enabled extensions such as Zca/Zcf/Zcd instead of their
super extensions can simplify the extension related check. However, they
may have higher priv version than their super extensions. So we should mask
them in the isa_string based on priv version to make them invisible to user
if the specified priv version is lower than their minimal priv version.
Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/cpu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index dd35cf378f..9bb0e6b180 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -1721,7 +1721,8 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char
**isa_str,
int i;
for (i = 0; i < ARRAY_SIZE(isa_edata_arr); i++) {
- if (isa_ext_is_enabled(cpu, &isa_edata_arr[i])) {
+ if (cpu->env.priv_ver >= isa_edata_arr[i].min_version &&
+ isa_ext_is_enabled(cpu, &isa_edata_arr[i])) {
new = g_strconcat(old, "_", isa_edata_arr[i].name, NULL);
g_free(old);
old = new;
--
2.40.0
- [PATCH RESEND v7 00/12] target/riscv: rework CPU extensions validation, Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 03/12] target/riscv/cpu.c: remove set_priv_version(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 01/12] target/riscv/cpu.c: add riscv_cpu_validate_v(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 02/12] target/riscv/cpu.c: remove set_vext_version(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled extensions in isa_string based on priv version,
Daniel Henrique Barboza <=
- [PATCH RESEND v7 04/12] target/riscv: add PRIV_VERSION_LATEST, Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 06/12] target/riscv: Update check for Zca/Zcf/Zcd, Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 07/12] target/riscv/cpu.c: add priv_spec validate/disable_exts helpers, Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 08/12] target/riscv/cpu.c: add riscv_cpu_validate_misa_mxl(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 09/12] target/riscv/cpu.c: validate extensions before riscv_timer_init(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 10/12] target/riscv/cpu.c: remove cfg setup from riscv_cpu_init(), Daniel Henrique Barboza, 2023/04/20
- [PATCH RESEND v7 11/12] target/riscv: rework write_misa(), Daniel Henrique Barboza, 2023/04/20