U Extension
- Implemented Version
-
1.0.0
Synopsis
User-mode privilege level is supported by an implementation if the U extension is present. Note that the RISC-V ISA doesn’t formally define a U extension and it is only discussed in the Privileged ISA manual.
Parameters
This extension has the following implementation options:
- MCOUNTENABLE_EN
-
Indicates which counters can be delegated via mcounteren.
An unimplemented counter cannot be specified, i.e., if HPM_COUNTER_EN[3] is false, it would be illegal to set MCOUNTENABLE_EN[3] to true.
- MUTABLE_MISA_U
- TRAP_ON_ECALL_FROM_U
-
Whether or not an ECALL-from-U-mode causes a synchronous exception.
The spec states that implementations may handle ECALLs transparently without raising a trap, in which case the EEI must provide a builtin.
- UXLEN
-
Set of XLENs supported in U-mode. When both 32 and 64 are supported, SXLEN can be changed, via mstatus.UXL, between 32 and 64.
- U_MODE_ENDIANNESS
-
Endianness of data in U-mode. Can be one of:
-
little: U-mode data is always little endian
-
big: U-mode data is always big endian
-
dynamic: U-mode data can be either little or big endian, depending on the CSR field mstatus.UBE
-