![]() |
NMSIS-Core
Version 1.6.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_INLINE 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 424 of file core_feature_plic.h.
| #define PLIC_ClaimInterrupt_S | ( | ) | PLIC_ClaimContextInterrupt(PLIC_GetHartSContextID()) |
Definition at line 425 of file core_feature_plic.h.
| #define PLIC_CompleteInterrupt | ( | source | ) | PLIC_CompleteContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 427 of file core_feature_plic.h.
| #define PLIC_CompleteInterrupt_S | ( | source | ) | PLIC_CompleteContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 428 of file core_feature_plic.h.
| #define PLIC_DisableInterrupt | ( | source | ) | PLIC_DisableContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 436 of file core_feature_plic.h.
| #define PLIC_DisableInterrupt_S | ( | source | ) | PLIC_DisableContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 437 of file core_feature_plic.h.
| #define PLIC_EnableInterrupt | ( | source | ) | PLIC_EnableContextInterrupt(PLIC_GetHartMContextID(), (source)) |
Definition at line 433 of file core_feature_plic.h.
| #define PLIC_EnableInterrupt_S | ( | source | ) | PLIC_EnableContextInterrupt(PLIC_GetHartSContextID(), (source)) |
Definition at line 434 of file core_feature_plic.h.
| #define PLIC_GetInterruptEnable | ( | source | ) | PLIC_GetContextInterruptEnable(PLIC_GetHartMContextID(), (source)) |
Definition at line 430 of file core_feature_plic.h.
| #define PLIC_GetInterruptEnable_S | ( | source | ) | PLIC_GetContextInterruptEnable(PLIC_GetHartSContextID(), (source)) |
Definition at line 431 of file core_feature_plic.h.
| #define PLIC_GetThreshold | ( | ) | PLIC_GetContextThreshold(PLIC_GetHartMContextID()) |
Definition at line 442 of file core_feature_plic.h.
| #define PLIC_GetThreshold_S | ( | ) | PLIC_GetContextThreshold(PLIC_GetHartSContextID()) |
Definition at line 443 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 421 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 422 of file core_feature_plic.h.
| #define PLIC_SetThreshold | ( | thresh | ) | PLIC_SetContextThreshold(PLIC_GetHartMContextID(), (thresh)) |
Definition at line 439 of file core_feature_plic.h.
| #define PLIC_SetThreshold_S | ( | thresh | ) | PLIC_SetContextThreshold(PLIC_GetHartSContextID(), (thresh)) |
Definition at line 440 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 471 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 455 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 365 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 288 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 |
| [in] | source | interrupt source ID to complete |
Definition at line 388 of file core_feature_plic.h.
References PLIC_COMPLETE_REGADDR.
| __STATIC_INLINE 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 407 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 229 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 210 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 250 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 193 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 308 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 344 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 176 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 269 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 327 of file core_feature_plic.h.
References PLIC_PRIORITY_REGADDR.
Referenced by PLIC_Register_IRQ(), and PLIC_Register_IRQ_S().