Index: cpukit/score/inline/rtems/score/address.inl
===================================================================
--- cpukit/score/inline/rtems/score/address.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/address.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -29,5 +29,5 @@
 )
 {
-  return (base + offset);
+  return (void *)((char *)base + offset);
 }
 
@@ -43,21 +43,5 @@
 )
 {
-  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);
 }
 
Index: cpukit/score/inline/rtems/score/coremutex.inl
===================================================================
--- cpukit/score/inline/rtems/score/coremutex.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
+++ cpukit/score/inline/rtems/score/coremutex.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -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 */
Index: cpukit/score/inline/rtems/score/coresem.inl
===================================================================
--- cpukit/score/inline/rtems/score/coresem.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
+++ cpukit/score/inline/rtems/score/coresem.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -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 */
Index: cpukit/score/inline/rtems/score/heap.inl
===================================================================
--- cpukit/score/inline/rtems/score/heap.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/heap.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -18,5 +18,5 @@
 #define __HEAP_inl
 
-#include <rtems/address.h>
+#include <rtems/core/address.h>
 
 /*PAGE
Index: cpukit/score/inline/rtems/score/isr.inl
===================================================================
--- cpukit/score/inline/rtems/score/isr.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/isr.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -17,16 +17,4 @@
 #ifndef __ISR_inl
 #define __ISR_inl
-
-/*PAGE
- *
- *  _ISR_Handler_initialization
- *
- */
-
-STATIC INLINE void _ISR_Handler_initialization ( void )
-{
-  _ISR_Signals_to_thread_executing = FALSE;
-  _ISR_Nest_level = 0;
-}
 
 /*PAGE
Index: cpukit/score/inline/rtems/score/mppkt.inl
===================================================================
--- cpukit/score/inline/rtems/score/mppkt.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/mppkt.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -27,5 +27,5 @@
 
 STATIC INLINE boolean _Mp_packet_Is_valid_packet_class (
-  rtems_mp_packet_classes the_packet_class
+  MP_packet_Classes the_packet_class
 )
 {
@@ -40,5 +40,5 @@
 
 STATIC INLINE boolean _Mp_packet_Is_null (
-  rtems_packet_prefix   *the_packet
+  MP_packet_Prefix   *the_packet
 )
 {
Index: cpukit/score/inline/rtems/score/object.inl
===================================================================
--- cpukit/score/inline/rtems/score/object.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/object.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -37,8 +37,8 @@
 /*PAGE
  *
- *  rtems_get_class
+ *  _Objects_Get_class
  */
  
-STATIC INLINE Objects_Classes rtems_get_class(
+STATIC INLINE Objects_Classes _Objects_Get_class(
   Objects_Id id
 )
@@ -51,9 +51,9 @@
 /*PAGE
  *
- *  rtems_get_node
+ *  _Objects_Get_node
  *
  */
 
-STATIC INLINE unsigned32 rtems_get_node(
+STATIC INLINE unsigned32 _Objects_Get_node(
   Objects_Id id
 )
@@ -64,9 +64,9 @@
 /*PAGE
  *
- *  rtems_get_index
+ *  _Objects_Get_index
  *
  */
 
-STATIC INLINE unsigned32 rtems_get_index(
+STATIC INLINE unsigned32 _Objects_Get_index(
   Objects_Id id
 )
@@ -111,5 +111,5 @@
 )
 {
-  return _Objects_Is_local_node( rtems_get_node(id) );
+  return _Objects_Is_local_node( _Objects_Get_node(id) );
 }
 
@@ -169,5 +169,5 @@
   unsigned32  index;
 
-  index = rtems_get_index( the_object->id );
+  index = _Objects_Get_index( the_object->id );
   information->local_table[ index ] = the_object;
 
@@ -191,5 +191,5 @@
   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 );
Index: cpukit/score/inline/rtems/score/priority.inl
===================================================================
--- cpukit/score/inline/rtems/score/priority.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/priority.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -18,5 +18,5 @@
 #define __PRIORITY_inl
 
-#include <rtems/bitfield.h>
+#include <rtems/core/bitfield.h>
 
 /*PAGE
@@ -45,6 +45,10 @@
 )
 {
-  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 );
 }
 
Index: cpukit/score/inline/rtems/score/stack.inl
===================================================================
--- cpukit/score/inline/rtems/score/stack.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/stack.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -44,5 +44,5 @@
 )
 {
-  return ( size >= RTEMS_MINIMUM_STACK_SIZE );
+  return ( size >= STACK_MINIMUM_SIZE );
 }
 
Index: cpukit/score/inline/rtems/score/states.inl
===================================================================
--- cpukit/score/inline/rtems/score/states.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/states.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -2,5 +2,5 @@
  *
  *  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.
@@ -178,4 +178,17 @@
 /*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
  *
Index: cpukit/score/inline/rtems/score/sysstate.inl
===================================================================
--- cpukit/score/inline/rtems/score/sysstate.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/sysstate.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -18,4 +18,17 @@
 #define __SYSTEM_STATE_inl
 
+/*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
  *
Index: cpukit/score/inline/rtems/score/thread.inl
===================================================================
--- cpukit/score/inline/rtems/score/thread.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/thread.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -249,5 +249,5 @@
   }
  
-  the_class = rtems_get_class( id );
+  the_class = _Objects_Get_class( id );
  
   if ( the_class > OBJECTS_CLASSES_LAST ) {
@@ -266,4 +266,16 @@
 }
 
+/*
+ *  _Thread_Is_proxy_blocking
+ *
+ */
+
+STATIC INLINE boolean _Thread_Is_proxy_blocking (
+  unsigned32 code
+)
+{
+  return (code == THREAD_STATUS_PROXY_BLOCKING);
+}
+
 #endif
 /* end of include file */
Index: cpukit/score/inline/rtems/score/tod.inl
===================================================================
--- cpukit/score/inline/rtems/score/tod.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/tod.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -59,5 +59,5 @@
 
 STATIC INLINE void _TOD_Activate(
-  rtems_interval ticks
+  Watchdog_Interval ticks
 )
 {
Index: cpukit/score/inline/rtems/score/userext.inl
===================================================================
--- cpukit/score/inline/rtems/score/userext.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/userext.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -25,5 +25,5 @@
 
 STATIC INLINE void _User_extensions_Handler_initialization (
-    rtems_extensions_table *initial_extensions
+    User_extensions_Table  *initial_extensions
 )
 {
@@ -43,5 +43,5 @@
 STATIC INLINE void _User_extensions_Add_set (
   User_extensions_Control *the_extension,
-  rtems_extensions_table  *extension_table
+  User_extensions_Table   *extension_table
 )
 {
@@ -51,4 +51,16 @@
 }
 
+/*PAGE
+ *
+ *  _User_extensions_Add_API_set
+ */
+ 
+STATIC INLINE void _User_extensions_Add_API_set (
+  User_extensions_Control *the_extension
+)
+{
+  _Chain_Prepend( &_User_extensions_List, &the_extension->Node );
+}
+ 
 /*PAGE
  *
@@ -65,116 +77,9 @@
 /*PAGE
  *
- *  _User_extensions_Task_create
+ *  _User_extensions_Thread_switch
  *
  */
 
-STATIC INLINE void _User_extensions_Task_create (
-  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_create != NULL )
-      (*the_extension->Callouts.rtems_task_create)(
-        _Thread_Executing,
-        the_thread
-      );
-  }
-}
-
-/*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
- *
- */
-
-STATIC INLINE void _User_extensions_Task_restart (
-  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_restart != NULL )
-      (*the_extension->Callouts.rtems_task_restart)(
-        _Thread_Executing,
-        the_thread
-      );
-  }
-}
-
-/*PAGE
- *
- *  _User_extensions_Task_switch
- *
- */
-
-STATIC INLINE void _User_extensions_Task_switch (
+STATIC INLINE void _User_extensions_Thread_switch (
   Thread_Control *executing,
   Thread_Control *heir
@@ -190,6 +95,6 @@
     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 );
   }
 }
@@ -197,9 +102,9 @@
 /*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
 )
@@ -207,59 +112,13 @@
   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 );
   }
 }
Index: cpukit/score/inline/rtems/score/watchdog.inl
===================================================================
--- cpukit/score/inline/rtems/score/watchdog.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/watchdog.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -25,8 +25,8 @@
 
 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
 )
 {
@@ -116,5 +116,5 @@
 STATIC INLINE void _Watchdog_Insert_ticks(
   Watchdog_Control      *the_watchdog,
-  rtems_interval      units,
+  Watchdog_Interval      units,
   Watchdog_Insert_modes  insert_mode
 )
@@ -135,5 +135,5 @@
 STATIC INLINE void _Watchdog_Insert_seconds(
   Watchdog_Control      *the_watchdog,
-  rtems_interval      units,
+  Watchdog_Interval      units,
   Watchdog_Insert_modes  insert_mode
 )
@@ -154,5 +154,5 @@
 STATIC INLINE void _Watchdog_Adjust_seconds(
   Watchdog_Adjust_directions direction,
-  rtems_interval          units
+  Watchdog_Interval          units
 )
 {
@@ -170,5 +170,5 @@
 STATIC INLINE void _Watchdog_Adjust_ticks(
   Watchdog_Adjust_directions direction,
-  rtems_interval          units
+  Watchdog_Interval          units
 )
 {
Index: cpukit/score/inline/rtems/score/wkspace.inl
===================================================================
--- cpukit/score/inline/rtems/score/wkspace.inl	(revision 7f6a24abdd1793e394e4d5d49de1f4ca0e00297a)
+++ cpukit/score/inline/rtems/score/wkspace.inl	(revision 3a4ae6c210bcc37754767966f1128ae23c77b6af)
@@ -2,5 +2,5 @@
  *
  *  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.
@@ -33,7 +33,10 @@
   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 ) {
@@ -52,5 +55,9 @@
 
   if ( memory_available == 0 )
-    rtems_fatal_error_occurred( RTEMS_UNSATISFIED );
+    _Internal_error_Occurred(
+      INTERNAL_ERROR_CORE,
+      TRUE,
+      INTERNAL_ERROR_TOO_LITTLE_WORKSPACE
+    );
 }
 
