You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/03_reference/pmp.rst
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,13 @@ When PMPEnable is zero, the PMP module is not instantiated and all PMP registers
21
21
PMP Integration
22
22
---------------
23
23
24
-
Addresses from the instruction fetch unit and load-store unit are passed to the PMP module for checking, and the output of the PMP check is used to gate the external request.
24
+
Addresses from the instruction fetch unit and load-store unit are passed to the PMP module for checking.
25
+
The output of PMP check is used to gate the external request of the load-store unit.
26
+
This is because both writes and reads can have side-effects on MMIO devices connected to the data memory bus.
27
+
The request coming from the instruction fetch unit are not gated by the PMP check, so integrators must choose carefully what to connect to the instruction fetch bus.
28
+
Specifically, no devices that experience side-effects due to reading should be available on this bus.
29
+
In general, connecting memories to the instruction fetch bus should be safe.
30
+
25
31
To maintain consistency with external errors, the instruction fetch unit and load-store unit progress with their request as if it was granted externally.
26
32
The PMP error is registered and consumed by the core when the data would have been consumed.
0 commit comments