[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/riscv: Smepmp: Skip applying default rules when addre
From: |
Alistair Francis |
Subject: |
Re: [PATCH] target/riscv: Smepmp: Skip applying default rules when address matches |
Date: |
Fri, 10 Feb 2023 09:39:30 +1000 |
On Thu, Feb 9, 2023 at 3:53 PM Himanshu Chauhan
<hchauhan@ventanamicro.com> wrote:
>
> When MSECCFG.MML is set, after checking the address range in PMP if the
> asked permissions are not same as programmed in PMP, the default
> permissions are applied. This should only be the case when there
> is no matching address is found.
>
> This patch skips applying default rules when matching address range
> is found. It returns the index of the match PMP entry.
>
> fixes: 824cac681c3 (target/riscv: Fix PMP propagation for tlb)
>
> Signed-off-by: Himanshu Chauhan <hchauhan@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/pmp.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
> index d85ad07caa..0dfdb35828 100644
> --- a/target/riscv/pmp.c
> +++ b/target/riscv/pmp.c
> @@ -446,9 +446,12 @@ int pmp_hart_has_privs(CPURISCVState *env, target_ulong
> addr,
> }
> }
>
> - if ((privs & *allowed_privs) == privs) {
> - ret = i;
> - }
> + /*
> + * If matching address range was found, the protection bits
> + * defined with PMP must be used. We shouldn't fallback on
> + * finding default privileges.
> + */
> + ret = i;
> break;
> }
> }
> --
> 2.39.1
>
>