HomeFreeBSD

Support RISC-V implementations that do not manage the A and D bits

Description

Support RISC-V implementations that do not manage the A and D bits
(e.g. RocketChip, lowRISC and derivatives).

RISC-V page table entries support A (accessed) and D (dirty) bits. The
spec makes hardware support for these bits optional. Implementations that
do not manage these bits in hardware raise page faults for accesses to a
valid page without A set and writes to a writable page without D set.
Check for these types of faults when handling a page fault and fixup the
PTE without calling vm_fault if they occur.

Reviewed by: jhb, markj
Approved by: re (gjb)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D17424

Details

Provenance
brAuthored on
Reviewer
jhb
Differential Revision
D17424: Support for 2nd scheme of PTE A and D bits management
Parents
rS339420: Fix typos from r339409.
Branches
Unknown
Tags
Unknown