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: sspmp/Resource_Sharing.adoc
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,7 @@ The similar architecture of PMP and SPMP registers, including their shared addre
5
5
This chapter introduces the `Smpmpdeleg` extension, a mechanism that allows hardware resources to be dynamically allocated between PMP and SPMP.
6
6
7
7
*This extension is mandatory for implementations that support Sspmp (<<S-level_Physical_Memory_Protection>>) in conjunction with M-mode (i.e., `Sm1p13`).*
8
-
To streamline the specification and reduce optional features, the `Smpmpdeleg` extension mandates a total of 64 PMP entries.
9
-
However, an implementation retains the flexibility to provide fewer physical entries; any unimplemented entries behave as read-only zero.
8
+
To streamline the specification and reduce optional features, the `Smpmpdeleg` extension implements 64 PMP entries, but fewer can be writable; any non-writable entries behave as read-only zero.
10
9
11
10
12
11
@@ -18,9 +17,9 @@ This delegation is managed by an MXLEN-bit M-mode CSR named `mpmpdeleg`, whose l
18
17
19
18
. A key component of this CSR is the `pmpnum` WARL field, which defines the starting index for delegation.
20
19
All PMP entries with an index equal to or greater than `pmpnum` are delegated as SPMP entries.
21
-
. If a write to `pmpnum` specifies a value exceeding the number of physically implemented PMP entries, the field subsequently reads back the total count of implemented entries.
22
-
. Setting `pmpnum` to zero delegates all PMP entries to SPMP, while setting it to the total number of entries delegates none.
23
-
. By default, unless hardwired, `pmpnum` resets to the total number of implemented PMP entries.
20
+
. If a write to `pmpnum` specifies a value exceeding the number of writable PMP entries, the field subsequently reads back the total count of writable entries. In such a case, no SPMP entries are delegated.
21
+
. Setting `pmpnum` to zero delegates all writable PMP entries to SPMP, while setting it to the total number of writable entries delegates none.
22
+
. By default, unless hardwired, `pmpnum` resets to the total number of writable PMP entries.
24
23
. If no entries are delegated to SPMP, the `Sspmp` extension is effectively disabled, and any attempt to access SPMP-related registers results in reads returning zero, and writes being ignored.
0 commit comments