summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems
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
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')
-rw-r--r--cpukit/rtems/Makefile.am2
-rw-r--r--cpukit/rtems/include/rtems/rtems/config.h13
-rw-r--r--cpukit/rtems/include/rtems/rtems/taskmp.h10
-rw-r--r--cpukit/rtems/include/rtems/rtems/tasks.h98
-rw-r--r--cpukit/rtems/mainpage.h6
-rw-r--r--cpukit/rtems/src/taskgetnote.c94
-rw-r--r--cpukit/rtems/src/taskmp.c56
-rw-r--r--cpukit/rtems/src/taskresume.c4
-rw-r--r--cpukit/rtems/src/tasksetnote.c89
-rw-r--r--cpukit/rtems/src/tasksetpriority.c4
-rw-r--r--cpukit/rtems/src/tasksuspend.c4
11 files changed, 8 insertions, 372 deletions
diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index f38990d2a7..1659d92030 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -90,7 +90,6 @@ librtems_a_SOURCES += src/tasks.c
librtems_a_SOURCES += src/taskcreate.c
librtems_a_SOURCES += src/taskdelete.c
librtems_a_SOURCES += src/taskgetaffinity.c
-librtems_a_SOURCES += src/taskgetnote.c
librtems_a_SOURCES += src/taskgetscheduler.c
librtems_a_SOURCES += src/taskident.c
librtems_a_SOURCES += src/taskinitusers.c
@@ -100,7 +99,6 @@ librtems_a_SOURCES += src/taskrestart.c
librtems_a_SOURCES += src/taskresume.c
librtems_a_SOURCES += src/taskself.c
librtems_a_SOURCES += src/tasksetaffinity.c
-librtems_a_SOURCES += src/tasksetnote.c
librtems_a_SOURCES += src/tasksetpriority.c
librtems_a_SOURCES += src/tasksetscheduler.c
librtems_a_SOURCES += src/taskstart.c
diff --git a/cpukit/rtems/include/rtems/rtems/config.h b/cpukit/rtems/include/rtems/rtems/config.h
index 4b2c54eb5c..77ee798d74 100644
--- a/cpukit/rtems/include/rtems/rtems/config.h
+++ b/cpukit/rtems/include/rtems/rtems/config.h
@@ -54,12 +54,6 @@ typedef struct {
uint32_t maximum_tasks;
/**
- * This field indicates whether Classic API notepads are
- * enabled or disabled.
- */
- bool notepads_enabled;
-
- /**
* This field contains the maximum number of Classic API
* Timers which are configured for this application.
*/
@@ -133,13 +127,6 @@ extern rtems_api_configuration_table Configuration_RTEMS_API;
/**@}*/
/**
- * This macro returns the value of the notepads enabled field
- * in the Classic API configuration table.
- */
-#define rtems_configuration_get_notepads_enabled() \
- rtems_configuration_get_rtems_api_configuration()->notepads_enabled
-
-/**
* This macro returns the number of Classic API semaphores configured.
*/
#define rtems_configuration_get_maximum_semaphores() \
diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h
index 30a9a6a066..fb986ea5d3 100644
--- a/cpukit/rtems/include/rtems/rtems/taskmp.h
+++ b/cpukit/rtems/include/rtems/rtems/taskmp.h
@@ -54,10 +54,6 @@ typedef enum {
RTEMS_TASKS_MP_RESUME_RESPONSE = 5,
RTEMS_TASKS_MP_SET_PRIORITY_REQUEST = 6,
RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE = 7,
- RTEMS_TASKS_MP_GET_NOTE_REQUEST = 8,
- RTEMS_TASKS_MP_GET_NOTE_RESPONSE = 9,
- RTEMS_TASKS_MP_SET_NOTE_REQUEST = 10,
- RTEMS_TASKS_MP_SET_NOTE_RESPONSE = 11
} RTEMS_tasks_MP_Remote_operations;
/**
@@ -69,8 +65,6 @@ typedef struct {
RTEMS_tasks_MP_Remote_operations operation;
rtems_name name;
rtems_task_priority the_priority;
- uint32_t notepad;
- uint32_t note;
} RTEMS_tasks_MP_Packet;
/**
@@ -96,9 +90,7 @@ void _RTEMS_tasks_MP_Send_process_packet (
rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
RTEMS_tasks_MP_Remote_operations operation,
Objects_Id task_id,
- rtems_task_priority the_priority,
- uint32_t notepad,
- uint32_t note
+ rtems_task_priority the_priority
);
/**
diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h
index 1ad537d3c7..45c01c4a4d 100644
--- a/cpukit/rtems/include/rtems/rtems/tasks.h
+++ b/cpukit/rtems/include/rtems/rtems/tasks.h
@@ -21,8 +21,6 @@
* - resume a task
* - set a task's priority
* - change the current task's mode
- * - get a task notepad entry
- * - set a task notepad entry
* - wake up after interval
* - wake up when specified
*/
@@ -110,46 +108,6 @@ typedef Priority_Control rtems_task_priority;
*/
#define RTEMS_CURRENT_PRIORITY PRIORITY_MINIMUM
-/** This is used to indicate the lowest numbered notepad */
-#define RTEMS_NOTEPAD_FIRST 0
-/** This is used to indicate the notepad location 0. */
-#define RTEMS_NOTEPAD_0 0
-/** This is used to indicate the notepad location 1. */
-#define RTEMS_NOTEPAD_1 1
-/** This is used to indicate the notepad location 2. */
-#define RTEMS_NOTEPAD_2 2
-/** This is used to indicate the notepad location 3. */
-#define RTEMS_NOTEPAD_3 3
-/** This is used to indicate the notepad location 4. */
-#define RTEMS_NOTEPAD_4 4
-/** This is used to indicate the notepad location 5. */
-#define RTEMS_NOTEPAD_5 5
-/** This is used to indicate the notepad location 6. */
-#define RTEMS_NOTEPAD_6 6
-/** This is used to indicate the notepad location 7. */
-#define RTEMS_NOTEPAD_7 7
-/** This is used to indicate the notepad location 8. */
-#define RTEMS_NOTEPAD_8 8
-/** This is used to indicate the notepad location 9. */
-#define RTEMS_NOTEPAD_9 9
-/** This is used to indicate the notepad location 10. */
-#define RTEMS_NOTEPAD_10 10
-/** This is used to indicate the notepad location 11. */
-#define RTEMS_NOTEPAD_11 11
-/** This is used to indicate the notepad location 12. */
-#define RTEMS_NOTEPAD_12 12
-/** This is used to indicate the notepad location 13. */
-#define RTEMS_NOTEPAD_13 13
-/** This is used to indicate the notepad location 14. */
-#define RTEMS_NOTEPAD_14 14
-/** This is used to indicate the notepad location 15. */
-#define RTEMS_NOTEPAD_15 15
-/** This is used to indicate the highest numbered notepad. */
-#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15
-
-/** This is used to indicate the number of notepads available. */
-#define RTEMS_NUMBER_NOTEPADS (RTEMS_NOTEPAD_LAST+1)
-
/**
* External API name for Thread_Control
*/
@@ -269,50 +227,6 @@ rtems_status_code rtems_task_delete(
);
/**
- * @brief RTEMS Get Task Node
- *
- * @deprecated Notepads are deprecated and will be removed.
- *
- * This routine implements the rtems_task_get_note directive. The
- * value of the indicated notepad for the task associated with ID
- * is returned in note.
- *
- * @param[in] id is the thread id
- * @param[in] notepad is the notepad number
- * @param[out] note is the pointer to note
- *
- * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
- */
-rtems_status_code rtems_task_get_note(
- rtems_id id,
- uint32_t notepad,
- uint32_t *note
-) RTEMS_DEPRECATED;
-
-/**
- * @brief RTEMS Set Task Note
- *
- * @deprecated Notepads are deprecated and will be removed.
- *
- * This routine implements the rtems_task_set_note directive. The
- * value of the indicated notepad for the task associated with ID
- * is returned in note.
- *
- * @param[in] id is the thread id
- * @param[in] notepad is the notepad number
- * @param[in] note is the note value
- *
- * @return This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_task_set_note(
- rtems_id id,
- uint32_t notepad,
- uint32_t note
-) RTEMS_DEPRECATED;
-
-/**
* @brief RTEMS Task Mode
*
* This routine implements the rtems_task_mode directive. The current
@@ -654,9 +568,6 @@ rtems_status_code rtems_scheduler_get_processor_set(
* This is the API specific information required by each thread for
* the RTEMS API to function correctly.
*
- * @note Notepads must be the last entry in the structure and memory
- * will be taken away from this structure when allocated if
- * notespads are disabled by the application configuration.
*/
typedef struct {
/** This field contains the event control for this task. */
@@ -670,15 +581,6 @@ typedef struct {
* @brief Signal post-switch action in case signals are pending.
*/
Thread_Action Signal_action;
-
- /**
- * This field contains the notepads for this task.
- *
- * @deprecated Notepads are deprecated and will be removed.
- *
- * @note MUST BE LAST ENTRY.
- */
- uint32_t Notepads[ RTEMS_ZERO_LENGTH_ARRAY ] RTEMS_DEPRECATED;
} RTEMS_API_Control;
/**
diff --git a/cpukit/rtems/mainpage.h b/cpukit/rtems/mainpage.h
index 819e049be5..9801bfb915 100644
--- a/cpukit/rtems/mainpage.h
+++ b/cpukit/rtems/mainpage.h
@@ -685,9 +685,9 @@
* application in response to external and internal stimuli. TCBs are the only
* RTEMS internal data structure that can be accessed by an application via
* user extension routines. The TCB contains a task's name, ID, current
- * priority, current and starting states, execution mode, set of notepad
- * locations, TCB user extension pointer, scheduling control structures, as
- * well as data required by a blocked task.
+ * priority, current and starting states, execution mode, TCB user extension
+ * pointer, scheduling control structures, as well as data required by a
+ * blocked task.
*
* A task's context is stored in the TCB when a task switch occurs. When the
* task regains control of the processor, its context is restored from the TCB.
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;
-}
diff --git a/cpukit/rtems/src/taskmp.c b/cpukit/rtems/src/taskmp.c
index a1386d9bbb..ef76e1f7c4 100644
--- a/cpukit/rtems/src/taskmp.c
+++ b/cpukit/rtems/src/taskmp.c
@@ -64,10 +64,6 @@ void _RTEMS_tasks_MP_Send_process_packet (
case RTEMS_TASKS_MP_RESUME_RESPONSE:
case RTEMS_TASKS_MP_SET_PRIORITY_REQUEST:
case RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE:
- case RTEMS_TASKS_MP_GET_NOTE_REQUEST:
- case RTEMS_TASKS_MP_GET_NOTE_RESPONSE:
- case RTEMS_TASKS_MP_SET_NOTE_REQUEST:
- case RTEMS_TASKS_MP_SET_NOTE_RESPONSE:
break;
}
}
@@ -80,9 +76,7 @@ void _RTEMS_tasks_MP_Send_process_packet (
rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
RTEMS_tasks_MP_Remote_operations operation,
Objects_Id task_id,
- rtems_task_priority new_priority,
- uint32_t notepad,
- uint32_t note
+ rtems_task_priority new_priority
)
{
RTEMS_tasks_MP_Packet *the_packet;
@@ -92,8 +86,6 @@ rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
case RTEMS_TASKS_MP_SUSPEND_REQUEST:
case RTEMS_TASKS_MP_RESUME_REQUEST:
case RTEMS_TASKS_MP_SET_PRIORITY_REQUEST:
- case RTEMS_TASKS_MP_GET_NOTE_REQUEST:
- case RTEMS_TASKS_MP_SET_NOTE_REQUEST:
the_packet = _RTEMS_tasks_MP_Get_packet();
the_packet->Prefix.the_class = MP_PACKET_TASKS;
@@ -102,8 +94,6 @@ rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
the_packet->operation = operation;
the_packet->Prefix.id = task_id;
the_packet->the_priority = new_priority;
- the_packet->notepad = notepad;
- the_packet->note = note;
return _MPCI_Send_request_packet(
_Objects_Get_node( task_id ),
@@ -118,8 +108,6 @@ rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
case RTEMS_TASKS_MP_SUSPEND_RESPONSE:
case RTEMS_TASKS_MP_RESUME_RESPONSE:
case RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE:
- case RTEMS_TASKS_MP_GET_NOTE_RESPONSE:
- case RTEMS_TASKS_MP_SET_NOTE_RESPONSE:
break;
}
@@ -147,8 +135,6 @@ void _RTEMS_tasks_MP_Send_response_packet (
case RTEMS_TASKS_MP_SUSPEND_RESPONSE:
case RTEMS_TASKS_MP_RESUME_RESPONSE:
case RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE:
- case RTEMS_TASKS_MP_GET_NOTE_RESPONSE:
- case RTEMS_TASKS_MP_SET_NOTE_RESPONSE:
the_packet = (RTEMS_tasks_MP_Packet *) the_thread->receive_packet;
@@ -170,8 +156,6 @@ void _RTEMS_tasks_MP_Send_response_packet (
case RTEMS_TASKS_MP_SUSPEND_REQUEST:
case RTEMS_TASKS_MP_RESUME_REQUEST:
case RTEMS_TASKS_MP_SET_PRIORITY_REQUEST:
- case RTEMS_TASKS_MP_GET_NOTE_REQUEST:
- case RTEMS_TASKS_MP_SET_NOTE_REQUEST:
break;
}
@@ -231,7 +215,6 @@ void _RTEMS_tasks_MP_Process_packet (
case RTEMS_TASKS_MP_SUSPEND_RESPONSE:
case RTEMS_TASKS_MP_RESUME_RESPONSE:
- case RTEMS_TASKS_MP_SET_NOTE_RESPONSE:
the_thread = _MPCI_Process_response( the_packet_prefix );
@@ -273,43 +256,6 @@ void _RTEMS_tasks_MP_Process_packet (
_MPCI_Return_packet( the_packet_prefix );
break;
-
- case RTEMS_TASKS_MP_GET_NOTE_REQUEST:
-
- the_packet->Prefix.return_code = rtems_task_get_note(
- the_packet->Prefix.id,
- the_packet->notepad,
- &the_packet->note
- );
-
- _RTEMS_tasks_MP_Send_response_packet(
- RTEMS_TASKS_MP_GET_NOTE_RESPONSE,
- _Thread_Executing
- );
- break;
-
- case RTEMS_TASKS_MP_GET_NOTE_RESPONSE:
-
- the_thread = _MPCI_Process_response( the_packet_prefix );
-
- *(uint32_t *)the_thread->Wait.return_argument = the_packet->note;
-
- _MPCI_Return_packet( the_packet_prefix );
- break;
-
- case RTEMS_TASKS_MP_SET_NOTE_REQUEST:
-
- the_packet->Prefix.return_code = rtems_task_set_note(
- the_packet->Prefix.id,
- the_packet->notepad,
- the_packet->note
- );
-
- _RTEMS_tasks_MP_Send_response_packet(
- RTEMS_TASKS_MP_SET_NOTE_RESPONSE,
- _Thread_Executing
- );
- break;
}
}
diff --git a/cpukit/rtems/src/taskresume.c b/cpukit/rtems/src/taskresume.c
index ed06a22e4a..fba605fd5e 100644
--- a/cpukit/rtems/src/taskresume.c
+++ b/cpukit/rtems/src/taskresume.c
@@ -44,9 +44,7 @@ rtems_status_code rtems_task_resume(
return _RTEMS_tasks_MP_Send_request_packet(
RTEMS_TASKS_MP_RESUME_REQUEST,
id,
- 0, /* Not used */
- 0, /* Not used */
- 0 /* Not used */
+ 0 /* Not used */
);
#endif
diff --git a/cpukit/rtems/src/tasksetnote.c b/cpukit/rtems/src/tasksetnote.c
deleted file mode 100644
index 42cd4e718d..0000000000
--- a/cpukit/rtems/src/tasksetnote.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * @file
- *
- * @brief RTEMS Set Task Note
- * @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
-
-#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_set_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;
-
- /*
- * 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 ];
- api->Notepads[ notepad ] = note;
- return RTEMS_SUCCESSFUL;
- }
-
- the_thread = _Thread_Get( id, &location );
- switch ( location ) {
-
- case OBJECTS_LOCAL:
- api = the_thread->API_Extensions[ THREAD_API_RTEMS ];
- api->Notepads[ notepad ] = note;
- _Objects_Put( &the_thread->Object );
- return RTEMS_SUCCESSFUL;
-
-#if defined(RTEMS_MULTIPROCESSING)
- case OBJECTS_REMOTE:
- return _RTEMS_tasks_MP_Send_request_packet(
- RTEMS_TASKS_MP_SET_NOTE_REQUEST,
- id,
- 0, /* Not used */
- notepad,
- note
- );
-#endif
-
- case OBJECTS_ERROR:
- break;
- }
-
- return RTEMS_INVALID_ID;
-}
diff --git a/cpukit/rtems/src/tasksetpriority.c b/cpukit/rtems/src/tasksetpriority.c
index 582c67f9f2..c6b2dc0a46 100644
--- a/cpukit/rtems/src/tasksetpriority.c
+++ b/cpukit/rtems/src/tasksetpriority.c
@@ -63,9 +63,7 @@ rtems_status_code rtems_task_set_priority(
return _RTEMS_tasks_MP_Send_request_packet(
RTEMS_TASKS_MP_SET_PRIORITY_REQUEST,
id,
- new_priority,
- 0, /* Not used */
- 0 /* Not used */
+ new_priority
);
#endif
diff --git a/cpukit/rtems/src/tasksuspend.c b/cpukit/rtems/src/tasksuspend.c
index ae7995a53c..6b6616103e 100644
--- a/cpukit/rtems/src/tasksuspend.c
+++ b/cpukit/rtems/src/tasksuspend.c
@@ -44,9 +44,7 @@ rtems_status_code rtems_task_suspend(
return _RTEMS_tasks_MP_Send_request_packet(
RTEMS_TASKS_MP_SUSPEND_REQUEST,
id,
- 0, /* Not used */
- 0, /* Not used */
- 0 /* Not used */
+ 0 /* Not used */
);
#endif