summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-17 18:37:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-17 18:37:55 +0000
commitbd5984deb79025a5ade18826ecdeb7eb05c3ccb4 (patch)
tree36e4cefb28300a8a42e85a55c4687c63693616c6 /cpukit/sapi
parent2008-09-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-bd5984deb79025a5ade18826ecdeb7eb05c3ccb4.tar.bz2
2008-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_sbrk_helpers.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/mallocfreespace.c, libcsupport/src/mallocinfo.c, libcsupport/src/realloc.c, libcsupport/src/rtems_memalign.c, sapi/include/confdefs.h, score/inline/rtems/score/thread.inl: Add support for optionally having a unified work area. In other words, the RTEMS Workspace and C Program Heap are the same pool of memory.
Diffstat (limited to 'cpukit/sapi')
-rw-r--r--cpukit/sapi/include/confdefs.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h
index aeb149fc6a..1facb44dd7 100644
--- a/cpukit/sapi/include/confdefs.h
+++ b/cpukit/sapi/include/confdefs.h
@@ -376,6 +376,24 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#ifdef CONFIGURE_INIT
/**
+ * By default, RTEMS uses separate heaps for the RTEMS Workspace and
+ * the C Program Heap. On many BSPs, these can be optionally
+ * combined provided one larger memory pool. This is particularly
+ * useful in combination with the unlimited objects configuration.
+ */
+ #ifdef CONFIGURE_UNIFIED_WORK_AREAS
+ #include <rtems/score/wkspace.h>
+ Heap_Control *RTEMS_Malloc_Heap = &_Workspace_Area;
+ bool rtems_unified_work_area = true;
+ #else
+ Heap_Control RTEMS_Malloc_Area;
+ Heap_Control *RTEMS_Malloc_Heap = &RTEMS_Malloc_Area;
+ bool rtems_unified_work_area = false;
+ #endif
+#endif
+
+#ifdef CONFIGURE_INIT
+ /**
* This configures the malloc family statistics to be available.
* By default only function call counts are kept.
*/