00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _RTEMS_SCORE_CONTEXT_H
00019 #define _RTEMS_SCORE_CONTEXT_H
00020
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 #include <rtems/score/cpu.h>
00034
00041 #define CONTEXT_FP_SIZE CPU_CONTEXT_FP_SIZE
00042
00051 SCORE_EXTERN volatile boolean _Context_Switch_necessary;
00052
00068 #define _Context_Initialize(_the_context, _stack, _size, _isr, _entry, _is_fp) \
00069 _CPU_Context_Initialize( _the_context, _stack, _size, _isr, _entry, _is_fp )
00070
00080 #if defined(_CPU_Context_Initialization_at_thread_begin)
00081 #define _Context_Initialization_at_thread_begin() \
00082 _CPU_Context_Initialization_at_thread_begin()
00083 #else
00084 #define _Context_Initialization_at_thread_begin()
00085 #endif
00086
00096 #define _Context_Switch( _executing, _heir ) \
00097 _CPU_Context_switch( _executing, _heir )
00098
00107 #define _Context_Restart_self( _the_context ) \
00108 _CPU_Context_Restart_self( _the_context )
00109
00123 #define _Context_Fp_start( _base, _offset ) \
00124 _CPU_Context_Fp_start( (_base), (_offset) )
00125
00135 #define _Context_Initialize_fp( _fp_area ) \
00136 _CPU_Context_Initialize_fp( _fp_area )
00137
00148 #define _Context_Restore_fp( _fp ) \
00149 _CPU_Context_restore_fp( _fp )
00150
00159 #define _Context_Save_fp( _fp ) \
00160 _CPU_Context_save_fp( _fp )
00161
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165
00168 #endif
00169