Skip to content

Commit 9c3b399

Browse files
committed
polish resource sharing
1 parent c553a73 commit 9c3b399

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

sspmp/Resource_Sharing.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ The similar architecture of PMP and SPMP registers, including their shared addre
55
This chapter introduces the `Smpmpdeleg` extension, a mechanism that allows hardware resources to be dynamically allocated between PMP and SPMP.
66

77
*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.
109

1110

1211

@@ -18,9 +17,9 @@ This delegation is managed by an MXLEN-bit M-mode CSR named `mpmpdeleg`, whose l
1817

1918
. A key component of this CSR is the `pmpnum` WARL field, which defines the starting index for delegation.
2019
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.
2423
. 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.
2524

2625

0 commit comments

Comments
 (0)