Skip to content

Commit

Permalink
Incorporate minor architecture review change.
Browse files Browse the repository at this point in the history
  • Loading branch information
martinmaas committed Mar 14, 2024
1 parent a1e6846 commit 82a4a29
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
Binary file modified zjpm-spec.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion zjpm/header.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
:description: RISC-V J Extension: Pointer Masking
:company: RISC-V.org
:revdate: 03/2024
:revnumber: 0.8.4
:revnumber: 0.8.5
:revremark: Development
//development: assume everything can change
//stable: assume everything could change
Expand Down
4 changes: 2 additions & 2 deletions zjpm/instructions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ All of these fields are read-only 0 on RV32 systems.

`Ssnpm` adds a new 2-bit WARL field (`PMM`) to bits 33:32 of `senvcfg`. Setting `PMM` enables or disables pointer masking for the next lower privilege mode (U/VU mode), according to the values in Table 2.

In systems where the H Extension is present, `Ssnpm` also adds a new 2-bit WARL field (`PMM`) to bits 33:32 of `henvcfg`. Setting `PMM` enables or disables pointer masking for VS-mode, according to the values in Table 2. Further, a 2-bit WARL field (`PMM`) is added to bits 49:48 of `hstatus`. Setting `hstatus.PMM` enables or disables pointer masking for `HLV.\*` and `HSV.*` instructions in U-mode, according to the values in Table 2, when their explicit memory access is performed as though in VU-mode. In HS- and M-modes, pointer masking for these instructions is enabled or disabled by `senvcfg.PMM`, when their explicit memory access is performed as though in VU-mode. Setting `henvcfg.PMM` enables or disables pointer masking for `HLV.\*` and `HSV.*` when their explicit memory access is performed as though in VS-mode.
In systems where the H Extension is present, `Ssnpm` also adds a new 2-bit WARL field (`PMM`) to bits 33:32 of `henvcfg`. Setting `PMM` enables or disables pointer masking for VS-mode, according to the values in Table 2. Further, a 2-bit WARL field (`HUPMM`) is added to bits 49:48 of `hstatus`. Setting `hstatus.HUPMM` enables or disables pointer masking for `HLV.\*` and `HSV.*` instructions in U-mode, according to the values in Table 2, when their explicit memory access is performed as though in VU-mode. In HS- and M-modes, pointer masking for these instructions is enabled or disabled by `senvcfg.PMM`, when their explicit memory access is performed as though in VU-mode. Setting `henvcfg.PMM` enables or disables pointer masking for `HLV.\*` and `HSV.*` when their explicit memory access is performed as though in VS-mode.

[NOTE]
====
The hypervisor should copy the value written to `senvcfg.PMM` by the guest to the `hstatus.PMM` field prior to invoking `HLV.\*` or `HSV.*` instructions in U-mode.
The hypervisor should copy the value written to `senvcfg.PMM` by the guest to the `hstatus.HUPMM` field prior to invoking `HLV.\*` or `HSV.*` instructions in U-mode.
====

The memory accesses performed by the `HLVX.*` instructions are not subject to pointer masking.
Expand Down

0 comments on commit 82a4a29

Please sign in to comment.