U Extension

Implemented Version

1.12.0

Versions

1.12.0
Ratification date

2019-12

Synopsis

User-level privilege mode

Parameters

This extension has the following implementation options:

MUTABLE_MISA_U

Indicates whether or not the U extension can be disabled with the misa.U bit.

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. Can be one of:

  • 32: SXLEN is always 32

  • 64: SXLEN is always 64

  • 3264: SXLEN can be changed (via mstatus.UXL) between 32 and 64

U_MODE_ENDIANESS

Endianess of data in U-mode. Can be one of:

  • little: M-mode data is always little endian

  • big: M-mode data is always big endian

  • dynamic: M-mode data can be either little or big endian, depending on the CSR field mstatus.UBE