Skip to content

Commit

Permalink
Ssu64xl is mandatory in RVA22S64
Browse files Browse the repository at this point in the history
RVA22S64 is ratified and so should not be changed, but I claim this is not
a semantic change.  It isn't possible to implement RVA22U64 and RVA22S64
together without having implemented the Ssu64xl extension along the way.
The reasoning is as follows.  When SXLEN=64 (as is the case for RVA22S64),
the PrivArch v1.12 spec requires the sstatus.UXL field exist and be encoded
the same as MXL.  The table in the M-mode chapter that describes MXL's encoding
only lists 3 values (RV32=1, RV64=2, RV128=3); it does not provide for
representing XLEN=64 with any value other than 2.  Since RVA22U64 requires
UXLEN=64, it follows that sstatus.UXL must be capable of holding the value 2,
which is exactly what Ssu64xl stipulates.
  • Loading branch information
aswaterman committed Jan 12, 2024
1 parent a309487 commit 1372053
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions profiles.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -900,10 +900,16 @@ NOTE: This is new extension name capturing this feature.

- *Svinval* Fine-Grained Address-Translation Cache Invalidation

- *Ssu64xl* `sstatus.UXL` must be capable of holding the value 2
(i.e., UXLEN=64 must be supported).

NOTE: This is a new extension name for this feature.


==== RVA22S64 Optional Extensions

RVA22S64 has four unprivileged options (Zfh, V, Zkn, Zks) from
RVA22U64, and eight privileged options (Sv48, Sv57, Svnapot, Ssu64xl,
RVA22U64, and eight privileged options (Sv48, Sv57, Svnapot,
Sstc, Sscofpmf, Zkr, H).

The privileged optional extensions are:
Expand All @@ -917,11 +923,6 @@ The privileged optional extensions are:
NOTE: It is expected that Svnapot will be mandatory in the next
profile release.

- *Ssu64xl* `sstatus.UXL` must be capable of holding the value 2
(i.e., UXLEN=64 must be supported).

NOTE: This is a new extension name for this feature.

- *Sstc* supervisor-mode timer interrupts.

NOTE: Sstc was not made mandatory in RVA22S64 as it is a more
Expand Down

0 comments on commit 1372053

Please sign in to comment.