[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled ex
From: |
Alistair Francis |
Subject: |
Re: [PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled extensions in isa_string based on priv version |
Date: |
Fri, 21 Apr 2023 09:00:52 +1000 |
On Thu, Apr 20, 2023 at 7:23 PM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> 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>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> 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, 2023/04/20
- Re: [PATCH RESEND v7 05/12] target/riscv: Mask the implicitly enabled extensions in isa_string based on priv version,
Alistair Francis <=
- [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