siselect
Supervisor Indirect Register Select
The siselect register will support the value range 0..0xFFF at a minimum. A future extension may define a value range outside of this minimum range. Only if such an extension is implemented will siselect be required to support larger values.
Requiring a range of 0-0xFFF for siselect, even though most or all of the space may be reserved or inaccessible, permits M-mode to emulate indirectly accessed registers in this implemented range, including registers that may be standardized in the future.
Values of siselect with the most-significant bit set (bit XLEN - 1 = 1) are designated only for custom use, presumably for accessing custom registers through the alias CSRs. Values of siselect with the most-significant bit clear are designated only for standard use and are reserved until allocated to a standard architecture extension. If XLEN is changed, the most-significant bit of siselect moves to the new position, retaining its value from before.
Attributes
Defining Extension |
|
---|---|
CSR Address |
0x150 |
Length |
32 when CSR[mstatus].SXL == 0 64 when CSR[mstatus].SXL == 1 |
Privilege Mode |
S |
Format
This CSR format changes dynamically.