CSR Bit Fields

RISC-V sip CSR Register

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

Supervisor interrupt-pending register; provides the view of mip interrupt-pending bits delegated to S-mode.

The sip (Supervisor Interrupt Pending) CSR at address 0x144 is the S-mode restricted view of mip, showing S-mode-relevant pending interrupts such as SSIP, STIP, and SEIP. For a pending interrupt to be serviced while running in S-mode, the corresponding enable bit in sie must be set and sstatus.SIE must permit interrupt delivery.

Field Map

Understand sip By Bit Fields

16 key fields
0

Reserved

RO0

Fixed-zero bits in the standard interrupt region; read as zero.

Reserved (bit 0) — Fixed-zero bits in the standard interrupt region; read as zero.

What This Field Controls

  • - Fixed-zero bits in the standard interrupt region; read as zero.

Common Values

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

1

SSIP

RW

Supervisor software-interrupt pending bit. If SSIP is delegated to S-mode, S-mode can read and write it through sip.

SSIP (bit 1) — Supervisor software-interrupt pending bit. If SSIP is delegated to S-mode, S-mode can read and write it through sip.

What This Field Controls

  • - Supervisor software-interrupt pending bit. If SSIP is delegated to S-mode, S-mode can read and write it through sip.

Common Values

0Not pending

The interrupt represented by SSIP is not pending.

1Pending

The interrupt represented by SSIP is pending; delivery also depends on sie and sstatus.SIE.

2

Reserved

RO0

Fixed-zero bits in the standard interrupt region; read as zero.

Reserved (bit 2) — Fixed-zero bits in the standard interrupt region; read as zero.

What This Field Controls

  • - Fixed-zero bits in the standard interrupt region; read as zero.

Common Values

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

3

MSIP

RO when delegated; otherwise RO0

Restricted view of the machine software-interrupt pending bit. It is visible in sip only when writable mideleg[3] is set; otherwise it reads zero. The underlying mip.MSIP bit is read-only.

MSIP (bit 3) — Restricted view of the machine software-interrupt pending bit. It is visible in sip only when writable mideleg[3] is set; otherwise it reads zero. The underlying mip.MSIP bit is read-only.

What This Field Controls

  • - Restricted view of the machine software-interrupt pending bit. It is visible in sip only when writable mideleg[3] is set; otherwise it reads zero. The underlying mip.MSIP bit is read-only.

Common Values

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

4

Reserved

RO0

Reserved bit in the standard interrupt region; reads as zero.

Reserved (bit 4) — Reserved bit in the standard interrupt region; reads as zero.

What This Field Controls

  • - Reserved bit in the standard interrupt region; reads as zero.

Common Values

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

5

STIP

RO

Supervisor timer-interrupt pending bit. If STIP is implemented and delegated to S-mode, it is read-only in sip; it is set/cleared by the execution environment, or reflects the stimecmp comparison when Sstc is implemented.

STIP (bit 5) — Supervisor timer-interrupt pending bit. If STIP is implemented and delegated to S-mode, it is read-only in sip; it is set/cleared by the execution environment, or reflects the stimecmp comparison when Sstc is implemented.

What This Field Controls

  • - Supervisor timer-interrupt pending bit. If STIP is implemented and delegated to S-mode, it is read-only in sip; it is set/cleared by the execution environment, or reflects the stimecmp comparison when Sstc is implemented.

Common Values

0Not pending

The interrupt represented by STIP is not pending.

1Pending

The interrupt represented by STIP is pending; delivery also depends on sie and sstatus.SIE.

6

Reserved

RO0

Fixed-zero bits in the standard interrupt region; read as zero.

Reserved (bit 6) — Fixed-zero bits in the standard interrupt region; read as zero.

What This Field Controls

  • - Fixed-zero bits in the standard interrupt region; read as zero.

Common Values

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

7

MTIP

RO when delegated; otherwise RO0

Restricted view of the machine timer-interrupt pending bit. It is visible in sip only when writable mideleg[7] is set; otherwise it reads zero. The underlying mip.MTIP bit is read-only.

MTIP (bit 7) — Restricted view of the machine timer-interrupt pending bit. It is visible in sip only when writable mideleg[7] is set; otherwise it reads zero. The underlying mip.MTIP bit is read-only.

What This Field Controls

  • - Restricted view of the machine timer-interrupt pending bit. It is visible in sip only when writable mideleg[7] is set; otherwise it reads zero. The underlying mip.MTIP bit is read-only.

Common Values

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

8

Reserved

RO0

Reserved bit in the standard interrupt region; reads as zero.

Reserved (bit 8) — Reserved bit in the standard interrupt region; reads as zero.

What This Field Controls

  • - Reserved bit in the standard interrupt region; reads as zero.

Common Values

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

9

SEIP

RO

Supervisor external-interrupt pending bit. If SEIP is implemented and delegated to S-mode, it is read-only in sip; it is typically set and cleared by a platform interrupt controller.

SEIP (bit 9) — Supervisor external-interrupt pending bit. If SEIP is implemented and delegated to S-mode, it is read-only in sip; it is typically set and cleared by a platform interrupt controller.

What This Field Controls

  • - Supervisor external-interrupt pending bit. If SEIP is implemented and delegated to S-mode, it is read-only in sip; it is typically set and cleared by a platform interrupt controller.

Common Values

0Not pending

The interrupt represented by SEIP is not pending.

1Pending

The interrupt represented by SEIP is pending; delivery also depends on sie and sstatus.SIE.

10

Reserved

RO0

Fixed-zero bits in the standard interrupt region; read as zero.

Reserved (bit 10) — Fixed-zero bits in the standard interrupt region; read as zero.

What This Field Controls

  • - Fixed-zero bits in the standard interrupt region; read as zero.

Common Values

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

11

MEIP

RO when delegated; otherwise RO0

Restricted view of the machine external-interrupt pending bit. It is visible in sip only when writable mideleg[11] is set; otherwise it reads zero. The underlying mip.MEIP bit is read-only.

MEIP (bit 11) — Restricted view of the machine external-interrupt pending bit. It is visible in sip only when writable mideleg[11] is set; otherwise it reads zero. The underlying mip.MEIP bit is read-only.

What This Field Controls

  • - Restricted view of the machine external-interrupt pending bit. It is visible in sip only when writable mideleg[11] is set; otherwise it reads zero. The underlying mip.MEIP bit is read-only.

Common Values

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

12

Reserved

RO0

Reserved bit in the standard interrupt region; reads as zero.

Reserved (bit 12) — Reserved bit in the standard interrupt region; reads as zero.

What This Field Controls

  • - Reserved bit in the standard interrupt region; reads as zero.

Common Values

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

13

LCOFIP

RW with Sscofpmf; otherwise RO0

Local counter-overflow interrupt-pending bit. With Sscofpmf it is read-write in sip and reflects local counter-overflow requests; without Sscofpmf it is read-only zero.

LCOFIP (bit 13) — Local counter-overflow interrupt-pending bit. With Sscofpmf it is read-write in sip and reflects local counter-overflow requests; without Sscofpmf it is read-only zero.

What This Field Controls

  • - Local counter-overflow interrupt-pending bit. With Sscofpmf it is read-write in sip and reflects local counter-overflow requests; without Sscofpmf it is read-only zero.

Common Values

0Not pending

The interrupt represented by LCOFIP is not pending.

1Pending

The interrupt represented by LCOFIP is pending; delivery also depends on sie and sstatus.SIE.

15:14

Reserved

RO0

Fixed-zero bits in the standard interrupt region; read as zero.

Reserved (bits 15:14) — Fixed-zero bits in the standard interrupt region; read as zero.

What This Field Controls

  • - Fixed-zero bits in the standard interrupt region; read as zero.

Common Values

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

SXLEN-1:16

Platform interrupt pending

WARL

Bits 16 and above are designated for platform use; each bit may be writable or read-only, and unimplemented interrupt bits are read-only zero.

Platform interrupt pending (bits SXLEN-1:16) — Bits 16 and above are designated for platform use; each bit may be writable or read-only, and unimplemented interrupt bits are read-only zero.

What This Field Controls

  • - Bits 16 and above are designated for platform use; each bit may be writable or read-only, and unimplemented interrupt bits are read-only zero.

Common Values

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

Official Basis & Search Notes

sip is not a full mip mirror; it is the S-mode-visible pending-interrupt view for delegated interrupts. SSIP can be written by S-mode software; STIP/SEIP are read-only in sip; LCOFIP belongs to the Sscofpmf local counter-overflow interrupt.

The CSR table lists sip as 0x144, Supervisor, RW.
sip/sie expose only interrupt bits delegated to S-mode; non-delegated bits read as zero.
SSIP can be written by S-mode software; STIP/SEIP are read-only in sip; LCOFIP is bit 13 defined by Sscofpmf, eventually set by local counter-overflow requests and cleared by software.

Assembly Operation Examples

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

csrr t0, sip
Read S-mode interrupt pending status from S-mode
csrr t0, sip; andi t0, t0, 0x20; bnez t0, handle_stip
Check STIP(bit5) pending and handle

Relationship With Other CSRs

sip is the restricted S-mode view of mip for S-mode-relevant pending bits such as SSIP, STIP, and SEIP. S-mode software can request or clear supervisor software interrupts through SSIP; STIP and SEIP reflect timer or external interrupt-controller state. sip works with sie: a source must be pending and enabled, and the current privilege state must allow S-mode interrupt delivery before the interrupt is taken.

Key Bit Field Reference

SSIP(bit1) S-mode software interrupt pending | STIP(bit5) S-mode timer interrupt pending | SEIP(bit9) S-mode external interrupt pending

What To Check First When Reading This CSR

  • - sip is the Supervisor RW CSR at 0x144; insufficient privilege or access to an unimplemented CSR raises an illegal-instruction exception.
  • - sip and sie are restricted views of mip/mie bits delegated to S-mode; non-delegated bits read as zero in sip/sie.
  • - Interrupt delivery also depends on the corresponding sie enable bit, sstatus.SIE, current privilege, and delegation state.

Risk Checks Before Writing

  • - Only delegated pending bits that the specification defines as writable can be modified through sip; do not assume every displayed bit is writable.
  • - SSIP is writable through sip when delegated to S-mode; STIP and SEIP are read-only in sip; LCOFIP is cleared by software under Sscofpmf and is zero when that extension is not implemented.

Put It Back Into A Real Flow

1

Read sip to observe pending interrupts delegated to S-mode.

2

Use the corresponding sie bit and sstatus.SIE to determine whether the interrupt can be delivered to S-mode.

3

Write or clear only pending bits that the specification or platform defines as writable.

FAQ

Can sip 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 sip as Supervisor. Access with insufficient privilege or to an unimplemented CSR raises an illegal-instruction exception.

Can S-mode write every pending bit in sip?

No. SSIP is writable when delegated to S-mode; STIP and SEIP are read-only in sip; LCOFIP is defined only with Sscofpmf and is cleared by software, and non-delegated bits read as zero in sip.