CSR Bit Fields

RISC-V sie CSR Register

Address 0x104Privilege SupervisorAccess RW / SXLENSupervisor status, trap, and interrupt CSRs

Supervisor interrupt-enable register; a view of mie bits relevant to S-mode.

The sie (Supervisor Interrupt Enable) CSR at address 0x104 is the S-mode restricted view of mie. It controls S-mode-relevant interrupt sources: SSIE (bit 1), STIE (bit 5), and SEIE (bit 9). For an S-mode interrupt to be taken while running in S-mode, the source must be pending in sip, enabled in sie, and sstatus.SIE must permit interrupt delivery.

Field Map

Understand sie By Bit Fields

10 key fields
1

SSIE

WARL/RO0

Supervisor-mode Software Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

SSIE (bit 1) — Supervisor-mode Software Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

What This Field Controls

  • - Supervisor-mode Software Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

Common Values

0Disabled

The supervisor interrupt enabled by SSIE is disabled.

1Enabled

The supervisor interrupt enabled by SSIE is enabled; delivery also depends on pending state plus the current-privilege and sstatus.SIE rules.

5

STIE

WARL/RO0

Supervisor-mode Timer Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

STIE (bit 5) — Supervisor-mode Timer Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

What This Field Controls

  • - Supervisor-mode Timer Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

Common Values

0Disabled

The supervisor interrupt enabled by STIE is disabled.

1Enabled

The supervisor interrupt enabled by STIE is enabled; delivery also depends on pending state plus the current-privilege and sstatus.SIE rules.

9

SEIE

WARL/RO0

Supervisor-mode External Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

SEIE (bit 9) — Supervisor-mode External Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

What This Field Controls

  • - Supervisor-mode External Interrupt Enable; read-only zero if the corresponding interrupt cannot become pending or is not implemented.

Common Values

0Disabled

The supervisor interrupt enabled by SEIE is disabled.

1Enabled

The supervisor interrupt enabled by SEIE is enabled; delivery also depends on pending state plus the current-privilege and sstatus.SIE rules.

13

LCOFIE

WARL/RO0

Local counter-overflow interrupt enable; defined only when Sscofpmf is implemented, otherwise read-only zero.

LCOFIE (bit 13) — Local counter-overflow interrupt enable; defined only when Sscofpmf is implemented, otherwise read-only zero.

What This Field Controls

  • - Local counter-overflow interrupt enable; defined only when Sscofpmf is implemented, otherwise read-only zero.

Common Values

0Disabled

The supervisor interrupt enabled by LCOFIE is disabled.

1Enabled

The supervisor interrupt enabled by LCOFIE is enabled; delivery also depends on pending state plus the current-privilege and sstatus.SIE rules.

SXLEN-1:16

Platform interrupt enables

WARL/RO0

Interrupt identities 16 and above are designated for platform use; a bit must be writable if its interrupt can become pending, otherwise it is read-only zero.

Platform interrupt enables (bits SXLEN-1:16) — Interrupt identities 16 and above are designated for platform use; a bit must be writable if its interrupt can become pending, otherwise it is read-only zero.

What This Field Controls

  • - Interrupt identities 16 and above are designated for platform use; a bit must be writable if its interrupt can become pending, otherwise it is read-only zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

15:14

Reserved

RO0

Standard reserved bits that read as zero.

Reserved (bits 15:14) — Standard reserved bits that read as zero.

What This Field Controls

  • - Standard reserved bits that read as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

12:10

Reserved

RO0

Standard reserved bits that read as zero.

Reserved (bits 12:10) — Standard reserved bits that read as zero.

What This Field Controls

  • - Standard reserved bits that read as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

8:6

Reserved

RO0

Standard reserved bits that read as zero.

Reserved (bits 8:6) — Standard reserved bits that read as zero.

What This Field Controls

  • - Standard reserved bits that read as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

4:2

Reserved

RO0

Standard reserved bits that read as zero.

Reserved (bits 4:2) — Standard reserved bits that read as zero.

What This Field Controls

  • - Standard reserved bits that read as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

0

Reserved

RO0

Standard reserved bits that read as zero.

Reserved (bit 0) — Standard reserved bits that read as zero.

What This Field Controls

  • - Standard reserved bits that read as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Official Basis & Search Notes

sie is a RW CSR in supervisor status, trap, and interrupt csrs at 0x104. Check privilege and implemented extensions before interpreting its bit fields.

sie address, lowest access privilege, and access class are checked against the official CSR table: 0x104, Supervisor, RW.
Read it as part of supervisor status, trap, and interrupt csrs before interpreting the bit-field table on this page.
Modify only target fields and preserve unchanged bits; interpret WARL and reserved fields only as the official specification and implementation define them.

Assembly Operation Examples

Read/write sie using csrr/csrw/csrs/csrc instructions. Ref: RISC-V Privileged Architecture §2.8

csrr t0, sie
Read enabled S-mode interrupt sources from S-mode
li t0, 0x00000022; csrs sie, t0
Enable STIE(bit5)+SSIE(bit1)

Relationship With Other CSRs

sie is the S-mode restricted view of mie for S-mode-relevant interrupt enable bits such as SSIE, STIE, and SEIE. It works with sstatus.SIE and sip: the source must be pending in sip, enabled in sie, and allowed by the current privilege/SIE state before the interrupt is taken.

Key Bit Field Reference

SSIE(bit1) S-mode software interrupt enable | STIE(bit5) S-mode timer interrupt enable | SEIE(bit9) S-mode external interrupt enable

What To Check First When Reading This CSR

  • - First confirm that the current hart implements sie; unimplemented or insufficiently privileged accesses raise an illegal-instruction exception.
  • - Use address 0x104 and the lowest access privilege (Supervisor) to decide whether software may read it directly.
  • - Do not assume fixed values for reserved or WARL bits; interpret the value according to the specification and implementation.

Risk Checks Before Writing

  • - Preserve bits that are not being changed so reserved or implementation-defined fields are not written with invalid values.
  • - Prefer CSRRS/CSRRC for local set/clear operations to avoid CSRRW overwriting concurrently updated status bits.

Put It Back Into A Real Flow

1

During initialization or the relevant privileged flow, software reads sie to observe the current state.

2

Modify only the target fields while preserving all other bits.

3

Read back the CSR or validate through later trap, interrupt, or context-switch behavior that the setting took effect.

FAQ

Can sie be accessed from any privilege level?

Do not decide from the CSR name alone. The official CSR address encoding and tables define the lowest access privilege; this entry records sie as Supervisor. Access with insufficient privilege or to an unimplemented CSR raises an illegal-instruction exception.

What is easiest to miss when writing sie?

Do not overwrite the whole CSR as if it were an ordinary integer. Modify only target fields, preserve unchanged bits, and follow the specification for WARL or reserved fields.