U Extension

Versions

1.12.0
State

ratified

Ratification date

2019-12

Synopsis

User-level privilege mode

Parameters

This extension has the following implementation options:

MUTABLE_MISA_U

Type

boolean

Valid Values

boolean

Description

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

TRAP_ON_ECALL_FROM_U

Type

boolean

Valid Values

boolean

Description

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

Type

integer

Valid Values

[32, 64, 3264]

Description

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

Type

string

Valid Values

[little, big, dynamic]

Description

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