18 #if !defined(INTERRUPT_MANAGER_H)
19 #define INTERRUPT_MANAGER_H
50 #if FEATURE_MSCM_HAS_CPU_INTERRUPT_ROUTER
55 INTERRUPT_MANAGER_TARGET_SELF = -2,
56 INTERRUPT_MANAGER_TARGET_OTHERS = -1,
57 INTERRUPT_MANAGER_TARGET_NONE = 0,
58 INTERRUPT_MANAGER_TARGET_CP0 = 1,
59 INTERRUPT_MANAGER_TARGET_CP1 = 2,
60 INTERRUPT_MANAGER_TARGET_CP0_CP1 = 3
61 } interrupt_manager_cpu_targets_t;
78 #if defined(__cplusplus)
100 const isr_t newHandler,
101 isr_t*
const oldHandler);
155 #if FEATURE_INTERRUPT_HAS_PENDING_STATE
164 void INT_SYS_ClearPending(
IRQn_Type irqNumber);
173 void INT_SYS_SetPending(
IRQn_Type irqNumber);
184 uint32_t INT_SYS_GetPending(
IRQn_Type irqNumber);
188 #if FEATURE_INTERRUPT_HAS_ACTIVE_STATE
197 uint32_t INT_SYS_GetActive(
IRQn_Type irqNumber);
201 #if FEATURE_INTERRUPT_HAS_SOFTWARE_IRQ
210 void INT_SYS_SetSoftwareIRQRequest(
IRQn_Type irqNumber);
219 void INT_SYS_ClearSoftwareIRQRequest(
IRQn_Type irqNumber);
224 #if FEATURE_MSCM_HAS_CPU_INTERRUPT_ROUTER
234 void INT_SYS_GenerateDirectedCpuInterrupt(
IRQn_Type irqNumber, interrupt_manager_cpu_targets_t cpu_target);
240 #if defined(__cplusplus)
void DefaultISR(void)
Default ISR.
void INT_SYS_DisableIRQ(IRQn_Type irqNumber)
Disables an interrupt for a given IRQ number.
void INT_SYS_DisableIRQGlobal(void)
Disable system interrupt.
void INT_SYS_SetPriority(IRQn_Type irqNumber, uint8_t priority)
Set Interrupt Priority.
void INT_SYS_EnableIRQGlobal(void)
Enables system interrupt.
uint8_t INT_SYS_GetPriority(IRQn_Type irqNumber)
Get Interrupt Priority.
void INT_SYS_EnableIRQ(IRQn_Type irqNumber)
Enables an interrupt for a given IRQ number.
void(* isr_t)(void)
Interrupt handler type.
IRQn_Type
Defines the Interrupt Numbers definitions.
void INT_SYS_InstallHandler(IRQn_Type irqNumber, const isr_t newHandler, isr_t *const oldHandler)
Installs an interrupt handler routine for a given IRQ number.