diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-28 08:44:49 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 07:54:25 +0200 |
commit | 9832652c53af44367cd3a9cf789bdb997a85043c (patch) | |
tree | e928e3ad1d27a4d559ff1869eed8f77f202f62a5 /bsps/include/bsp/irq-generic.h | |
parent | bsps/irq: Add rtems_interrupt_vector_is_enabled() (diff) | |
download | rtems-9832652c53af44367cd3a9cf789bdb997a85043c.tar.bz2 |
bsps/irq: Add rtems_interrupt_raise()
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
Diffstat (limited to 'bsps/include/bsp/irq-generic.h')
-rw-r--r-- | bsps/include/bsp/irq-generic.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h index cc45e63fed..d2d5e1ed90 100644 --- a/bsps/include/bsp/irq-generic.h +++ b/bsps/include/bsp/irq-generic.h @@ -274,6 +274,53 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector); void bsp_interrupt_vector_disable(rtems_vector_number vector); /** + * @brief Causes the interrupt vector. + * + * @param vector is the number of the interrupt vector to cause. It shall be + * valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_raise( rtems_vector_number vector ); + +#if defined(RTEMS_SMP) +/** + * @brief Causes the interrupt vector on the processor. + * + * @param vector is the number of the interrupt vector to cause. It shall be + * valid. + * + * @param cpu_index is the index of the target processor of the interrupt + * vector to cause. It shall be valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_raise_on( + rtems_vector_number vector, + uint32_t cpu_index +); +#endif + +/** + * @brief Clears the interrupt vector. + * + * @param vector is the number of the interrupt vector to clear. It shall be + * valid. + * + * @retval ::RTEMS_SUCCESSFUL The requested operation was successful. + * + * @retval ::RTEMS_UNSATISFIED The request to cause the interrupt vector has + * not been satisfied. + */ +rtems_status_code bsp_interrupt_clear( rtems_vector_number vector ); + +/** * @brief Sequentially calls all interrupt handlers installed at the vector. * * This function does not validate the vector number. If the vector number is |