Re: [PATCH 2/6] target/riscv: Adjust PMP size for no-MMU RV64 QEMU running RV32

2024-07-02 Thread Alistair Francis
On Mon, Jul 1, 2024 at 1:40 PM LIU Zhiwei  wrote:
>
> From: TANG Tiancheng 
>
> Ensure pmp_size is correctly determined using mxl for RV32
> in RV64 QEMU.
>
> Signed-off-by: TANG Tiancheng 
> Reviewed-by: Liu Zhiwei 

Reviewed-by: Alistair Francis 

Alistair

> ---
>  target/riscv/pmp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
> index 9eea397e72..f65aa3dba7 100644
> --- a/target/riscv/pmp.c
> +++ b/target/riscv/pmp.c
> @@ -326,7 +326,7 @@ bool pmp_hart_has_privs(CPURISCVState *env, hwaddr addr,
>   */
>  pmp_size = -(addr | TARGET_PAGE_MASK);
>  } else {
> -pmp_size = sizeof(target_ulong);
> +pmp_size = 2UL << riscv_cpu_mxl(env);
>  }
>  } else {
>  pmp_size = size;
> --
> 2.43.0
>
>



[PATCH 2/6] target/riscv: Adjust PMP size for no-MMU RV64 QEMU running RV32

2024-06-30 Thread LIU Zhiwei
From: TANG Tiancheng 

Ensure pmp_size is correctly determined using mxl for RV32
in RV64 QEMU.

Signed-off-by: TANG Tiancheng 
Reviewed-by: Liu Zhiwei 
---
 target/riscv/pmp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
index 9eea397e72..f65aa3dba7 100644
--- a/target/riscv/pmp.c
+++ b/target/riscv/pmp.c
@@ -326,7 +326,7 @@ bool pmp_hart_has_privs(CPURISCVState *env, hwaddr addr,
  */
 pmp_size = -(addr | TARGET_PAGE_MASK);
 } else {
-pmp_size = sizeof(target_ulong);
+pmp_size = 2UL << riscv_cpu_mxl(env);
 }
 } else {
 pmp_size = size;
-- 
2.43.0