aboutsummaryrefslogtreecommitdiff
path: root/target/riscv
diff options
context:
space:
mode:
authorTANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>2024-09-19 13:50:42 +0800
committerAlistair Francis <alistair.francis@wdc.com>2024-10-30 11:22:07 +1000
commitefd29e3398001c764fc9f0066ba1589e6ebc1043 (patch)
tree7fdd01831f8070cad289653bc034490327ccfc4c /target/riscv
parent658384884adc6379dbaf09e11a1f1f74ba46c772 (diff)
downloadqemu-efd29e3398001c764fc9f0066ba1589e6ebc1043.zip
qemu-efd29e3398001c764fc9f0066ba1589e6ebc1043.tar.gz
qemu-efd29e3398001c764fc9f0066ba1589e6ebc1043.tar.bz2
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 <tangtiancheng.ttc@alibaba-inc.com> Reviewed-by: Liu Zhiwei <zhiwei_liu@linux.alibaba.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20240919055048.562-3-zhiwei_liu@linux.alibaba.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'target/riscv')
-rw-r--r--target/riscv/pmp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
index 9eea397..5e74b72 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;