RTEMS CPU Kit with SuperCore  4.11.3
Files | Functions
Classic ASR Implementation
Collaboration diagram for Classic ASR Implementation:

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)
 

Detailed Description

Function Documentation

◆ _ASR_Are_signals_pending()

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.

◆ _ASR_Initialize()

RTEMS_INLINE_ROUTINE void _ASR_Initialize ( ASR_Information asr)

◆ _ASR_Is_null_handler()

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().

◆ _ASR_Post_signals()

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.

◆ _ASR_Swap_signals()

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.