diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index ace01994f5..aaeaf31de2 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,10 @@ +2007-05-11 Joel Sherrill + + * rtems/src/region.c, sapi/src/exinit.c: Now that the Region is + an optional manager, we cannot depend on it do initialize the + internal Allocator Mutex. This was always a questionable place to + do it, so this is a cleanup. + 2007-05-11 Joel Sherrill * libmisc/cpuuse/cpuuse.c, libmisc/stackchk/check.c, diff --git a/cpukit/rtems/src/region.c b/cpukit/rtems/src/region.c index f8e9de5e6e..f95d109049 100644 --- a/cpukit/rtems/src/region.c +++ b/cpukit/rtems/src/region.c @@ -42,10 +42,6 @@ void _Region_Manager_initialization( uint32_t maximum_regions ) { - /* XXX move me */ - _API_Mutex_Initialization( 1 ); - _API_Mutex_Allocate( _RTEMS_Allocator_Mutex ); - _Objects_Initialize_information( &_Region_Information, /* object information table */ OBJECTS_CLASSIC_API, /* object API */ diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 109826a132..ec3c8fe232 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -158,6 +158,12 @@ rtems_interrupt_level rtems_initialize_executive_early( _Objects_Information_table[OBJECTS_INTERNAL_API] = _Internal_Objects; + /* + * Initialize the internal allocator Mutex + */ + _API_Mutex_Initialization( 1 ); + _API_Mutex_Allocate( _RTEMS_Allocator_Mutex ); + _Priority_Handler_initialization(); _Watchdog_Handler_initialization();