diff options
author | Aun-Ali Zaidi <admin@kodeit.net> | 2015-12-23 14:44:02 -0600 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2015-12-24 16:52:34 -0600 |
commit | d5154d0f6a04f3b7ed59d9a09038576fe2640756 (patch) | |
tree | 4b6dcf6e9b116223903afbc1b1141d28fb751848 /testsuites/sptests/sptask_err04 | |
parent | score: Fix watchdog removal (diff) | |
download | rtems-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 'testsuites/sptests/sptask_err04')
-rw-r--r-- | testsuites/sptests/sptask_err04/sptask_err04.doc | 4 | ||||
-rw-r--r-- | testsuites/sptests/sptask_err04/sptask_err04.scn | 6 | ||||
-rw-r--r-- | testsuites/sptests/sptask_err04/system.h | 2 | ||||
-rw-r--r-- | testsuites/sptests/sptask_err04/task1.c | 279 |
4 files changed, 94 insertions, 197 deletions
diff --git a/testsuites/sptests/sptask_err04/sptask_err04.doc b/testsuites/sptests/sptask_err04/sptask_err04.doc index 3773cb61ec..e64fd1d946 100644 --- a/testsuites/sptests/sptask_err04/sptask_err04.doc +++ b/testsuites/sptests/sptask_err04/sptask_err04.doc @@ -12,8 +12,8 @@ This file describes the directives and concepts tested by this test set. test set name: sptask_err04 directives: - t_delete, t_getnote, t_ident, t_restart, t_resume, t_setpriority, - t_mode, t_start, t_suspend, + t_delete, t_ident, t_restart, t_resume, t_setpriority, t_mode, + t_start, t_suspend, concepts: diff --git a/testsuites/sptests/sptask_err04/sptask_err04.scn b/testsuites/sptests/sptask_err04/sptask_err04.scn index c21cce3620..54bea059f0 100644 --- a/testsuites/sptests/sptask_err04/sptask_err04.scn +++ b/testsuites/sptests/sptask_err04/sptask_err04.scn @@ -1,10 +1,6 @@ *** TEST TASK ERROR 04 *** TA1 - rtems_task_is_suspended - RTEMS_INVALID_ID TA1 - rtems_task_delete - RTEMS_INVALID_ID -TA1 - rtems_task_get_note - RTEMS_INVALID_ADDRESS -TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER -TA1 - rtems_task_get_note - RTEMS_INVALID_ID -TA1 - rtems_task_get_note - RTEMS_INVALID_ID TA1 - rtems_task_ident - RTEMS_INVALID_ADDRESS TA1 - rtems_task_ident - global RTEMS_INVALID_NAME TA1 - rtems_task_ident - local RTEMS_INVALID_NAME @@ -15,8 +11,6 @@ TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE TA1 - rtems_task_set_priority - RTEMS_INVALID_ADDRESS TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY TA1 - rtems_task_set_priority - RTEMS_INVALID_ID -TA1 - rtems_task_set_note - RTEMS_INVALID_NUMBER -TA1 - rtems_task_set_note - RTEMS_INVALID_ID TA1 - rtems_task_start - RTEMS_INVALID_ID TA1 - rtems_task_start - RTEMS_INCORRECT_STATE TA1 - rtems_task_suspend - RTEMS_INVALID_ID diff --git a/testsuites/sptests/sptask_err04/system.h b/testsuites/sptests/sptask_err04/system.h index a5cd32ac2f..60a7652444 100644 --- a/testsuites/sptests/sptask_err04/system.h +++ b/testsuites/sptests/sptask_err04/system.h @@ -29,8 +29,6 @@ rtems_task Task_1( #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS - #define CONFIGURE_MAXIMUM_TASKS 2 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/testsuites/sptests/sptask_err04/task1.c b/testsuites/sptests/sptask_err04/task1.c index f7bd98b979..c84ef826a2 100644 --- a/testsuites/sptests/sptask_err04/task1.c +++ b/testsuites/sptests/sptask_err04/task1.c @@ -27,7 +27,6 @@ rtems_task Task_1( rtems_task_argument argument ) { - uint32_t notepad_value; rtems_id self_id; rtems_task_priority previous_priority; rtems_status_code status; @@ -50,203 +49,109 @@ rtems_task Task_1( ); puts( "TA1 - rtems_task_delete - RTEMS_INVALID_ID" ); - /** START OF NOTEPAD TESTS **/ - - /* - * 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" - - /* NULL return */ - status = rtems_task_get_note( RTEMS_SELF, RTEMS_NOTEPAD_FIRST, NULL ); - fatal_directive_status( - status, - RTEMS_INVALID_ADDRESS, - "rtems_task_get_note with NULL param" - ); - puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ADDRESS" ); - - /* note too high */ - status = rtems_task_get_note( RTEMS_SELF, 100, ¬epad_value ); - fatal_directive_status( - status, - RTEMS_INVALID_NUMBER, - "rtems_task_get_note with illegal notepad" - ); - puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER" ); - - /* bad Id */ - status = rtems_task_get_note( 100, RTEMS_NOTEPAD_LAST, ¬epad_value ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_get_note with illegal id" - ); - puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" ); - - /* unused Id so invalid now */ - status = rtems_task_get_note( - Task_id[ 0 ], - RTEMS_NOTEPAD_LAST, - ¬epad_value - ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_get_note with illegal id" - ); - puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" ); - - status = rtems_task_get_note( - _RTEMS_tasks_Information.Objects.minimum_id + (3L<<OBJECTS_API_START_BIT), - RTEMS_NOTEPAD_LAST, - ¬epad_value - ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_get_note with illegal id" - ); - - status = rtems_task_get_note( - rtems_build_id( OBJECTS_CLASSIC_API, 2, 1, 1 ), - RTEMS_NOTEPAD_LAST, - ¬epad_value - ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_get_note with non-task ID" - ); - - /* NULL param */ - status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, NULL ); - fatal_directive_status( - status, - RTEMS_INVALID_ADDRESS, - "rtems_task_ident NULL param" - ); - puts( "TA1 - rtems_task_ident - RTEMS_INVALID_ADDRESS" ); - - /* OK */ - status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id ); - directive_failed( status, "rtems_task_ident of self" ); - if ( self_id != Task_id[ 1 ] ) { - puts( "ERROR - rtems_task_ident - incorrect ID returned!" ); - } - puts( "TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL" ); - - status = rtems_task_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id ); - fatal_directive_status( - status, - RTEMS_INVALID_NAME, - "rtems_task_ident with illegal name (local)" - ); - puts( "TA1 - rtems_task_ident - global RTEMS_INVALID_NAME" ); - - status = rtems_task_ident( 100, 1, &Junk_id ); - fatal_directive_status( - status, - RTEMS_INVALID_NAME, - "rtems_task_ident with illegal name (global)" - ); - puts( "TA1 - rtems_task_ident - local RTEMS_INVALID_NAME" ); - - /* - * This one case is different if MP is enabled/disabled. - */ + /* NULL param */ + status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, NULL ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_task_ident NULL param" + ); + puts( "TA1 - rtems_task_ident - RTEMS_INVALID_ADDRESS" ); - status = rtems_task_ident( 100, 2, &Junk_id ); - #if defined(RTEMS_MULTIPROCESSING) - fatal_directive_status( - status, - RTEMS_INVALID_NODE, - "rtems_task_ident with illegal node" - ); - #else - fatal_directive_status( - status, - RTEMS_INVALID_NAME, - "rtems_task_ident with illegal node" - ); - #endif - puts( "TA1 - rtems_task_ident - RTEMS_INVALID_NODE" ); + /* OK */ + status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id ); + directive_failed( status, "rtems_task_ident of self" ); + if ( self_id != Task_id[ 1 ] ) { + puts( "ERROR - rtems_task_ident - incorrect ID returned!" ); + } + puts( "TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL" ); - status = rtems_task_restart( 100, 0 ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_restart with illegal id" - ); - puts( "TA1 - rtems_task_restart - RTEMS_INVALID_ID" ); + status = rtems_task_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id ); + fatal_directive_status( + status, + RTEMS_INVALID_NAME, + "rtems_task_ident with illegal name (local)" + ); + puts( "TA1 - rtems_task_ident - global RTEMS_INVALID_NAME" ); - status = rtems_task_resume( 100 ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_resume with illegal id" - ); - puts( "TA1 - rtems_task_resume - RTEMS_INVALID_ID" ); + status = rtems_task_ident( 100, 1, &Junk_id ); + fatal_directive_status( + status, + RTEMS_INVALID_NAME, + "rtems_task_ident with illegal name (global)" + ); + puts( "TA1 - rtems_task_ident - local RTEMS_INVALID_NAME" ); - status = rtems_task_resume( RTEMS_SELF ); - fatal_directive_status( - status, - RTEMS_INCORRECT_STATE, - "rtems_task_resume of ready task" - ); - puts( "TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE" ); + /* + * This one case is different if MP is enabled/disabled. + */ - /* NULL param */ - status = rtems_task_set_priority( RTEMS_SELF, RTEMS_CURRENT_PRIORITY, NULL ); - fatal_directive_status( - status, - RTEMS_INVALID_ADDRESS, - "rtems_task_set_priority with NULL param" - ); - puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ADDRESS" ); + status = rtems_task_ident( 100, 2, &Junk_id ); +#if defined(RTEMS_MULTIPROCESSING) + fatal_directive_status( + status, + RTEMS_INVALID_NODE, + "rtems_task_ident with illegal node" + ); +#else + fatal_directive_status( + status, + RTEMS_INVALID_NAME, + "rtems_task_ident with illegal node" + ); +#endif + puts( "TA1 - rtems_task_ident - RTEMS_INVALID_NODE" ); - /* bad priority */ - status = rtems_task_set_priority( RTEMS_SELF, 512, &previous_priority ); - fatal_directive_status( - status, - RTEMS_INVALID_PRIORITY, - "rtems_task_set_priority with illegal priority" - ); - puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY" ); + status = rtems_task_restart( 100, 0 ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_task_restart with illegal id" + ); + puts( "TA1 - rtems_task_restart - RTEMS_INVALID_ID" ); - /* bad Id */ - status = rtems_task_set_priority( 100, 8, &previous_priority ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_set_priority with illegal id" - ); - puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ID" ); + status = rtems_task_resume( 100 ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_task_resume with illegal id" + ); + puts( "TA1 - rtems_task_resume - RTEMS_INVALID_ID" ); - status = rtems_task_set_note( - RTEMS_SELF, - RTEMS_NOTEPAD_LAST+10, - notepad_value - ); - fatal_directive_status( - status, - RTEMS_INVALID_NUMBER, - "rtems_task_set_note with illegal notepad" - ); - puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_NUMBER" ); + status = rtems_task_resume( RTEMS_SELF ); + fatal_directive_status( + status, + RTEMS_INCORRECT_STATE, + "rtems_task_resume of ready task" + ); + puts( "TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE" ); - status = rtems_task_set_note( 100, RTEMS_NOTEPAD_LAST, notepad_value ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_set_note with illegal id" - ); - puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_ID" ); + /* NULL param */ + status = rtems_task_set_priority( RTEMS_SELF, RTEMS_CURRENT_PRIORITY, NULL ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_task_set_priority with NULL param" + ); + puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ADDRESS" ); - #pragma GCC diagnostic pop + /* bad priority */ + status = rtems_task_set_priority( RTEMS_SELF, 512, &previous_priority ); + fatal_directive_status( + status, + RTEMS_INVALID_PRIORITY, + "rtems_task_set_priority with illegal priority" + ); + puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY" ); - /** END OF NOTEPAD TESTS **/ + /* bad Id */ + status = rtems_task_set_priority( 100, 8, &previous_priority ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_task_set_priority with illegal id" + ); + puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ID" ); status = rtems_task_start( 100, Task_1, 0 ); fatal_directive_status( |