diff options
Diffstat (limited to 'cpukit/score/inline/rtems')
-rw-r--r-- | cpukit/score/inline/rtems/score/address.inl | 20 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/coremutex.inl | 104 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/coresem.inl | 47 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/heap.inl | 2 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/isr.inl | 12 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/mppkt.inl | 4 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/object.inl | 18 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/priority.inl | 10 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/stack.inl | 2 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/states.inl | 15 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/sysstate.inl | 13 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/thread.inl | 14 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/tod.inl | 2 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/userext.inl | 189 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/watchdog.inl | 16 | ||||
-rw-r--r-- | cpukit/score/inline/rtems/score/wkspace.inl | 17 |
16 files changed, 258 insertions, 227 deletions
diff --git a/cpukit/score/inline/rtems/score/address.inl b/cpukit/score/inline/rtems/score/address.inl index f9189e625e..dd2a789b1e 100644 --- a/cpukit/score/inline/rtems/score/address.inl +++ b/cpukit/score/inline/rtems/score/address.inl @@ -28,7 +28,7 @@ STATIC INLINE void *_Addresses_Add_offset ( unsigned32 offset ) { - return (base + offset); + return (void *)((char *)base + offset); } /*PAGE @@ -42,23 +42,7 @@ STATIC INLINE void *_Addresses_Subtract_offset ( unsigned32 offset ) { - return (base - offset); -} - -/*PAGE - * - * _Addresses_Add - * - * NOTE: The cast of an address to an unsigned32 makes this code - * dependent on an addresses being thirty two bits. - */ - -STATIC INLINE void *_Addresses_Add ( - void *left, - void *right -) -{ - return (left + (unsigned32)right); + return (void *)((char *)base - offset); } /*PAGE diff --git a/cpukit/score/inline/rtems/score/coremutex.inl b/cpukit/score/inline/rtems/score/coremutex.inl new file mode 100644 index 0000000000..8681795085 --- /dev/null +++ b/cpukit/score/inline/rtems/score/coremutex.inl @@ -0,0 +1,104 @@ +/* inline/coremutex.inl + * + * This include file contains all of the inlined routines associated + * with the CORE mutexes. + * + * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. + * On-Line Applications Research Corporation (OAR). + * All rights assigned to U.S. Government, 1994. + * + * This material may be reproduced by or for the U.S. Government pursuant + * to the copyright license under the clause at DFARS 252.227-7013. This + * notice must appear in all copies of this file and its derivatives. + * + * $Id$ + */ + +#ifndef __INLINE_CORE_MUTEX_inl +#define __INLINE_CORE_MUTEX_inl + +/*PAGE + * + * _CORE_mutex_Is_locked + * + */ + +STATIC INLINE boolean _CORE_mutex_Is_locked( + CORE_mutex_Control *the_mutex +) +{ + return the_mutex->lock == CORE_MUTEX_LOCKED; +} + +/*PAGE + * + * _CORE_mutex_Is_fifo + * + */ + +STATIC INLINE boolean _CORE_mutex_Is_fifo( + CORE_mutex_Attributes *the_attribute +) +{ + return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_FIFO; +} + +/*PAGE + * + * _CORE_mutex_Is_priority + * + */ + +STATIC INLINE boolean _CORE_mutex_Is_priority( + CORE_mutex_Attributes *the_attribute +) +{ + return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY; +} + +/*PAGE + * + * _CORE_mutex_Is_inherit_priority + * + */ + +STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( + CORE_mutex_Attributes *the_attribute +) +{ + return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT; +} + +/*PAGE + * + * _CORE_mutex_Is_priority_ceiling + * + */ + +STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( + CORE_mutex_Attributes *the_attribute +) +{ + return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING; +} + +/*PAGE + * + * _CORE_mutex_Is_nesting_allowed + * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex allows a task to obtain a + * semaphore more than once and nest. + */ + +STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed( + CORE_mutex_Attributes *the_attribute +) +{ + return the_attribute->allow_nesting == TRUE; + +} + +#endif +/* end of include file */ diff --git a/cpukit/score/inline/rtems/score/coresem.inl b/cpukit/score/inline/rtems/score/coresem.inl new file mode 100644 index 0000000000..53f7d68595 --- /dev/null +++ b/cpukit/score/inline/rtems/score/coresem.inl @@ -0,0 +1,47 @@ +/* inline/coresem.inl + * + * This include file contains all of the inlined routines associated + * with the CORE semaphore. + * + * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. + * On-Line Applications Research Corporation (OAR). + * All rights assigned to U.S. Government, 1994. + * + * This material may be reproduced by or for the U.S. Government pursuant + * to the copyright license under the clause at DFARS 252.227-7013. This + * notice must appear in all copies of this file and its derivatives. + * + * $Id$ + */ + +#ifndef __INLINE_CORE_SEMAPHORE_inl +#define __INLINE_CORE_SEMAPHORE_inl + +/*PAGE + * + * _CORE_semaphore_Is_priority + * + */ + +STATIC INLINE boolean _CORE_semaphore_Is_priority( + CORE_semaphore_Attributes *the_attribute +) +{ + return ( the_attribute->discipline == CORE_SEMAPHORE_DISCIPLINES_PRIORITY ); +} + +/*PAGE + * + * _CORE_semaphore_Get_count + * + */ + +STATIC INLINE unsigned32 _CORE_semaphore_Get_count( + CORE_semaphore_Control *the_semaphore +) +{ + return the_semaphore->count; +} + +#endif +/* end of include file */ diff --git a/cpukit/score/inline/rtems/score/heap.inl b/cpukit/score/inline/rtems/score/heap.inl index 58be9b02af..c28f1a6067 100644 --- a/cpukit/score/inline/rtems/score/heap.inl +++ b/cpukit/score/inline/rtems/score/heap.inl @@ -17,7 +17,7 @@ #ifndef __HEAP_inl #define __HEAP_inl -#include <rtems/address.h> +#include <rtems/core/address.h> /*PAGE * diff --git a/cpukit/score/inline/rtems/score/isr.inl b/cpukit/score/inline/rtems/score/isr.inl index f44880c3b6..222fcadb17 100644 --- a/cpukit/score/inline/rtems/score/isr.inl +++ b/cpukit/score/inline/rtems/score/isr.inl @@ -19,18 +19,6 @@ /*PAGE * - * _ISR_Handler_initialization - * - */ - -STATIC INLINE void _ISR_Handler_initialization ( void ) -{ - _ISR_Signals_to_thread_executing = FALSE; - _ISR_Nest_level = 0; -} - -/*PAGE - * * _ISR_Is_in_progress * */ diff --git a/cpukit/score/inline/rtems/score/mppkt.inl b/cpukit/score/inline/rtems/score/mppkt.inl index 22ec30a28c..c23d756ec9 100644 --- a/cpukit/score/inline/rtems/score/mppkt.inl +++ b/cpukit/score/inline/rtems/score/mppkt.inl @@ -26,7 +26,7 @@ */ STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( - rtems_mp_packet_classes the_packet_class + MP_packet_Classes the_packet_class ) { return ( the_packet_class <= MP_PACKET_CLASSES_LAST ); @@ -39,7 +39,7 @@ STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( */ STATIC INLINE boolean _Mp_packet_Is_null ( - rtems_packet_prefix *the_packet + MP_packet_Prefix *the_packet ) { return the_packet == NULL; diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl index b6ae73a351..eb07a24890 100644 --- a/cpukit/score/inline/rtems/score/object.inl +++ b/cpukit/score/inline/rtems/score/object.inl @@ -36,10 +36,10 @@ STATIC INLINE Objects_Id _Objects_Build_id( /*PAGE * - * rtems_get_class + * _Objects_Get_class */ -STATIC INLINE Objects_Classes rtems_get_class( +STATIC INLINE Objects_Classes _Objects_Get_class( Objects_Id id ) { @@ -50,11 +50,11 @@ STATIC INLINE Objects_Classes rtems_get_class( /*PAGE * - * rtems_get_node + * _Objects_Get_node * */ -STATIC INLINE unsigned32 rtems_get_node( +STATIC INLINE unsigned32 _Objects_Get_node( Objects_Id id ) { @@ -63,11 +63,11 @@ STATIC INLINE unsigned32 rtems_get_node( /*PAGE * - * rtems_get_index + * _Objects_Get_index * */ -STATIC INLINE unsigned32 rtems_get_index( +STATIC INLINE unsigned32 _Objects_Get_index( Objects_Id id ) { @@ -110,7 +110,7 @@ STATIC INLINE boolean _Objects_Is_local_id( Objects_Id id ) { - return _Objects_Is_local_node( rtems_get_node(id) ); + return _Objects_Is_local_node( _Objects_Get_node(id) ); } /*PAGE @@ -168,7 +168,7 @@ STATIC INLINE void _Objects_Open( { unsigned32 index; - index = rtems_get_index( the_object->id ); + index = _Objects_Get_index( the_object->id ); information->local_table[ index ] = the_object; if ( information->is_string ) @@ -190,7 +190,7 @@ STATIC INLINE void _Objects_Close( { unsigned32 index; - index = rtems_get_index( the_object->id ); + index = _Objects_Get_index( the_object->id ); information->local_table[ index ] = NULL; _Objects_Clear_name( the_object->name, information->name_length ); } diff --git a/cpukit/score/inline/rtems/score/priority.inl b/cpukit/score/inline/rtems/score/priority.inl index b2bc8535ff..0ecd3c64a4 100644 --- a/cpukit/score/inline/rtems/score/priority.inl +++ b/cpukit/score/inline/rtems/score/priority.inl @@ -17,7 +17,7 @@ #ifndef __PRIORITY_inl #define __PRIORITY_inl -#include <rtems/bitfield.h> +#include <rtems/core/bitfield.h> /*PAGE * @@ -44,8 +44,12 @@ STATIC INLINE boolean _Priority_Is_valid ( Priority_Control the_priority ) { - return ( ( the_priority >= RTEMS_MINIMUM_PRIORITY ) && - ( the_priority <= RTEMS_MAXIMUM_PRIORITY ) ); + /* + * Since PRIORITY_MINIMUM is 0 and priorities are stored unsigned, + * then checking for less than 0 is unnecessary. + */ + + return ( the_priority <= PRIORITY_MAXIMUM ); } /*PAGE diff --git a/cpukit/score/inline/rtems/score/stack.inl b/cpukit/score/inline/rtems/score/stack.inl index 24a6d9d873..7c6acf7cb3 100644 --- a/cpukit/score/inline/rtems/score/stack.inl +++ b/cpukit/score/inline/rtems/score/stack.inl @@ -43,7 +43,7 @@ STATIC INLINE boolean _Stack_Is_enough ( unsigned32 size ) { - return ( size >= RTEMS_MINIMUM_STACK_SIZE ); + return ( size >= STACK_MINIMUM_SIZE ); } /*PAGE diff --git a/cpukit/score/inline/rtems/score/states.inl b/cpukit/score/inline/rtems/score/states.inl index 316f40e4eb..23ee8cacbc 100644 --- a/cpukit/score/inline/rtems/score/states.inl +++ b/cpukit/score/inline/rtems/score/states.inl @@ -1,7 +1,7 @@ /* states.inl * * This file contains the macro implementation of the inlined - * routines associated with RTEMS state information. + * routines associated with thread state information. * * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. * On-Line Applications Research Corporation (OAR). @@ -177,6 +177,19 @@ STATIC INLINE boolean _States_Is_waiting_for_event ( /*PAGE * + * _States_Is_waiting_for_mutex + * + */ + +STATIC INLINE boolean _States_Is_waiting_for_mutex ( + States_Control the_states +) +{ + return (the_states & STATES_WAITING_FOR_MUTEX); +} + +/*PAGE + * * _States_Is_waiting_for_semaphore * */ diff --git a/cpukit/score/inline/rtems/score/sysstate.inl b/cpukit/score/inline/rtems/score/sysstate.inl index 14d838cb14..180e6abe54 100644 --- a/cpukit/score/inline/rtems/score/sysstate.inl +++ b/cpukit/score/inline/rtems/score/sysstate.inl @@ -19,6 +19,19 @@ /*PAGE * + * _System_state_Handler_initialization + */ + +STATIC INLINE void _System_state_Handler_initialization ( + boolean is_multiprocessing +) +{ + _System_state_Current = SYSTEM_STATE_BEFORE_INITIALIZATION; + _System_state_Is_multiprocessing = is_multiprocessing; +} + +/*PAGE + * * _System_state_Set */ diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index 2a1049f241..e326410112 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -248,7 +248,7 @@ STATIC INLINE Thread_Control *_Thread_Get ( return( _Thread_Executing ); } - the_class = rtems_get_class( id ); + the_class = _Objects_Get_class( id ); if ( the_class > OBJECTS_CLASSES_LAST ) { *location = OBJECTS_ERROR; @@ -265,5 +265,17 @@ STATIC INLINE Thread_Control *_Thread_Get ( return (Thread_Control *) _Objects_Get( information, id, location ); } +/* + * _Thread_Is_proxy_blocking + * + */ + +STATIC INLINE boolean _Thread_Is_proxy_blocking ( + unsigned32 code +) +{ + return (code == THREAD_STATUS_PROXY_BLOCKING); +} + #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/tod.inl b/cpukit/score/inline/rtems/score/tod.inl index dadcdabcda..d2e26e2f2a 100644 --- a/cpukit/score/inline/rtems/score/tod.inl +++ b/cpukit/score/inline/rtems/score/tod.inl @@ -58,7 +58,7 @@ STATIC INLINE void _TOD_Deactivate( void ) */ STATIC INLINE void _TOD_Activate( - rtems_interval ticks + Watchdog_Interval ticks ) { _Watchdog_Insert_ticks( diff --git a/cpukit/score/inline/rtems/score/userext.inl b/cpukit/score/inline/rtems/score/userext.inl index fa5a31c37b..697a7eddd0 100644 --- a/cpukit/score/inline/rtems/score/userext.inl +++ b/cpukit/score/inline/rtems/score/userext.inl @@ -24,7 +24,7 @@ */ STATIC INLINE void _User_extensions_Handler_initialization ( - rtems_extensions_table *initial_extensions + User_extensions_Table *initial_extensions ) { _Chain_Initialize_empty( &_User_extensions_List ); @@ -42,7 +42,7 @@ STATIC INLINE void _User_extensions_Handler_initialization ( STATIC INLINE void _User_extensions_Add_set ( User_extensions_Control *the_extension, - rtems_extensions_table *extension_table + User_extensions_Table *extension_table ) { the_extension->Callouts = *extension_table; @@ -52,130 +52,35 @@ STATIC INLINE void _User_extensions_Add_set ( /*PAGE * - * _User_extensions_Remove_set - */ - -STATIC INLINE void _User_extensions_Remove_set ( - User_extensions_Control *the_extension -) -{ - _Chain_Extract( &the_extension->Node ); -} - -/*PAGE - * - * _User_extensions_Task_create - * + * _User_extensions_Add_API_set */ - -STATIC INLINE void _User_extensions_Task_create ( - Thread_Control *the_thread + +STATIC INLINE void _User_extensions_Add_API_set ( + User_extensions_Control *the_extension ) { - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.first ; - !_Chain_Is_tail( &_User_extensions_List, the_node ) ; - the_node = the_node->next ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.rtems_task_create != NULL ) - (*the_extension->Callouts.rtems_task_create)( - _Thread_Executing, - the_thread - ); - } + _Chain_Prepend( &_User_extensions_List, &the_extension->Node ); } - + /*PAGE * - * _User_extensions_Task_delete - */ - -STATIC INLINE void _User_extensions_Task_delete ( - Thread_Control *the_thread -) -{ - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.last ; - !_Chain_Is_head( &_User_extensions_List, the_node ) ; - the_node = the_node->previous ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.rtems_task_delete != NULL ) - (*the_extension->Callouts.rtems_task_delete)( - _Thread_Executing, - the_thread - ); - } -} - -/*PAGE - * - * _User_extensions_Task_start - * - */ - -STATIC INLINE void _User_extensions_Task_start ( - Thread_Control *the_thread -) -{ - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.first ; - !_Chain_Is_tail( &_User_extensions_List, the_node ) ; - the_node = the_node->next ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.rtems_task_start != NULL ) - (*the_extension->Callouts.rtems_task_start)( - _Thread_Executing, - the_thread - ); - } -} - -/*PAGE - * - * _User_extensions_Task_restart - * + * _User_extensions_Remove_set */ -STATIC INLINE void _User_extensions_Task_restart ( - Thread_Control *the_thread +STATIC INLINE void _User_extensions_Remove_set ( + User_extensions_Control *the_extension ) { - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.first ; - !_Chain_Is_tail( &_User_extensions_List, the_node ) ; - the_node = the_node->next ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.rtems_task_restart != NULL ) - (*the_extension->Callouts.rtems_task_restart)( - _Thread_Executing, - the_thread - ); - } + _Chain_Extract( &the_extension->Node ); } /*PAGE * - * _User_extensions_Task_switch + * _User_extensions_Thread_switch * */ -STATIC INLINE void _User_extensions_Task_switch ( +STATIC INLINE void _User_extensions_Thread_switch ( Thread_Control *executing, Thread_Control *heir ) @@ -189,78 +94,32 @@ STATIC INLINE void _User_extensions_Task_switch ( the_extension = (User_extensions_Control *) the_node; - if ( the_extension->Callouts.task_switch != NULL ) - (*the_extension->Callouts.task_switch)( executing, heir ); + if ( the_extension->Callouts.thread_switch != NULL ) + (*the_extension->Callouts.thread_switch)( executing, heir ); } } /*PAGE * - * _User_extensions_Task_begin + * _User_extensions_Thread_post_switch * */ - -STATIC INLINE void _User_extensions_Task_begin ( + +STATIC INLINE void _User_extensions_Thread_post_switch ( Thread_Control *executing ) { Chain_Node *the_node; User_extensions_Control *the_extension; - + for ( the_node = _User_extensions_List.first ; !_Chain_Is_tail( &_User_extensions_List, the_node ) ; the_node = the_node->next ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.task_begin != NULL ) - (*the_extension->Callouts.task_begin)( executing ); - } -} - -/*PAGE - * - * _User_extensions_Task_exitted - */ - -STATIC INLINE void _User_extensions_Task_exitted ( - Thread_Control *executing -) -{ - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.last ; - !_Chain_Is_head( &_User_extensions_List, the_node ) ; - the_node = the_node->previous ) { - + the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.task_exitted != NULL ) - (*the_extension->Callouts.task_exitted)( executing ); - } -} - -/*PAGE - * - * _User_extensions_Fatal - */ - -STATIC INLINE void _User_extensions_Fatal ( - unsigned32 the_error -) -{ - Chain_Node *the_node; - User_extensions_Control *the_extension; - - for ( the_node = _User_extensions_List.last ; - !_Chain_Is_head( &_User_extensions_List, the_node ) ; - the_node = the_node->previous ) { - - the_extension = (User_extensions_Control *) the_node; - - if ( the_extension->Callouts.fatal != NULL ) - (*the_extension->Callouts.fatal)( the_error ); + + if ( the_extension->Callouts.thread_post_switch != NULL ) + (*the_extension->Callouts.thread_post_switch)( executing ); } } diff --git a/cpukit/score/inline/rtems/score/watchdog.inl b/cpukit/score/inline/rtems/score/watchdog.inl index 2e7dca0381..bb7edb82ed 100644 --- a/cpukit/score/inline/rtems/score/watchdog.inl +++ b/cpukit/score/inline/rtems/score/watchdog.inl @@ -24,10 +24,10 @@ */ STATIC INLINE void _Watchdog_Initialize( - Watchdog_Control *the_watchdog, - rtems_timer_service_routine_entry routine, - Objects_Id id, - void *user_data + Watchdog_Control *the_watchdog, + Watchdog_Service_routine_entry routine, + Objects_Id id, + void *user_data ) { the_watchdog->state = WATCHDOG_INACTIVE; @@ -115,7 +115,7 @@ STATIC INLINE void _Watchdog_Tickle_seconds( void ) STATIC INLINE void _Watchdog_Insert_ticks( Watchdog_Control *the_watchdog, - rtems_interval units, + Watchdog_Interval units, Watchdog_Insert_modes insert_mode ) { @@ -134,7 +134,7 @@ STATIC INLINE void _Watchdog_Insert_ticks( STATIC INLINE void _Watchdog_Insert_seconds( Watchdog_Control *the_watchdog, - rtems_interval units, + Watchdog_Interval units, Watchdog_Insert_modes insert_mode ) { @@ -153,7 +153,7 @@ STATIC INLINE void _Watchdog_Insert_seconds( STATIC INLINE void _Watchdog_Adjust_seconds( Watchdog_Adjust_directions direction, - rtems_interval units + Watchdog_Interval units ) { @@ -169,7 +169,7 @@ STATIC INLINE void _Watchdog_Adjust_seconds( STATIC INLINE void _Watchdog_Adjust_ticks( Watchdog_Adjust_directions direction, - rtems_interval units + Watchdog_Interval units ) { diff --git a/cpukit/score/inline/rtems/score/wkspace.inl b/cpukit/score/inline/rtems/score/wkspace.inl index 39d5ad8eb8..36ed61d565 100644 --- a/cpukit/score/inline/rtems/score/wkspace.inl +++ b/cpukit/score/inline/rtems/score/wkspace.inl @@ -1,7 +1,7 @@ /* wkspace.inl * * This include file contains the bodies of the routines which contains - * information related to the RTEMS RAM Workspace. + * information related to the RAM Workspace. * * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. * On-Line Applications Research Corporation (OAR). @@ -32,9 +32,12 @@ STATIC INLINE void _Workspace_Handler_initialization( unsigned32 index; unsigned32 memory_available; - if ( (starting_address == NULL) || - !_Addresses_Is_aligned( starting_address ) ) - rtems_fatal_error_occurred( RTEMS_INVALID_ADDRESS ); + if ( !starting_address || !_Addresses_Is_aligned( starting_address ) ) + _Internal_error_Occurred( + INTERNAL_ERROR_CORE, + TRUE, + INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS + ); if ( _CPU_Table.do_zero_of_workspace ) { for( zero_out_array = (unsigned32 *) starting_address, index = 0 ; @@ -51,7 +54,11 @@ STATIC INLINE void _Workspace_Handler_initialization( ); if ( memory_available == 0 ) - rtems_fatal_error_occurred( RTEMS_UNSATISFIED ); + _Internal_error_Occurred( + INTERNAL_ERROR_CORE, + TRUE, + INTERNAL_ERROR_TOO_LITTLE_WORKSPACE + ); } /*PAGE |