summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/taskgetnote.c
diff options
context:
space:
mode:
authorAun-Ali Zaidi <admin@kodeit.net>2015-12-23 14:44:02 -0600
committerJoel Sherrill <joel.sherrill@oarcorp.com>2015-12-24 16:52:34 -0600
commitd5154d0f6a04f3b7ed59d9a09038576fe2640756 (patch)
tree4b6dcf6e9b116223903afbc1b1141d28fb751848 /cpukit/rtems/src/taskgetnote.c
parentscore: Fix watchdog removal (diff)
downloadrtems-d5154d0f6a04f3b7ed59d9a09038576fe2640756.tar.bz2
api: Remove deprecated Notepads
Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
Diffstat (limited to 'cpukit/rtems/src/taskgetnote.c')
-rw-r--r--cpukit/rtems/src/taskgetnote.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/cpukit/rtems/src/taskgetnote.c b/cpukit/rtems/src/taskgetnote.c
deleted file mode 100644
index c097d9cfd7..0000000000
--- a/cpukit/rtems/src/taskgetnote.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * @file
- *
- * @brief RTEMS Get Task Node
- * @ingroup ClassicRTEMS
- */
-
-/*
- * 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
-
-#include <rtems/rtems/tasksimpl.h>
-#include <rtems/score/threadimpl.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_get_note(
- rtems_id id,
- uint32_t notepad,
- uint32_t *note
-)
-{
- Thread_Control *the_thread;
- Objects_Locations location;
- RTEMS_API_Control *api;
- Thread_Control *executing;
-
- if ( !rtems_configuration_get_notepads_enabled() )
- return RTEMS_NOT_CONFIGURED;
-
- if ( !note )
- return RTEMS_INVALID_ADDRESS;
-
- /*
- * NOTE: There is no check for < RTEMS_NOTEPAD_FIRST because that would
- * be checking an unsigned number for being negative.
- */
-
- if ( notepad > RTEMS_NOTEPAD_LAST )
- return RTEMS_INVALID_NUMBER;
-
- /*
- * Optimize the most likely case to avoid the Thread_Dispatch.
- */
-
- executing = _Thread_Get_executing();
- if ( _Objects_Are_ids_equal( id, OBJECTS_ID_OF_SELF ) ||
- _Objects_Are_ids_equal( id, executing->Object.id ) ) {
- api = executing->API_Extensions[ THREAD_API_RTEMS ];
- *note = api->Notepads[ notepad ];
- return RTEMS_SUCCESSFUL;
- }
-
- the_thread = _Thread_Get( id, &location );
- switch ( location ) {
-
- case OBJECTS_LOCAL:
- api = the_thread->API_Extensions[ THREAD_API_RTEMS ];
- *note = api->Notepads[ notepad ];
- _Objects_Put( &the_thread->Object );
- return RTEMS_SUCCESSFUL;
-
-#if defined(RTEMS_MULTIPROCESSING)
- case OBJECTS_REMOTE:
- executing->Wait.return_argument = note;
-
- return _RTEMS_tasks_MP_Send_request_packet(
- RTEMS_TASKS_MP_GET_NOTE_REQUEST,
- id,
- 0, /* Not used */
- notepad,
- 0 /* Not used */
- );
-#endif
-
- case OBJECTS_ERROR:
- break;
- }
-
- return RTEMS_INVALID_ID;
-}