![]() |
NMSIS-Core
Version 1.4.0
NMSIS-Core support for Nuclei processor-based devices
|
Functions that implement Inter Core Interrupt mechanism. More...
Functions | |
__STATIC_FORCEINLINE void | CIDU_TriggerInterCoreInt (uint32_t send_core_id, uint32_t recv_core_id) |
Trigger interrupt to another core in a multi-core cluster. More... | |
__STATIC_FORCEINLINE uint32_t | CIDU_QueryCoreIntSenderMask (uint32_t recv_core_id) |
Core recv_core_id queries out who sends inter core interrupt to itself. More... | |
__STATIC_FORCEINLINE void | CIDU_ClearInterCoreIntReq (uint32_t send_core_id, uint32_t recv_core_id) |
Clear the corresponding bit/bits of ICI request triggered by sender core. More... | |
Functions that implement Inter Core Interrupt mechanism.
Inter Core Interrupt (ICI) means that one core can send interrupt to another core in a multi-core cluster. CIDU ICI belongs to Internal Interrupt.
__STATIC_FORCEINLINE void CIDU_ClearInterCoreIntReq | ( | uint32_t | send_core_id, |
uint32_t | recv_core_id | ||
) |
Clear the corresponding bit/bits of ICI request triggered by sender core.
Core recv_core_id write 1 to clear the bit send_core_id of the core recv_core_id's COREn_INT_STATUS.
[in] | send_core_id | the core id which wants to send the inter core interrupt |
[in] | recv_core_id | the core id which will receive the inter core interrupt |
Definition at line 309 of file core_feature_cidu.h.
References __SW(), and CIDU_CORE_INT_STATUS_ADDR.
__STATIC_FORCEINLINE uint32_t CIDU_QueryCoreIntSenderMask | ( | uint32_t | recv_core_id | ) |
Core recv_core_id queries out who sends inter core interrupt to itself.
In the ISR of ICI, receive core can query if bit[n] of this return value is 1, core n sends the current ICI, if bit[m] is 1, then core m also sends, etc.
[in] | recv_core_id | the core id which receives the inter core interrupt |
Definition at line 290 of file core_feature_cidu.h.
References __LW(), and CIDU_CORE_INT_STATUS_ADDR.
__STATIC_FORCEINLINE void CIDU_TriggerInterCoreInt | ( | uint32_t | send_core_id, |
uint32_t | recv_core_id | ||
) |
Trigger interrupt to another core in a multi-core cluster.
When called by core send_core_id, CIDU will trigger ICI to core recv_core_id automatically. and core recv_core_id could query CIDU_GetCoreIntSenderId to know the sender.
[in] | send_core_id | the core id which want to send the inter core interrupt |
[in] | recv_core_id | the core id which will receive the inter core interrupt |
Definition at line 271 of file core_feature_cidu.h.
References __SW(), CIDU_ICI_SEND_CORE_ID_POS, and CIDU_ICI_SHADOW_ADDR.