This series fixes PMP address alignment to comply with the RISC-V specification WARL (Write-Any, Read-Legal) semantics.
When configuring pmpcfg (TOR, NA4, or NAPOT) and pmpaddr, if the value is smaller than the PMP granularity, it needs to be aligned to the PMP granularity. Chagnes in v5: - Use uint64_t for granule, in preparation for upcoming single-binary work: https://lore.kernel.org/qemu-devel/[email protected]/ Changes in v4: - Rebase riscv-to-apply.next Changes in v3: - Use ROUND_UP() macro for NAPOT address alignment Changes in v2: - Fixed commit message grammar ("it needs to be aligned") - Use ROUND_DOWN() macro for TOR address alignment to improve code readability Jay Chang (2): target/riscv: Align pmp size to pmp-granularity target/riscv: Improve PMP address alignment readability target/riscv/pmp.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) -- 2.48.1
