Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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