RTEMS CPU Kit with SuperCore
4.11.3
|
![]() |
Files | |
file | asrimpl.h |
Classic ASR Implementation. | |
Functions | |
RTEMS_INLINE_ROUTINE void | _ASR_Initialize (ASR_Information *asr) |
ASR_Initialize. More... | |
RTEMS_INLINE_ROUTINE void | _ASR_Create (ASR_Information *asr) |
RTEMS_INLINE_ROUTINE void | _ASR_Destroy (ASR_Information *asr) |
RTEMS_INLINE_ROUTINE void | _ASR_Swap_signals (ASR_Information *asr) |
ASR_Swap_signals. More... | |
RTEMS_INLINE_ROUTINE bool | _ASR_Is_null_handler (rtems_asr_entry asr_handler) |
ASR_Is_null_handler. More... | |
RTEMS_INLINE_ROUTINE bool | _ASR_Are_signals_pending (ASR_Information *asr) |
ASR_Are_signals_pending. More... | |
RTEMS_INLINE_ROUTINE void | _ASR_Post_signals (ASR_Information *asr, rtems_signal_set signals, rtems_signal_set *signal_set) |
ASR_Post_signals. More... | |
RTEMS_INLINE_ROUTINE rtems_signal_set | _ASR_Get_posted_signals (ASR_Information *asr) |
RTEMS_INLINE_ROUTINE bool _ASR_Are_signals_pending | ( | ASR_Information * | asr | ) |
ASR_Are_signals_pending.
This function returns TRUE if there are signals pending in the given RTEMS_ASR information record and FALSE otherwise.
References ASR_Information::signals_posted.
RTEMS_INLINE_ROUTINE void _ASR_Initialize | ( | ASR_Information * | asr | ) |
ASR_Initialize.
This routine initializes the given RTEMS_ASR information record.
References ASR_Information::handler, ASR_Information::is_enabled, ASR_Information::mode_set, ASR_Information::nest_level, RTEMS_DEFAULT_MODES, RTEMS_INLINE_ROUTINE, ASR_Information::signals_pending, and ASR_Information::signals_posted.
Referenced by rtems_signal_catch().
RTEMS_INLINE_ROUTINE bool _ASR_Is_null_handler | ( | rtems_asr_entry | asr_handler | ) |
ASR_Is_null_handler.
This function returns TRUE if the given asr_handler is NULL and FALSE otherwise.
Referenced by rtems_signal_catch().
RTEMS_INLINE_ROUTINE void _ASR_Post_signals | ( | ASR_Information * | asr, |
rtems_signal_set | signals, | ||
rtems_signal_set * | signal_set | ||
) |
ASR_Post_signals.
This routine posts the given signals into the signal_set passed in. The result is returned to the user in signal_set.
NOTE: This must be implemented as a macro.
References _ISR_lock_ISR_disable_and_acquire, _ISR_lock_Release_and_ISR_enable, ASR_Information::Lock, and RTEMS_INLINE_ROUTINE.
RTEMS_INLINE_ROUTINE void _ASR_Swap_signals | ( | ASR_Information * | asr | ) |
ASR_Swap_signals.
This routine atomically swaps the pending and posted signal sets. This is done when the thread alters its mode in such a way that the RTEMS_ASR disable/enable flag changes.
References _ISR_lock_ISR_disable_and_acquire, _ISR_lock_Release_and_ISR_enable, ASR_Information::Lock, ASR_Information::signals_pending, and ASR_Information::signals_posted.