![]() |
NMSIS-Core
Version 1.4.0
NMSIS-Core support for Nuclei processor-based devices
|
Functions that manage interrupts via the PLIC. More...
Functions | |
__STATIC_FORCEINLINE void | PLIC_SetContextThreshold (uint32_t ctxid, uint32_t thresh) |
Set priority threshold value of plic for selected context. More... | |
__STATIC_FORCEINLINE uint32_t | PLIC_GetContextThreshold (uint32_t ctxid) |
Get priority threshold value of plic for selected context. More... | |
__STATIC_FORCEINLINE void | PLIC_EnableContextInterrupt (uint32_t ctxid, uint32_t source) |
Enable interrupt of selected source plic for selected context. More... | |
__STATIC_FORCEINLINE void | PLIC_DisableContextInterrupt (uint32_t ctxid, uint32_t source) |
Disable interrupt of selected source plic for selected context. More... | |
__STATIC_FORCEINLINE uint32_t | PLIC_GetContextInterruptEnable (uint32_t ctxid, uint32_t source) |
Get interrupt enable status of selected source plic for selected context. More... | |
__STATIC_FORCEINLINE void | PLIC_SetInterruptPending (uint32_t source) |
Set interrupt pending of selected source plic. More... | |
__STATIC_FORCEINLINE void | PLIC_ClearInterruptPending (uint32_t source) |
Clear interrupt pending of selected source plic. More... | |
__STATIC_FORCEINLINE uint32_t | PLIC_GetInterruptPending (uint32_t source) |
Get interrupt pending status of selected source plic. More... | |
__STATIC_FORCEINLINE void | PLIC_SetPriority (uint32_t source, uint32_t priority) |
Set interrupt priority for selected source plic. More... | |
__STATIC_FORCEINLINE uint32_t | PLIC_GetPriority (uint32_t source) |
Get interrupt priority for selected source plic. More... | |
__STATIC_FORCEINLINE uint32_t | PLIC_ClaimContextInterrupt (uint32_t ctxid) |
Claim interrupt for plic for selected context. More... | |
__STATIC_FORCEINLINE void | PLIC_CompleteContextInterrupt (uint32_t ctxid, uint32_t source) |
Complete interrupt for plic for selected context. More... | |
__STATIC_FORCEINLINE void | PLIC_Context_Init (uint32_t ctxid, uint32_t num_sources, uint32_t enable, uint32_t thresh) |
Perform init for plic for selected context. More... | |
__STATIC_FORCEINLINE void | __set_trap_entry (rv_csr_t addr) |
Set Trap entry address. More... | |
__STATIC_FORCEINLINE rv_csr_t | __get_trap_entry (void) |
Get trap entry address. More... | |
Functions that manage interrupts via the PLIC.
#define PLIC_ClaimInterrupt | ( | ) | PLIC_ClaimContextInterrupt(PLIC_GetHartMContextID()) |
Definition at line 368 of file core_feature_plic.h.
#define PLIC_ClaimInterrupt_S | ( | ) | PLIC_ClaimContextInterrupt(PLIC_GetHartSContextID()) |
Definition at line 369 of file core_feature_plic.h.
#define PLIC_CompleteInterrupt | ( | source | ) | PLIC_CompleteContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 371 of file core_feature_plic.h.
#define PLIC_CompleteInterrupt_S | ( | source | ) | PLIC_CompleteContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 372 of file core_feature_plic.h.
#define PLIC_DisableInterrupt | ( | source | ) | PLIC_DisableContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 380 of file core_feature_plic.h.
#define PLIC_DisableInterrupt_S | ( | source | ) | PLIC_DisableContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 381 of file core_feature_plic.h.
#define PLIC_EnableInterrupt | ( | source | ) | PLIC_EnableContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 377 of file core_feature_plic.h.
#define PLIC_EnableInterrupt_S | ( | source | ) | PLIC_EnableContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 378 of file core_feature_plic.h.
#define PLIC_GetInterruptEnable | ( | source | ) | PLIC_GetContextInterruptEnable(PLIC_GetHartMContextID(), (source)) |
Definition at line 374 of file core_feature_plic.h.
#define PLIC_GetInterruptEnable_S | ( | source | ) | PLIC_GetContextInterruptEnable(PLIC_GetHartSContextID(), (source)) |
Definition at line 375 of file core_feature_plic.h.
#define PLIC_GetThreshold | ( | ) | PLIC_GetContextThreshold(PLIC_GetHartMContextID()) |
Definition at line 386 of file core_feature_plic.h.
#define PLIC_GetThreshold_S | ( | ) | PLIC_GetContextThreshold(PLIC_GetHartSContextID()) |
Definition at line 387 of file core_feature_plic.h.
#define PLIC_Init | ( | num_sources, | |
enable, | |||
thresh | |||
) | PLIC_Context_Init(PLIC_GetHartMContextID(), (num_sources), (enable), (thresh)) |
Definition at line 365 of file core_feature_plic.h.
#define PLIC_Init_S | ( | num_sources, | |
enable, | |||
thresh | |||
) | PLIC_Context_Init(PLIC_GetHartSContextID(), (num_sources), (enable), (thresh)) |
Definition at line 366 of file core_feature_plic.h.
#define PLIC_SetThreshold | ( | source, | |
thresh | |||
) | PLIC_SetContextThreshold(PLIC_GetHartMContextID(), (source), (thresh)) |
Definition at line 383 of file core_feature_plic.h.
#define PLIC_SetThreshold_S | ( | source, | |
thresh | |||
) | PLIC_SetContextThreshold(PLIC_GetHartSContextID(), (source), (thresh)) |
Definition at line 384 of file core_feature_plic.h.
__STATIC_FORCEINLINE rv_csr_t __get_trap_entry | ( | void | ) |
Get trap entry address.
This function get trap entry address from 'CSR_MTVEC'.
Definition at line 415 of file core_feature_plic.h.
References __RV_CSR_READ, and CSR_MTVEC.
__STATIC_FORCEINLINE void __set_trap_entry | ( | rv_csr_t | addr | ) |
Set Trap entry address.
This function set trap entry address to 'CSR_MTVEC'.
[in] | addr | trap entry address |
Definition at line 399 of file core_feature_plic.h.
References __RV_CSR_WRITE, and CSR_MTVEC.
__STATIC_FORCEINLINE uint32_t PLIC_ClaimContextInterrupt | ( | uint32_t | ctxid | ) |
Claim interrupt for plic for selected context.
This function claim interrupt for plic for selected context.
[in] | ctxid | selected context id |
Definition at line 308 of file core_feature_plic.h.
References PLIC_CLAIM_REGADDR.
__STATIC_FORCEINLINE void PLIC_ClearInterruptPending | ( | uint32_t | source | ) |
Clear interrupt pending of selected source plic.
This function clear interrupt pending of selected source plic
[in] | source | interrupt source |
Definition at line 231 of file core_feature_plic.h.
References PLIC_PENDING_REGADDR.
__STATIC_FORCEINLINE void PLIC_CompleteContextInterrupt | ( | uint32_t | ctxid, |
uint32_t | source | ||
) |
Complete interrupt for plic for selected context.
This function complete interrupt for plic for selected context.
[in] | ctxid | selected context id |
Definition at line 332 of file core_feature_plic.h.
References PLIC_COMPLETE_REGADDR.
__STATIC_FORCEINLINE void PLIC_Context_Init | ( | uint32_t | ctxid, |
uint32_t | num_sources, | ||
uint32_t | enable, | ||
uint32_t | thresh | ||
) |
Perform init for plic for selected context.
This function perform initialization steps for plic for selected context.
[in] | ctxid | selected context id |
[in] | num_sources | plic interrupt source count number |
[in] | enable | plic interrupt enable or not |
[in] | thresh | plic interrupt threshold |
Definition at line 351 of file core_feature_plic.h.
References PLIC_DisableContextInterrupt(), PLIC_EnableContextInterrupt(), and PLIC_SetContextThreshold().
__STATIC_FORCEINLINE void PLIC_DisableContextInterrupt | ( | uint32_t | ctxid, |
uint32_t | source | ||
) |
Disable interrupt of selected source plic for selected context.
This function disable interrupt of selected source plic for selected context
[in] | ctxid | selected context id |
[in] | source | interrupt source |
Definition at line 172 of file core_feature_plic.h.
References PLIC_ENABLE_REGADDR.
Referenced by PLIC_Context_Init().
__STATIC_FORCEINLINE void PLIC_EnableContextInterrupt | ( | uint32_t | ctxid, |
uint32_t | source | ||
) |
Enable interrupt of selected source plic for selected context.
This function enable interrupt of selected source plic for selected context.
[in] | ctxid | selected context id |
[in] | source | interrupt source |
Definition at line 153 of file core_feature_plic.h.
References PLIC_ENABLE_REGADDR.
Referenced by PLIC_Context_Init().
__STATIC_FORCEINLINE uint32_t PLIC_GetContextInterruptEnable | ( | uint32_t | ctxid, |
uint32_t | source | ||
) |
Get interrupt enable status of selected source plic for selected context.
This function get interrupt enable of selected source plic for selected context.
[in] | ctxid | selected context id |
[in] | source | interrupt source |
Definition at line 193 of file core_feature_plic.h.
References PLIC_ENABLE_REGADDR.
__STATIC_FORCEINLINE uint32_t PLIC_GetContextThreshold | ( | uint32_t | ctxid | ) |
Get priority threshold value of plic for selected context.
This function get priority threshold value of plic for selected context.
[in] | ctxid | selected context id |
Definition at line 136 of file core_feature_plic.h.
References PLIC_THRESHOLD_REGADDR.
__STATIC_FORCEINLINE uint32_t PLIC_GetInterruptPending | ( | uint32_t | source | ) |
Get interrupt pending status of selected source plic.
This function get interrupt pending of selected source plic
[in] | source | interrupt source |
Definition at line 251 of file core_feature_plic.h.
References PLIC_PENDING_REGADDR.
__STATIC_FORCEINLINE uint32_t PLIC_GetPriority | ( | uint32_t | source | ) |
Get interrupt priority for selected source plic.
This function get interrupt priority for selected source plic.
[in] | source | interrupt source |
[in] | priority | interrupt priority |
Definition at line 287 of file core_feature_plic.h.
References PLIC_PRIORITY_REGADDR.
__STATIC_FORCEINLINE void PLIC_SetContextThreshold | ( | uint32_t | ctxid, |
uint32_t | thresh | ||
) |
Set priority threshold value of plic for selected context.
This function set priority threshold value of plic for selected context.
[in] | ctxid | selected context id |
[in] | thresh | threshold value |
Definition at line 119 of file core_feature_plic.h.
References PLIC_THRESHOLD_REGADDR.
Referenced by PLIC_Context_Init().
__STATIC_FORCEINLINE void PLIC_SetInterruptPending | ( | uint32_t | source | ) |
Set interrupt pending of selected source plic.
This function set interrupt pending of selected source plic.
[in] | source | interrupt source |
Definition at line 212 of file core_feature_plic.h.
References PLIC_PENDING_REGADDR.
__STATIC_FORCEINLINE void PLIC_SetPriority | ( | uint32_t | source, |
uint32_t | priority | ||
) |
Set interrupt priority for selected source plic.
This function set interrupt priority for selected source plic.
[in] | source | interrupt source |
[in] | priority | interrupt priority |
Definition at line 270 of file core_feature_plic.h.
References PLIC_PRIORITY_REGADDR.
Referenced by PLIC_Register_IRQ(), and PLIC_Register_IRQ_S().