summaryrefslogtreecommitdiffstats
path: root/hw/misc/mps2-fpgaio.c
diff options
context:
space:
mode:
authorRalf Ramsauer2022-04-23 23:59:07 +0200
committerAlistair Francis2022-04-29 02:47:46 +0200
commit457a86a0ebe6a5544aa4f2ee7a2af5c125b9fb1b (patch)
tree26014f0fdecb8ff07ca9cc9b3b01dffea025ff99 /hw/misc/mps2-fpgaio.c
parenttarget/riscv: rvk: expose zbk* and zk* properties (diff)
downloadqemu-457a86a0ebe6a5544aa4f2ee7a2af5c125b9fb1b.tar.gz
qemu-457a86a0ebe6a5544aa4f2ee7a2af5c125b9fb1b.tar.xz
qemu-457a86a0ebe6a5544aa4f2ee7a2af5c125b9fb1b.zip
target/riscv: Fix incorrect PTE merge in walk_pte
Two non-subsequent PTEs can be mapped to subsequent paddrs. In this case, walk_pte will erroneously merge them. Enforce the split up, by tracking the virtual base address. Let's say we have the mapping: 0x81200000 -> 0x89623000 (4K) 0x8120f000 -> 0x89624000 (4K) Before, walk_pte would have shown: vaddr paddr size attr ---------------- ---------------- ---------------- ------- 0000000081200000 0000000089623000 0000000000002000 rwxu-ad as it only checks for subsequent paddrs. With this patch, it becomes: vaddr paddr size attr ---------------- ---------------- ---------------- ------- 0000000081200000 0000000089623000 0000000000001000 rwxu-ad 000000008120f000 0000000089624000 0000000000001000 rwxu-ad Signed-off-by: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20220423215907.673663-1-ralf.ramsauer@oth-regensburg.de> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'hw/misc/mps2-fpgaio.c')
0 files changed, 0 insertions, 0 deletions