From: TANG Tiancheng Date: Thu, 19 Sep 2024 05:50:42 +0000 (+0800) Subject: target/riscv: Adjust PMP size for no-MMU RV64 QEMU running RV32 X-Git-Tag: v9.2.0-rc0~28^2~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efd29e3398001c764fc9f0066ba1589e6ebc1043;p=thirdparty%2Fqemu.git target/riscv: Adjust PMP size for no-MMU RV64 QEMU running RV32 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 Message-ID: <20240919055048.562-3-zhiwei_liu@linux.alibaba.com> Signed-off-by: Alistair Francis --- diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 9eea397e72c..5e74b7220f3 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 = 2 << riscv_cpu_mxl(env); } } else { pmp_size = size;