sie
Supervisor interrupt-enable register
Supervisor interrupt-enable register.
Attributes
Requirement |
|||
|---|---|---|---|
Defining extensions |
|
||
CSR Address |
0x104 |
||
Length |
* 32 when CSR[mstatus].SXL == 0 * 64 when CSR[mstatus].SXL == 1 |
||
Privilege Mode |
S |
Format
This CSR format changes dynamically.
Figure 1. sie Format when CSR[mstatus].SXL == 0
Figure 2. sie Format when CSR[mstatus].SXL == 1
Field Summary
| Name | Location | Type | Reset Value |
|---|---|---|---|
1 |
RW-R |
UNDEFINED_LEGAL |
|
5 |
RW-R |
UNDEFINED_LEGAL |
|
9 |
RW-R |
UNDEFINED_LEGAL |
|
13 |
RW-R |
UNDEFINED_LEGAL |
Fields
Software write
This CSR may store a value that is different from what software attempts to write.
When a software write occurs (e.g., through csrrw), the following determines the written value:
SSIE = if (CSR[mideleg].SSI == 1'b1) {
CSR[mie].SSIE = csr_value.SSIE;
return csr_value.SSIE;
}
return 1'b0;
STIE = if (CSR[mideleg].STI == 1'b1) {
CSR[mie].STIE = csr_value.STIE;
return csr_value.STIE;
}
return 1'b0;
SEIE = if (CSR[mideleg].SEI == 1'b1) {
CSR[mie].SEIE = csr_value.SEIE;
return csr_value.SEIE;
}
return 1'b0;
LCOFIE = if (CSR[mideleg].LCOFI == 1'b1) {
CSR[mie].LCOFIE = csr_value.LCOFIE;
return csr_value.LCOFIE;
}
return 1'b0;
Software read
This CSR may return a value that is different from what is stored in hardware.
return $bits(CSR[CSR[mie]]) & $bits(CSR[CSR[mideleg]]);