diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-14 13:48:18 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-25 07:15:19 +0100 |
commit | ad85c00966451ee793ced8ee1141a55b3911394f (patch) | |
tree | 517be68a8812eccd334254a9f0883a75d033bfac /cpukit/include | |
parent | config: Add _Workspace_Size (diff) | |
download | rtems-ad85c00966451ee793ced8ee1141a55b3911394f.tar.bz2 |
config: Add _Workspace_Is_unified
Move the unified workspace configuration constant out of the
configuration table.
Provide a default definition of the unified workspace constant.
Update #3875.
Diffstat (limited to 'cpukit/include')
-rw-r--r-- | cpukit/include/rtems/confdefs.h | 9 | ||||
-rw-r--r-- | cpukit/include/rtems/config.h | 10 | ||||
-rw-r--r-- | cpukit/include/rtems/score/wkspacedata.h | 8 |
3 files changed, 13 insertions, 14 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 6057bf4ac5..33b1aa67d4 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -2637,11 +2637,6 @@ struct _reent *__getreent(void) * This is the primary Configuration Table for this application. */ const rtems_configuration_table Configuration = { - #ifdef CONFIGURE_UNIFIED_WORK_AREAS /* true for unified work areas */ - true, - #else - false, - #endif #ifdef RTEMS_SMP #ifdef _CONFIGURE_SMP_APPLICATION true, @@ -2656,6 +2651,10 @@ struct _reent *__getreent(void) const uintptr_t _Workspace_Size = CONFIGURE_EXECUTIVE_RAM_SIZE; + #ifdef CONFIGURE_UNIFIED_WORK_AREAS + const bool _Workspace_Is_unified = true; + #endif + #ifdef CONFIGURE_DIRTY_MEMORY RTEMS_SYSINIT_ITEM( _Memory_Dirty_free_areas, diff --git a/cpukit/include/rtems/config.h b/cpukit/include/rtems/config.h index 0b5527c76d..6489e4e4e8 100644 --- a/cpukit/include/rtems/config.h +++ b/cpukit/include/rtems/config.h @@ -83,14 +83,6 @@ typedef Stack_Allocator_free rtems_stack_free_hook; * + required number of each object type for each API configured */ typedef struct { - /** - * @brief Specifies if a unified work area is used or not. - * - * If this element is @a true, then the RTEMS Workspace and the C Program - * Heap use the same heap, otherwise they use separate heaps. - */ - bool unified_work_area; - #ifdef RTEMS_SMP bool smp_enabled; #endif @@ -111,7 +103,7 @@ extern const rtems_configuration_table Configuration; */ #define rtems_configuration_get_unified_work_area() \ - (Configuration.unified_work_area) + (_Workspace_Is_unified) /** * @brief Return if the stack allocator avoids the work space. diff --git a/cpukit/include/rtems/score/wkspacedata.h b/cpukit/include/rtems/score/wkspacedata.h index d4b5dd1c3b..613a320dfe 100644 --- a/cpukit/include/rtems/score/wkspacedata.h +++ b/cpukit/include/rtems/score/wkspacedata.h @@ -57,6 +57,14 @@ extern "C" { */ extern const uintptr_t _Workspace_Size; +/** + * @brief Indicates if the workspace and C program heap are unified. + * + * This constant is defined by the application configuration via + * <rtems/confdefs.h>. + */ +extern const bool _Workspace_Is_unified; + /** @} */ #ifdef __cplusplus |