Can we allocate more CSRs so that we can have more PMP entries available? We already have one implementation which requires 20 PMP entries, for example.
Currently the CSR address space can allow up to 64 PMP entries (unless CSRs have been allocated which I don’t know about).
0x3A4 – 0x3AF could become pmpcfg4-15
0x3C0 – 0x3EF could become pmpaddr16-63
64 entries would be more than enough (I don’t envisage needing more than 32), but I don’t know about other users.
I’m happy to allocate the PMP entries in blocks of 16, for example, and make higher numbered unused entries read-only-zero to save area.
So in our case we would implement the CSRs for 32 entries, but entries 20-31 would be read-only-zero