diff options
Diffstat (limited to 'c/src/exec/rtems/inline/rtems')
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/asr.inl | 5 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/attr.inl | 13 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/event.inl | 6 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/message.inl | 2 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/modes.inl | 7 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/status.inl | 12 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/tasks.inl | 59 |
7 files changed, 37 insertions, 67 deletions
diff --git a/c/src/exec/rtems/inline/rtems/rtems/asr.inl b/c/src/exec/rtems/inline/rtems/rtems/asr.inl index a2da1ae311..fb1d7a8efc 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/asr.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/asr.inl @@ -17,7 +17,7 @@ #ifndef __INLINE_ASR_inl #define __INLINE_ASR_inl -#include <rtems/isr.h> +#include <rtems/core/isr.h> /*PAGE * @@ -29,6 +29,7 @@ STATIC INLINE void _ASR_Initialize ( ASR_Information *information ) { + information->is_enabled = TRUE; information->handler = NULL; information->mode_set = RTEMS_DEFAULT_MODES; information->signals_posted = 0; @@ -47,7 +48,7 @@ STATIC INLINE void _ASR_Swap_signals ( ) { rtems_signal_set _signals; - ISR_Level _level; + ISR_Level _level; _ISR_Disable( _level ); _signals = information->signals_pending; diff --git a/c/src/exec/rtems/inline/rtems/rtems/attr.inl b/c/src/exec/rtems/inline/rtems/rtems/attr.inl index 15a9296b7e..0f1190fe93 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/attr.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/attr.inl @@ -108,5 +108,18 @@ STATIC INLINE boolean _Attributes_Is_inherit_priority( return ( attribute_set & RTEMS_INHERIT_PRIORITY ); } +/*PAGE + * + * _Attributes_Is_priority_ceiling + * + */ + +STATIC INLINE boolean _Attributes_Is_priority_ceiling( + rtems_attribute attribute_set +) +{ + return ( attribute_set & RTEMS_PRIORITY_CEILING ); +} + #endif /* end of include file */ diff --git a/c/src/exec/rtems/inline/rtems/rtems/event.inl b/c/src/exec/rtems/inline/rtems/rtems/event.inl index 2f2f480001..5377144f98 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/event.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/event.inl @@ -24,6 +24,12 @@ STATIC INLINE void _Event_Manager_initialization( void ) { _Event_Sync = FALSE; + + /* + * Register the MP Process Packet routine. + */ + + _MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet ); } #endif diff --git a/c/src/exec/rtems/inline/rtems/rtems/message.inl b/c/src/exec/rtems/inline/rtems/rtems/message.inl index 8837159580..5b34ce5a83 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/message.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/message.inl @@ -17,7 +17,7 @@ #ifndef __MESSAGE_QUEUE_inl #define __MESSAGE_QUEUE_inl -#include <rtems/wkspace.h> +#include <rtems/core/wkspace.h> /*PAGE * diff --git a/c/src/exec/rtems/inline/rtems/rtems/modes.inl b/c/src/exec/rtems/inline/rtems/rtems/modes.inl index 8fe964e8d8..6d4b6d06d0 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/modes.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/modes.inl @@ -53,7 +53,7 @@ STATIC INLINE boolean _Modes_Is_asr_disabled ( Modes_Control mode_set ) { - return ( mode_set & RTEMS_ASR_MASK ); + return (mode_set & RTEMS_ASR_MASK) == RTEMS_NO_ASR; } /*PAGE @@ -66,7 +66,7 @@ STATIC INLINE boolean _Modes_Is_preempt ( Modes_Control mode_set ) { - return ( ( mode_set & RTEMS_PREEMPT_MASK ) == RTEMS_PREEMPT ); + return (mode_set & RTEMS_PREEMPT_MASK) == RTEMS_PREEMPT; } /*PAGE @@ -79,8 +79,7 @@ STATIC INLINE boolean _Modes_Is_timeslice ( Modes_Control mode_set ) { - return ((mode_set & (RTEMS_TIMESLICE_MASK|RTEMS_PREEMPT_MASK)) == - (RTEMS_TIMESLICE|RTEMS_PREEMPT) ); + return (mode_set & RTEMS_TIMESLICE_MASK) == RTEMS_TIMESLICE; } /*PAGE diff --git a/c/src/exec/rtems/inline/rtems/rtems/status.inl b/c/src/exec/rtems/inline/rtems/rtems/status.inl index bd158e535b..1db5a1e89f 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/status.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/status.inl @@ -44,17 +44,5 @@ STATIC INLINE boolean rtems_are_statuses_equal( return (code1 == code2); } -/* - * _Status_Is_proxy_blocking - * - */ - -STATIC INLINE boolean _Status_Is_proxy_blocking ( - rtems_status_code code -) -{ - return (code == RTEMS_PROXY_BLOCKING); -} - #endif /* end of include file */ diff --git a/c/src/exec/rtems/inline/rtems/rtems/tasks.inl b/c/src/exec/rtems/inline/rtems/rtems/tasks.inl index 2aec654571..ccd2de2613 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/tasks.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/tasks.inl @@ -17,11 +17,6 @@ #ifndef __RTEMS_TASKS_inl #define __RTEMS_TASKS_inl -#include <rtems/msgmp.h> -#include <rtems/partmp.h> -#include <rtems/regionmp.h> -#include <rtems/semmp.h> - /*PAGE * * _RTEMS_tasks_Allocate @@ -51,60 +46,28 @@ STATIC INLINE void _RTEMS_tasks_Free ( /*PAGE * - * _RTEMS_tasks_Cancel_wait - * + * _RTEMS_tasks_Priority_to_Core */ - -STATIC INLINE void _RTEMS_tasks_Cancel_wait( - Thread_Control *the_thread + +STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( + rtems_task_priority priority ) { - States_Control state; - States_Control remote_state; - - state = the_thread->current_state; - -/* XXX do this with the object class */ - if ( _States_Is_waiting_on_thread_queue( state ) ) { - if ( _States_Is_waiting_for_rpc_reply( state ) && - _States_Is_locally_blocked( state ) ) { - remote_state = _States_Clear( - STATES_WAITING_FOR_RPC_REPLY | STATES_TRANSIENT, - state - ); - - switch ( remote_state ) { - - case STATES_WAITING_FOR_BUFFER: - _Partition_MP_Send_extract_proxy( the_thread ); - break; - case STATES_WAITING_FOR_SEGMENT: - _Region_MP_Send_extract_proxy( the_thread ); - break; - case STATES_WAITING_FOR_SEMAPHORE: - _Semaphore_MP_Send_extract_proxy( the_thread ); - break; - case STATES_WAITING_FOR_MESSAGE: - _Message_queue_MP_Send_extract_proxy( the_thread ); - break; - } - } - _Thread_queue_Extract( the_thread->Wait.queue, the_thread ); - } - else if ( _Watchdog_Is_active( &the_thread->Timer ) ) - (void) _Watchdog_Remove( &the_thread->Timer ); + return (Priority_Control) priority; } /*PAGE * - * _RTEMS_Tasks_Priority_to_Core + * _RTEMS_tasks_Priority_is_valid + * */ -STATIC INLINE Priority_Control _RTEMS_Tasks_Priority_to_Core( - rtems_task_priority priority +STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( + rtems_task_priority the_priority ) { - return (Priority_Control) priority; + return ( ( the_priority >= RTEMS_MINIMUM_PRIORITY ) && + ( the_priority <= RTEMS_MAXIMUM_PRIORITY ) ); } #endif |