Open
Description
Here is the current description of DCSR.mprven
All operations are executed with machine mode privilege, except that additional Debug Mode CSRs
are accessible and mprv in mstatus may be ignored according to mprven. Full permission checks,
or a relaxed set of permission checks, will apply according to relaxedpriv.
Now here is roi from 3.7.1.3. Access Memory
aamvirtual
0 (physical): Addresses are physical (to the hart they are performed on).
1 (virtual): Addresses are virtual, and translated the way they would be
from M-mode, with MPRV set.
Debug Modules on systems without address translation (i.e. virtual
addresses equal physical) may optionally allow aamvirtual set to 1, which
would produce the same result as that same abstract command with
aamvirtual cleared.
This creates a confusion since it's not quite clear whether DCSR.mprven should affect Abstract Memory Command or not. To me it seems that it should not. Moreover, it looks like DCSR.mprven is intended to be usable for program-buffer-like operations.
It would be nice to somehow clarify this in the specification. For example we could explicitly state if DCSR.mprven affect abstract memory access commands.
Metadata
Assignees
Labels
No labels
Activity