diff options
-rw-r--r-- | cpukit/ChangeLog | 9 | ||||
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 28 |
2 files changed, 31 insertions, 6 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index e31c748b96..0f96dd7d0f 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,14 @@ 2007-05-23 Joel Sherrill <joel.sherrill@OARcorp.com> + * sapi/include/confdefs.h: Add CONFIGURE_MESSAGE_BUFFER_MEMORY so there + is less dependence on CONFIGURE_MEMORY_OVERHEAD. Do not arbitrarily + add 1 to CONFIGURE_MEMORY_OVERHEAD so we do not waste a kilobyte for + unused Workspace. Round the workspace required size to an 8 byte + boundary instead of a 0x400 byte one. We may end up needing to add 8 + bytes again to account for the alignment rounding. + +2007-05-23 Joel Sherrill <joel.sherrill@OARcorp.com> + Yu Chen <chyyuu@gmail.com> * score/src/corespinlockwait.c: Per question posted as http://www.rtems.org/ml/rtems-users/2007/may/msg00180.html, changed diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index b32d9a84ac..900e3af759 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -1001,14 +1001,29 @@ itron_initialization_tasks_table ITRON_Initialization_tasks[] = { #endif -#ifndef CONFIGURE_MEMORY_OVERHEAD -#define CONFIGURE_MEMORY_OVERHEAD 0 -#endif - +/* + * This is so we can account for tasks with stacks greater than minimum + * size. This is in bytes. + */ #ifndef CONFIGURE_EXTRA_TASK_STACKS #define CONFIGURE_EXTRA_TASK_STACKS 0 #endif +/* + * Account for pending message buffers in bytes. + */ +#ifndef CONFIGURE_MESSAGE_BUFFER_MEMORY +#define CONFIGURE_MESSAGE_BUFFER_MEMORY 0 +#endif + +/* + * Catch all for extra memory in case something broken and underestimates. + * Historically this was used for message buffers. + */ +#ifndef CONFIGURE_MEMORY_OVERHEAD +#define CONFIGURE_MEMORY_OVERHEAD 0 +#endif + #define CONFIGURE_API_MUTEX_MEMORY \ ( (1) * \ ( sizeof(API_Mutex_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) \ @@ -1067,9 +1082,10 @@ itron_initialization_tasks_table ITRON_Initialization_tasks[] = { CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \ CONFIGURE_MEMORY_FOR_MP + \ CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD + \ - (((CONFIGURE_MEMORY_OVERHEAD)+1) * 1024) + \ + CONFIGURE_MESSAGE_BUFFER_MEMORY + \ + (CONFIGURE_MEMORY_OVERHEAD * 1024) + \ (CONFIGURE_EXTRA_TASK_STACKS) + (CONFIGURE_ADA_TASKS_STACK) \ -) & 0xfffffc00) +) & ~0x7) #endif #ifdef CONFIGURE_GNAT_RTEMS |