Allow hard-wiring of PMP regions
Created by: michael-platzer
This PR adds three new fields to the cva6_cfg_t
configuration struct, which allow to specify reset values for the PMP configuration and address CSRs as well as optionally making individual PMP entries read-only. The purpose is to allow hard-wiring of certain regions' privileges, which is explicitly allowed by the RISC-V Privileged Architecture specification Machine-Level ISA, v1.12 (see Sect. 3.7).
Hard-wiring of PMP regions is useful whenever a SoC has memory regions with fixed properties and protection rules. Instead of relying on SW to setup the PMP regions correctly on every boot, with this PR regions may be initialized using the new parameters and optionally made read-only.