sip
Fields
SSIP
- Location
-
sip[1] - Description
-
Supervisor Software Interrupt Pending
Reports the current pending state of an (H)S-mode software interrupt.
When Supervisor Software Interrupts are not delegated to (H)S-mode (mideleg.SSI is clear), sip.SSIP is read-only 0.
When using AIA/IMSIC, IPIs are expected to be delivered as external interrupts and SSIP is not backed by any hardware update (aside from any aliasing effects).
However, SSIP is still writable by S-mode software and, when written, can be used to generate an S-mode Software Interrupt.
Aliases:
-
mip.SSIP when mideleg.SSI is set
-
mvip.SSIPwhen mideleg.SSI is setTo summarize:
-
sip.SSIP behavior + |
|
0 |
read-only 0 |
1 |
writable alias of mip.SSIP and |
- Type
RW-R |
Read-Write Restricted Field is writable by software. Only certain values are legal. Writing an illegal value into the field is ignored, and the field retains its prior state. |
- Reset value
-
UNDEFINED_LEGAL
- Software write
-
This field has special behavior when written by software (e.g., through csrrw).
When software tries to write
csr_value, the field will be written with the return value of the function below.
STIP
- Location
-
sip[5] - Description
-
Supervisor Timer Interrupt Pending
Reports the current pending state of an (H)S-mode timer interrupt.
When Supervisor Timer Interrupts are not delegated to (H)S-mode (i.e., mideleg.STI is clear), sip.STIP is read-only 0.
Aliases:
-
mip.STIP when mideleg.STI is set
-
mvip.STIPwhen mideleg.SSI is set and menvcfg.STCE is clear.To summarize:
-
sip.STIP behavior + |
|
0 |
read-only 0 |
1 |
read-only alias of mip.STIP (and |
- Type
RO-H |
Read-Only with Hardware update Writes are ignored. Reads reflect a value dynamically generated by hardware. |
- Reset value
-
UNDEFINED_LEGAL
SEIP
- Location
-
sip[9] - Description
-
Supervisor External Interrupt Pending
Reports the current pending state of an (H)S-mode external interrupt.
When Supervisor External Interrupts are not delegated to (H)S-mode (i.e., mideleg.SEI is clear), sip.SEIP is read-only 0.
To summarize:
sip.SEIP behavior + |
|
0 |
read-only 0 |
1 |
read-only alias of mip.SEIP |
- Type
RO-H |
Read-Only with Hardware update Writes are ignored. Reads reflect a value dynamically generated by hardware. |
- Reset value
-
UNDEFINED_LEGAL
LCOFIP
- Location
-
sip[13] - Description
-
Local Counter Overflow Interrupt pending
Reports the current pending state of a Local Counter Overflow interrupt.
When Local Counter Overflow interrupts are not delegated to (H)S-mode (i.e., mideleg.LCOFI is clear), sip.LCOFIP is read-only 0.
Otherwise, sip.LCOFIP is an alias of mip.LCOFIP.
Software writes 0 to sip.LCOFIP to clear the pending interrupt.
To summarize:
sip.LCOFIP behavior + |
|
0 |
read-only 0 |
1 |
writable alias of mip.LCOFIP (and |
- Type
RW-RH |
Read-Write Restricted with Hardware update Field is writable by software. Only certain values are legal. Writing an illegal value into the field is ignored, such that the field retains its prior state. Hardware also updates the field without an explicit software write.) |
- Reset value
-
UNDEFINED_LEGAL
- Software write
-
This field has special behavior when written by software (e.g., through csrrw).
When software tries to write
csr_value, the field will be written with the return value of the function below.
Software read
This CSR may return a value that is different from what is stored in hardware.
-
Pruned
-
Original
return $bits(CSR[CSR[mip]]) & $bits(CSR[CSR[mideleg]]);
return $bits(CSR[CSR[mip]]) & $bits(CSR[CSR[mideleg]]);