The 16 PMP entries can be described by only four pmpcfg registers pmpcfg0..pmpcfg3.
Figure 22 in section 3.7.1 should be replaced by an updated version that shows only four pmpcfgN registers.
Since only 8 of the 16 entries are effectively implemented but all 16 are accessible (they do not raise illegal instruction exceptions on access), the behavior of the non-implemented entries needs to be specified ('read-only zero' for pmpaddrN? TBD for pmpcfg2 and pmpcfg3?) See the discussion in issue #1178.
Is there an existing CVA6 bug for this?
Bug Description
The privileged spec annotated for CV32A65X (https://cva6.readthedocs.io/en/latest/06_cv32a65x_riscv/index.html) is misleading when describing
pmpcfgN
registers:pmpcfg
registerspmpcfg0..pmpcfg3
.pmpcfgN
registers.illegal instruction
exceptions on access), the behavior of the non-implemented entries needs to be specified ('read-only zero' forpmpaddrN
? TBD forpmpcfg2
andpmpcfg3
?) See the discussion in issue #1178.