rtems_interrupt_catch()
Chris Johns
chrisj at rtems.org
Wed Jun 24 23:36:12 UTC 2020
On 24/6/20 2:40 am, Sebastian Huber wrote:
> Hello,
>
> I noticed that the rtems_interrupt_catch() directive is only declared
> and implemented if CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE:
>
> #if (CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE)
>
> typedef ISR_Handler_entry rtems_isr_entry;
>
> #else
> /**
> * @brief Interrupt handler type.
> *
> * @see rtems_interrupt_catch()
> */
> typedef rtems_isr ( *rtems_isr_entry )(
> rtems_vector_number
> );
>
> /**
> * @brief RTEMS Interrupt Catch
> *
> * This directive installs @a new_isr_handler as the RTEMS interrupt
> service
> * routine for the interrupt vector with number @a vector. The previous
> RTEMS
> * interrupt service routine is returned in @a old_isr_handler.
> *
> * @param[in] new_isr_handler is the address of interrupt service routine
> * @param[in] vector is the interrupt vector number
> * @param[in] old_isr_handler address at which to store previous ISR
> address
> *
> * @retval RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR
> * address
> */
> rtems_status_code rtems_interrupt_catch(
> rtems_isr_entry new_isr_handler,
> rtems_vector_number vector,
> rtems_isr_entry *old_isr_handler
> );
> #endif
>
> This is not mentioned in the documentation:
>
> https://docs.rtems.org/branches/master/c-user/interrupt_manager.html#interrupt-catch-establish-an-isr
>
>
> Should we provide this function also if CPU_SIMPLE_VECTORED_INTERRUPTS
> == FALSE and for example just return RTEMS_NOT_IMPLEMENTED?
Which archs define CPU_SIMPLE_VECTORED_INTERRUPTS as false?
Chris
More information about the devel
mailing list