OSDN Git Service

target/riscv: Change the TLB page size depends on PMP entries.
authorZong Li <zong.li@sifive.com>
Tue, 28 Jul 2020 08:26:17 +0000 (16:26 +0800)
committerAlistair Francis <alistair.francis@wdc.com>
Sat, 22 Aug 2020 05:37:55 +0000 (22:37 -0700)
commitaf3fc195e3c8e98b62eca3e4ee927f1965381dc3
tree22c7f1ea1203cb96659676c19143af376b5fcf08
parent9ef82119b10d996cef63af679af5c1a7a85e6c19
target/riscv: Change the TLB page size depends on PMP entries.

The minimum granularity of PMP is 4 bytes, it is small than 4KB page
size, therefore, the pmp checking would be ignored if its range doesn't
start from the alignment of one page. This patch detects the pmp entries
and sets the small page size to TLB if there is a PMP entry which cover
the page size.

Signed-off-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <6b0bf48662ef26ab4c15381a08e78a74ebd7ca79.1595924470.git.zong.li@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/cpu_helper.c
target/riscv/pmp.c
target/riscv/pmp.h