Go to the source code of this file.
◆ CSR_CLREIPNUM_M
| #define CSR_CLREIPNUM_M 0xFC1 /* Write EIID to clear pending bit */ |
◆ CSR_MIREG
◆ CSR_MISELECT
| #define CSR_MISELECT 0x350 |
◆ CSR_MTOPEI
◆ CSR_MTOPI
◆ CSR_SETEIPNUM_M
| #define CSR_SETEIPNUM_M 0xFC0 /* Write EIID to set pending bit */ |
◆ EIDELIVERY_ENABLE
| #define EIDELIVERY_ENABLE BIT(0) |
◆ EIDELIVERY_MODE_MMSI
| #define EIDELIVERY_MODE_MMSI (0U << 29) /* MMSI only: 00 = 0x00000000 */ |
◆ ICSR_EIDELIVERY
| #define ICSR_EIDELIVERY 0x70 |
◆ ICSR_EIE0
◆ ICSR_EIE1
◆ ICSR_EIE2
◆ ICSR_EIE3
◆ ICSR_EIE4
◆ ICSR_EIE5
◆ ICSR_EIE6
◆ ICSR_EIE7
◆ ICSR_EIP0
◆ ICSR_EIP1
◆ ICSR_EIP2
◆ ICSR_EIP3
◆ ICSR_EIP4
◆ ICSR_EIP5
◆ ICSR_EIP6
◆ ICSR_EIP7
◆ ICSR_EITHRESH
| #define ICSR_EITHRESH 0x72 |
◆ MTOPEI_EIID_MASK
| #define MTOPEI_EIID_MASK 0x7FF /* Bits [10:0]: External Interrupt ID (0-2047) */ |
◆ MTOPEI_PRIO_MASK
◆ MTOPEI_PRIO_SHIFT
| #define MTOPEI_PRIO_SHIFT 16 /* Bits [23:16]: Priority level */ |
◆ riscv_imsic_claim()
◆ riscv_imsic_disable_eiid()
| void riscv_imsic_disable_eiid |
( |
uint32_t | eiid | ) |
|
Disable an EIID in the CURRENT CPU's IMSIC.
This function uses CSR instructions that operate on the CPU executing this code. To disable an EIID on a specific hart, this function MUST be called from that hart.
Following PLIC pattern: no parameter validation at API level. Invalid EIIDs are caught in the ISR if they fire.
- Parameters
-
| eiid | External Interrupt ID to disable (0-2047) |
◆ riscv_imsic_enable_eiid()
| void riscv_imsic_enable_eiid |
( |
uint32_t | eiid | ) |
|
Enable an EIID in the CURRENT CPU's IMSIC.
This function uses CSR instructions that operate on the CPU executing this code. To enable an EIID on a specific hart, this function MUST be called from that hart (e.g., using k_thread_cpu_mask_enable).
Following PLIC pattern: no parameter validation at API level. Invalid EIIDs are caught in the ISR if they fire.
- Parameters
-
| eiid | External Interrupt ID to enable (0-2047) |
◆ riscv_imsic_is_enabled()
| int riscv_imsic_is_enabled |
( |
uint32_t | eiid | ) |
|
Check if an EIID is enabled in the CURRENT CPU's IMSIC.
- Parameters
-
| eiid | External Interrupt ID to check (0-2047) |
- Returns
- 1 if enabled, 0 if disabled