From 11174651160d8c3e52773f55bf7fc25f453839e5 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 17 Sep 2008 18:38:57 +0000 Subject: 2008-09-17 Joel Sherrill * minimum/init.c, unlimited/system.h: 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. --- testsuites/samples/ChangeLog | 6 ++++++ testsuites/samples/minimum/init.c | 15 +++++++++++++++ testsuites/samples/unlimited/system.h | 1 + 3 files changed, 22 insertions(+) (limited to 'testsuites') diff --git a/testsuites/samples/ChangeLog b/testsuites/samples/ChangeLog index f1b48bb768..e80ae86814 100644 --- a/testsuites/samples/ChangeLog +++ b/testsuites/samples/ChangeLog @@ -1,3 +1,9 @@ +2008-09-17 Joel Sherrill + + * minimum/init.c, unlimited/system.h: 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. + 2008-09-17 Miao Yan * hello/system.h, minimum/Makefile.am, minimum/init.c: Merge GSOC diff --git a/testsuites/samples/minimum/init.c b/testsuites/samples/minimum/init.c index 32b91478a3..e4afcb6cae 100644 --- a/testsuites/samples/minimum/init.c +++ b/testsuites/samples/minimum/init.c @@ -77,6 +77,21 @@ rtems_task Init( */ #define CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS +/* + * This configures RTEMS to use a single memory pool for the RTEMS Workspace + * and C Program Heap. If not defined, there will be separate memory pools + * for the RTEMS Workspace and C Program Heap. Having separate pools + * does haved some advantages in the event a task blows a stack or writes + * outside its memory area. However, in low memory systems the overhead of + * the two pools plus the potential for unused memory in either pool is + * very undesirable. + * + * In high memory environments, this is desirable when you want to use + * the RTEMS "unlimited" objects option. You will be able to create objects + * until you run out of memory. + */ +#define CONFIGURE_UNIFIED_WORK_AREAS + /* * In this application, the initialization task performs the system * initialization and then transforms itself into the idle task. diff --git a/testsuites/samples/unlimited/system.h b/testsuites/samples/unlimited/system.h index 75bde9081c..4da882f961 100644 --- a/testsuites/samples/unlimited/system.h +++ b/testsuites/samples/unlimited/system.h @@ -46,6 +46,7 @@ void test3(); #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_UNIFIED_WORK_AREAS #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define TASK_ALLOCATION_SIZE (5) -- cgit v1.2.3