diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/Makefile.am | 7 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/tasks.h | 46 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/tasksimpl.h | 15 | ||||
-rw-r--r-- | cpukit/rtems/mainpage.h | 38 | ||||
-rw-r--r-- | cpukit/rtems/src/tasks.c | 92 | ||||
-rw-r--r-- | cpukit/rtems/src/taskvariable_invoke_dtor.c | 52 | ||||
-rw-r--r-- | cpukit/rtems/src/taskvariableadd.c | 97 | ||||
-rw-r--r-- | cpukit/rtems/src/taskvariabledelete.c | 86 | ||||
-rw-r--r-- | cpukit/rtems/src/taskvariableget.c | 88 | ||||
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 49 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/thread.h | 34 |
11 files changed, 10 insertions, 594 deletions
diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am index 6515a08449..73d9e307ca 100644 --- a/cpukit/rtems/Makefile.am +++ b/cpukit/rtems/Makefile.am @@ -104,13 +104,6 @@ librtems_a_SOURCES += src/taskstart.c librtems_a_SOURCES += src/tasksuspend.c librtems_a_SOURCES += src/taskwakeafter.c librtems_a_SOURCES += src/taskwakewhen.c -if HAS_SMP -else -librtems_a_SOURCES += src/taskvariableadd.c -librtems_a_SOURCES += src/taskvariabledelete.c -librtems_a_SOURCES += src/taskvariableget.c -librtems_a_SOURCES += src/taskvariable_invoke_dtor.c -endif librtems_a_SOURCES += src/schedulergetprocessorset.c librtems_a_SOURCES += src/schedulerident.c diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h index 11e2780b9e..5f33e0b04b 100644 --- a/cpukit/rtems/include/rtems/rtems/tasks.h +++ b/cpukit/rtems/include/rtems/rtems/tasks.h @@ -372,52 +372,6 @@ rtems_status_code rtems_task_is_suspended( rtems_id id ); -#if !defined(RTEMS_SMP) -/** - * @brief RTEMS Add Task Variable - * - * @deprecated Task variables are deprecated. - * - * This directive adds a per task variable. - * - * @note This service is not available in SMP configurations. - */ -rtems_status_code rtems_task_variable_add( - rtems_id tid, - void **ptr, - void (*dtor)(void *) -) RTEMS_DEPRECATED; - -/** - * @brief Get a per-task variable - * - * @deprecated Task variables are deprecated. - * - * This directive gets the value of a task variable. - * - * @note This service is not available in SMP configurations. - */ -rtems_status_code rtems_task_variable_get( - rtems_id tid, - void **ptr, - void **result -) RTEMS_DEPRECATED; - -/** - * @brief RTEMS Delete Task Variable - * - * @deprecated Task variables are deprecated. - * - * This directive removes a per task variable. - * - * @note This service is not available in SMP configurations. - */ -rtems_status_code rtems_task_variable_delete( - rtems_id tid, - void **ptr -) RTEMS_DEPRECATED; -#endif - #if defined(__RTEMS_HAVE_SYS_CPUSET_H__) /** * @brief Gets the processor affinity set of a task. diff --git a/cpukit/rtems/include/rtems/rtems/tasksimpl.h b/cpukit/rtems/include/rtems/rtems/tasksimpl.h index 3f8a87361b..82e8618b8c 100644 --- a/cpukit/rtems/include/rtems/rtems/tasksimpl.h +++ b/cpukit/rtems/include/rtems/rtems/tasksimpl.h @@ -47,21 +47,6 @@ extern Thread_Information _RTEMS_tasks_Information; */ void _RTEMS_tasks_Initialize_user_tasks( void ); -#if !defined(RTEMS_SMP) -/** - * @brief RTEMS Tasks Invoke Task Variable Destructor - * - * @deprecated Task variables are deprecated. - * - * This routine invokes the optional user provided destructor on the - * task variable and frees the memory for the task variable. - */ -void _RTEMS_Tasks_Invoke_task_variable_dtor( - Thread_Control *the_thread, - rtems_task_variable_t *tvp -) RTEMS_DEPRECATED; -#endif - RTEMS_INLINE_ROUTINE Thread_Control *_RTEMS_tasks_Allocate(void) { _Objects_Allocator_lock(); diff --git a/cpukit/rtems/mainpage.h b/cpukit/rtems/mainpage.h index 9801bfb915..e2d51328cf 100644 --- a/cpukit/rtems/mainpage.h +++ b/cpukit/rtems/mainpage.h @@ -856,40 +856,10 @@ * * @section ClassicTasksSecPerTaskVariables Per Task Variables * - * Per task variables are used to support global variables whose value may be - * unique to a task. After indicating that a variable should be treated as - * private (i.e. per-task) the task can access and modify the variable, but the - * modifications will not appear to other tasks, and other tasks' modifications - * to that variable will not affect the value seen by the task. This is - * accomplished by saving and restoring the variable's value each time a task - * switch occurs to or from the calling task. - * - * The value seen by other tasks, including those which have not added the - * variable to their set and are thus accessing the variable as a common - * location shared among tasks, can not be affected by a task once it has added - * a variable to its local set. Changes made to the variable by other tasks - * will not affect the value seen by a task which has added the variable to its - * private set. - * - * This feature can be used when a routine is to be spawned repeatedly as - * several independent tasks. Although each task will have its own stack, and - * thus separate stack variables, they will all share the same static and - * global variables. To make a variable not shareable (i.e. a "global" variable - * that is specific to a single task), the tasks can call - * rtems_task_variable_add() to make a separate copy of the variable for each - * task, but all at the same physical address. - * - * Task variables increase the context switch time to and from the tasks that - * own them so it is desirable to minimize the number of task variables. One - * efficient method is to have a single task variable that is a pointer to a - * dynamically allocated structure containing the task's private "global" data. - * - * A critical point with per-task variables is that each task must separately - * request that the same global variable is per-task private. - * - * @b {WARNING}: Per-task variables are fundamentally incorrect in SMP - * systems and should not be used in SMP applications. They - * are disabled. + * Per task variables are no longer available. In particular the + * rtems_task_variable_add(), rtems_task_variable_get() and + * rtems_task_variable_delete() functions are neither declared nor defined + * anymore. Use thread local storage or POSIX Keys instead. * * @section ClassicTasksSecBuildingTaskAttributeSet Building a Task Attribute Set * diff --git a/cpukit/rtems/src/tasks.c b/cpukit/rtems/src/tasks.c index f18e0ab3db..56b2455ad7 100644 --- a/cpukit/rtems/src/tasks.c +++ b/cpukit/rtems/src/tasks.c @@ -18,20 +18,13 @@ #include "config.h" #endif -#include <rtems/system.h> #include <rtems/config.h> #include <rtems/sysinit.h> #include <rtems/rtems/asrimpl.h> #include <rtems/rtems/eventimpl.h> -#include <rtems/rtems/signalimpl.h> -#include <rtems/rtems/status.h> -#include <rtems/rtems/support.h> -#include <rtems/rtems/modes.h> #include <rtems/rtems/tasksimpl.h> -#include <rtems/score/stack.h> #include <rtems/score/threadimpl.h> #include <rtems/score/userextimpl.h> -#include <rtems/score/wkspace.h> Thread_Information _RTEMS_tasks_Information; @@ -91,87 +84,12 @@ static void _RTEMS_tasks_Delete_extension( _ASR_Destroy( &api->Signal ); } -static void _RTEMS_tasks_Terminate_extension( - Thread_Control *executing -) -{ - /* - * Free per task variable memory - * - * Per Task Variables are only enabled in uniprocessor configurations. - */ - #if !defined(RTEMS_SMP) - /* - * We know this is deprecated and don't want a warning on every BSP built. - */ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - do { - rtems_task_variable_t *tvp, *next; - - tvp = executing->task_variables; - executing->task_variables = NULL; - while (tvp) { - next = (rtems_task_variable_t *)tvp->next; - _RTEMS_Tasks_Invoke_task_variable_dtor( executing, tvp ); - tvp = next; - } - } while (0); - #pragma GCC diagnostic pop - #endif -} - -#if !defined(RTEMS_SMP) -/* - * _RTEMS_tasks_Switch_extension - * - * This extension routine is invoked at each context switch. - * - * @note Since this only needs to address per-task variables, it is - * disabled entirely for SMP configurations. - */ -static void _RTEMS_tasks_Switch_extension( - Thread_Control *executing, - Thread_Control *heir -) -{ - rtems_task_variable_t *tvp; - - /* - * Per Task Variables are only enabled in uniprocessor configurations - */ - - tvp = executing->task_variables; - while (tvp) { - tvp->tval = *tvp->ptr; - *tvp->ptr = tvp->gval; - tvp = (rtems_task_variable_t *)tvp->next; - } - - tvp = heir->task_variables; - while (tvp) { - tvp->gval = *tvp->ptr; - *tvp->ptr = tvp->tval; - tvp = (rtems_task_variable_t *)tvp->next; - } -} -#define RTEMS_TASKS_SWITCH_EXTENSION _RTEMS_tasks_Switch_extension -#else -#define RTEMS_TASKS_SWITCH_EXTENSION NULL -#endif - User_extensions_Control _RTEMS_tasks_User_extensions = { - { NULL, NULL }, - { { NULL, NULL }, RTEMS_TASKS_SWITCH_EXTENSION }, - { _RTEMS_tasks_Create_extension, /* create */ - _RTEMS_tasks_Start_extension, /* start */ - _RTEMS_tasks_Start_extension, /* restart */ - _RTEMS_tasks_Delete_extension, /* delete */ - RTEMS_TASKS_SWITCH_EXTENSION, /* switch */ - NULL, /* begin */ - NULL, /* exitted */ - NULL, /* fatal */ - _RTEMS_tasks_Terminate_extension /* terminate */ + .Callouts = { + .thread_create = _RTEMS_tasks_Create_extension, + .thread_start = _RTEMS_tasks_Start_extension, + .thread_restart = _RTEMS_tasks_Start_extension, + .thread_delete = _RTEMS_tasks_Delete_extension } }; diff --git a/cpukit/rtems/src/taskvariable_invoke_dtor.c b/cpukit/rtems/src/taskvariable_invoke_dtor.c deleted file mode 100644 index b9213f2bd6..0000000000 --- a/cpukit/rtems/src/taskvariable_invoke_dtor.c +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @file - * - * @brief RTEMS Tasks Invoke Task Variable Destructor - * @ingroup ClassicTasks - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#if !defined(RTEMS_SMP) -#include <rtems/rtems/tasksimpl.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/wkspace.h> - -/* - * We know this is deprecated and don't want a warning on every BSP built. - */ -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -void _RTEMS_Tasks_Invoke_task_variable_dtor( - Thread_Control *the_thread, - rtems_task_variable_t *tvp -) -{ - void (*dtor)(void *); - void *value; - - dtor = tvp->dtor; - if (_Thread_Get_executing() == the_thread) { - value = *tvp->ptr; - *tvp->ptr = tvp->gval; - } else { - value = tvp->tval; - } - - if ( dtor ) - (*dtor)(value); - - _Workspace_Free(tvp); -} -#endif diff --git a/cpukit/rtems/src/taskvariableadd.c b/cpukit/rtems/src/taskvariableadd.c deleted file mode 100644 index 0fea945fba..0000000000 --- a/cpukit/rtems/src/taskvariableadd.c +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @file - * - * @brief RTEMS Add Task Variable - * @ingroup ClassicTasks - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#if !defined(RTEMS_SMP) -#include <rtems/rtems/tasks.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/wkspace.h> -#include <rtems/config.h> - -/* - * We know this is deprecated and don't want a warning on every BSP built. - */ -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -rtems_status_code rtems_task_variable_add( - rtems_id tid, - void **ptr, - void (*dtor)(void *) -) -{ - Thread_Control *the_thread; - Objects_Locations location; - rtems_task_variable_t *tvp, *new; - -#if defined( RTEMS_SMP ) - if ( rtems_configuration_is_smp_enabled() ) { - return RTEMS_NOT_IMPLEMENTED; - } -#endif - - if ( !ptr ) - return RTEMS_INVALID_ADDRESS; - - the_thread = _Thread_Get (tid, &location); - switch (location) { - - case OBJECTS_LOCAL: - /* - * Figure out if the variable is already in this task's list. - */ - tvp = the_thread->task_variables; - while (tvp) { - if (tvp->ptr == ptr) { - tvp->dtor = dtor; - _Objects_Put( &the_thread->Object ); - return RTEMS_SUCCESSFUL; - } - tvp = (rtems_task_variable_t *)tvp->next; - } - - /* - * Now allocate memory for this task variable. - */ - new = (rtems_task_variable_t *) - _Workspace_Allocate(sizeof(rtems_task_variable_t)); - if (new == NULL) { - _Objects_Put( &the_thread->Object ); - return RTEMS_NO_MEMORY; - } - new->gval = *ptr; - new->ptr = ptr; - new->dtor = dtor; - - new->next = (struct rtems_task_variable_tt *)the_thread->task_variables; - the_thread->task_variables = new; - _Objects_Put( &the_thread->Object ); - return RTEMS_SUCCESSFUL; - -#if defined(RTEMS_MULTIPROCESSING) - case OBJECTS_REMOTE: - _Thread_Dispatch(); - return RTEMS_ILLEGAL_ON_REMOTE_OBJECT; -#endif - - case OBJECTS_ERROR: - break; - } - return RTEMS_INVALID_ID; -} -#endif diff --git a/cpukit/rtems/src/taskvariabledelete.c b/cpukit/rtems/src/taskvariabledelete.c deleted file mode 100644 index 3f7f84e103..0000000000 --- a/cpukit/rtems/src/taskvariabledelete.c +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @file - * - * @brief RTEMS Delete Task Variable - * @ingroup ClassicTasks - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#if !defined(RTEMS_SMP) -#include <rtems/rtems/tasksimpl.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/wkspace.h> -#include <rtems/config.h> - -/* - * We know this is deprecated and don't want a warning on every BSP built. - */ -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -rtems_status_code rtems_task_variable_delete( - rtems_id tid, - void **ptr -) -{ - Thread_Control *the_thread; - Objects_Locations location; - rtems_task_variable_t *tvp, *prev; - -#if defined( RTEMS_SMP ) - if ( rtems_configuration_is_smp_enabled() ) { - return RTEMS_NOT_IMPLEMENTED; - } -#endif - - if ( !ptr ) - return RTEMS_INVALID_ADDRESS; - - prev = NULL; - - the_thread = _Thread_Get (tid, &location); - switch (location) { - - case OBJECTS_LOCAL: - tvp = the_thread->task_variables; - while (tvp) { - if (tvp->ptr == ptr) { - if (prev) - prev->next = tvp->next; - else - the_thread->task_variables = (rtems_task_variable_t *)tvp->next; - - _RTEMS_Tasks_Invoke_task_variable_dtor( the_thread, tvp ); - _Objects_Put( &the_thread->Object ); - return RTEMS_SUCCESSFUL; - } - prev = tvp; - tvp = (rtems_task_variable_t *)tvp->next; - } - _Objects_Put( &the_thread->Object ); - return RTEMS_INVALID_ADDRESS; - -#if defined(RTEMS_MULTIPROCESSING) - case OBJECTS_REMOTE: - _Thread_Dispatch(); - return RTEMS_ILLEGAL_ON_REMOTE_OBJECT; -#endif - - case OBJECTS_ERROR: - break; - } - - return RTEMS_INVALID_ID; -} -#endif diff --git a/cpukit/rtems/src/taskvariableget.c b/cpukit/rtems/src/taskvariableget.c deleted file mode 100644 index 3b9cd25a86..0000000000 --- a/cpukit/rtems/src/taskvariableget.c +++ /dev/null @@ -1,88 +0,0 @@ -/** - * @file - * - * @brief Get a per-task variable - * @ingroup ClassicTasks Tasks - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#if !defined(RTEMS_SMP) -#include <rtems/rtems/tasksimpl.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/wkspace.h> -#include <rtems/config.h> - -/* - * We know this is deprecated and don't want a warning on every BSP built. - */ -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -rtems_status_code rtems_task_variable_get( - rtems_id tid, - void **ptr, - void **result -) -{ - Thread_Control *the_thread; - Objects_Locations location; - rtems_task_variable_t *tvp; - -#if defined( RTEMS_SMP ) - if ( rtems_configuration_is_smp_enabled() ) { - return RTEMS_NOT_IMPLEMENTED; - } -#endif - - if ( !ptr ) - return RTEMS_INVALID_ADDRESS; - - if ( !result ) - return RTEMS_INVALID_ADDRESS; - - the_thread = _Thread_Get (tid, &location); - switch (location) { - - case OBJECTS_LOCAL: - /* - * Figure out if the variable is in this task's list. - */ - tvp = the_thread->task_variables; - while (tvp) { - if (tvp->ptr == ptr) { - /* - * Should this return the current (i.e not the - * saved) value if `tid' is the current task? - */ - *result = tvp->tval; - _Objects_Put( &the_thread->Object ); - return RTEMS_SUCCESSFUL; - } - tvp = (rtems_task_variable_t *)tvp->next; - } - _Objects_Put( &the_thread->Object ); - return RTEMS_INVALID_ADDRESS; - -#if defined(RTEMS_MULTIPROCESSING) - case OBJECTS_REMOTE: - _Thread_Dispatch(); - return RTEMS_ILLEGAL_ON_REMOTE_OBJECT; -#endif - - case OBJECTS_ERROR: - break; - } - return RTEMS_INVALID_ID; -} -#endif diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index c32a902080..b7c2f44de7 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -2100,42 +2100,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_TASKS \ (CONFIGURE_MAXIMUM_TASKS + CONFIGURE_LIBBLOCK_TASKS) - /** - * This macro calculates the memory required for task variables. - * - * @deprecated Task variables are deprecated. - * - * Each task variable is individually allocated from the Workspace. - * Hence, we do the multiplication on the configured size. - * - * @note Per-task variables are disabled for SMP configurations. - */ - #if defined(RTEMS_SMP) - #ifdef CONFIGURE_MAXIMUM_TASK_VARIABLES - #warning "Per-Task Variables are deprecated and will be removed." - #error "Per-Task Variables are not safe for SMP systems and disabled." - #endif - #define CONFIGURE_MAXIMUM_TASK_VARIABLES 0 - #define CONFIGURE_MEMORY_FOR_TASK_VARIABLES(_task_variables) 0 - #else - #ifndef CONFIGURE_MAXIMUM_TASK_VARIABLES - /** This macro specifies the maximum number of task variables. */ - #define CONFIGURE_MAXIMUM_TASK_VARIABLES 0 - /** - * This macro is calculated to specify the memory required for task - * variables. - * - * This is an internal parameter. - */ - #define CONFIGURE_MEMORY_FOR_TASK_VARIABLES(_task_variables) 0 - #else - #warning "Per-Task Variables are deprecated and will be removed." - #define CONFIGURE_MEMORY_FOR_TASK_VARIABLES(_task_variables) \ - (_task_variables) * \ - _Configure_From_workspace(sizeof(rtems_task_variable_t)) - #endif - #endif - #ifndef CONFIGURE_MAXIMUM_TIMERS /** This specifies the maximum number of Classic API timers. */ #define CONFIGURE_MAXIMUM_TIMERS 0 @@ -2818,9 +2782,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_MAXIMUM_GOROUTINES 400 #endif - #define CONFIGURE_GOROUTINES_TASK_VARIABLES \ - (2 * CONFIGURE_MAXIMUM_GOROUTINES) - #ifndef CONFIGURE_MAXIMUM_GO_CHANNELS #define CONFIGURE_MAXIMUM_GO_CHANNELS 500 #endif @@ -2845,9 +2806,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; /** This specifies the maximum number of Go co-routines. */ #define CONFIGURE_MAXIMUM_GOROUTINES 0 - /** This specifies the maximum number of Go per-task variables required. */ - #define CONFIGURE_GOROUTINES_TASK_VARIABLES 0 - /** This specifies the maximum number of Go channels required. */ #define CONFIGURE_MAXIMUM_GO_CHANNELS 0 #endif @@ -3068,9 +3026,7 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; * Classic API as configured. */ #define CONFIGURE_MEMORY_FOR_CLASSIC \ - (CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES + \ - CONFIGURE_GOROUTINES_TASK_VARIABLES) + \ - CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS + \ + (CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS + \ CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER ) + \ CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES) + \ CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES) + \ @@ -3581,7 +3537,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; /* Classic API Pieces */ uint32_t CLASSIC_TASKS; - uint32_t TASK_VARIABLES; uint32_t TIMERS; uint32_t SEMAPHORES; uint32_t MESSAGE_QUEUES; @@ -3635,8 +3590,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; /* Classic API Pieces */ CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS, 0), - CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES + - CONFIGURE_GOROUTINES_TASK_VARIABLES), CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS), CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES), CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES), diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 8bc12d2e33..8ea2db2cc1 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -173,35 +173,6 @@ typedef enum { */ typedef void (*Thread_CPU_budget_algorithm_callout )( Thread_Control * ); -#if !defined(RTEMS_SMP) -/** - * @brief Forward reference to the per task variable structure.. - * - * Forward reference to the per task variable structure. - */ -struct rtems_task_variable_tt; - -/** - * @brief Internal structure used to manager per task variables. - * - * This is the internal structure used to manager per Task Variables. - */ -typedef struct { - /** This field points to the next per task variable for this task. */ - struct rtems_task_variable_tt *next; - /** This field points to the physical memory location of this per - * task variable. - */ - void **ptr; - /** This field is to the global value for this per task variable. */ - void *gval; - /** This field is to this thread's value for this per task variable. */ - void *tval; - /** This field points to the destructor for this per task variable. */ - void (*dtor)(void *); -} rtems_task_variable_t; -#endif - /** * The following structure contains the information which defines * the starting state of a thread. @@ -870,11 +841,6 @@ struct _Thread_Control { /** This array contains the API extension area pointers. */ void *API_Extensions[ THREAD_API_LAST + 1 ]; -#if !defined(RTEMS_SMP) - /** This field points to the set of per task variables. */ - rtems_task_variable_t *task_variables; -#endif - /** * @brief The POSIX Keys information. */ |