Message ID | 20240703144921.1281-3-zhiwei_liu@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | target/riscv: Expose RV32 cpu to RV64 QEMU | expand |
On 7/3/24 07:49, LIU Zhiwei wrote: > - pmp_size = sizeof(target_ulong); > + pmp_size = 2UL << riscv_cpu_mxl(env); UL is almost always incorrect in qemu, as 'long' has no specifically useful meaning. In this case you can drop it completely. r~
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;