Added unused priority ceiling parameter to rtems_semaphore_create.

Rearranged code to created thread handler routines to initialize,
start, restart, and "close/delete" a thread.

Made internal threads their own object class.  This now uses the
thread support routines for starting and initializing a thread.

Insured deleted tasks are freed to the Inactive pool associated with the
correct Information block.

Added an RTEMS API specific data area to the thread control block.

Beginnings of removing the word "rtems" from the core.
This commit is contained in:
Joel Sherrill
1995-08-28 15:30:29 +00:00
parent 5250ff39f0
commit 7f6a24abdd
159 changed files with 2407 additions and 823 deletions

View File

@@ -50,6 +50,7 @@ rtems_task Init(
Semaphore_name[ 1 ],
1,
RTEMS_GLOBAL,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -69,6 +69,7 @@ rtems_task Init(
Semaphore_name[ 1 ],
0,
RTEMS_GLOBAL | RTEMS_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -85,6 +85,7 @@ rtems_task Init(
Semaphore_name[ 1 ],
1,
RTEMS_GLOBAL,
RTEMS_NO_PRIORITY,
&junk_id
);
fatal_directive_status( status, RTEMS_TOO_MANY, "rtems_semaphore_create" );

View File

@@ -62,6 +62,7 @@ rtems_task Init(
Semaphore_name[ 1 ],
1,
RTEMS_GLOBAL | RTEMS_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -94,6 +94,7 @@ rtems_task Init(
Semaphore_name[ 1 ],
1,
RTEMS_GLOBAL,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -23,7 +23,13 @@ void Screen5()
{
rtems_status_code status;
status = rtems_semaphore_create( 0, 1, RTEMS_DEFAULT_ATTRIBUTES, &Junk_id );
status = rtems_semaphore_create(
0,
1,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Junk_id
);
fatal_directive_status(
status,
RTEMS_INVALID_NAME,
@@ -35,6 +41,7 @@ void Screen5()
Semaphore_name[ 1 ],
1,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create" );
@@ -44,6 +51,7 @@ void Screen5()
Semaphore_name[ 2 ],
1,
RTEMS_BINARY_SEMAPHORE,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 2 ]
);
directive_failed( status, "rtems_semaphore_create" );
@@ -54,7 +62,9 @@ void Screen5()
Semaphore_name[ 3 ],
1,
RTEMS_DEFAULT_ATTRIBUTES,
&Junk_id);
RTEMS_NO_PRIORITY,
&Junk_id
);
} while (status == RTEMS_SUCCESSFUL);
fatal_directive_status(
@@ -68,6 +78,7 @@ void Screen5()
Semaphore_name[ 1 ],
1,
RTEMS_INHERIT_PRIORITY | RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,
RTEMS_NO_PRIORITY,
&Junk_id
);
fatal_directive_status(
@@ -81,6 +92,7 @@ void Screen5()
Semaphore_name[ 1 ],
1,
RTEMS_INHERIT_PRIORITY | RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY,
RTEMS_NO_PRIORITY,
&Junk_id
);
fatal_directive_status(
@@ -94,6 +106,7 @@ void Screen5()
Semaphore_name[ 1 ],
2,
RTEMS_BINARY_SEMAPHORE,
RTEMS_NO_PRIORITY,
&Junk_id
);
fatal_directive_status(
@@ -107,6 +120,7 @@ void Screen5()
Semaphore_name[ 3 ],
1,
RTEMS_GLOBAL,
RTEMS_NO_PRIORITY,
&Junk_id
);
fatal_directive_status(

View File

@@ -53,10 +53,11 @@ rtems_task Init(
Semaphore_name[ 3 ] = rtems_build_name( 'S', 'M', '3', ' ' );
status = rtems_semaphore_create(
Semaphore_name[ 1 ],
1,
RTEMS_DEFAULT_ATTRIBUTES,
&Semaphore_id[ 1 ]
Semaphore_name[ 1 ],
1,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 1 ]
);
directive_failed( status, "rtems_semaphore_create of SM1" );
@@ -64,6 +65,7 @@ rtems_task Init(
Semaphore_name[ 2 ],
0,
RTEMS_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 2 ]
);
directive_failed( status, "rtems_semaphore_create of SM2" );
@@ -72,6 +74,7 @@ rtems_task Init(
Semaphore_name[ 3 ],
1,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 3 ]
);
directive_failed( status, "rtems_semaphore_create of SM3" );
@@ -94,6 +97,7 @@ pause();
Semaphore_name[ 2 ],
0,
RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 2 ]
);
directive_failed( status, "rtems_semaphore_create of priority inherit SM2" );
@@ -110,6 +114,7 @@ pause();
Semaphore_name[ 2 ],
1,
RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 2 ]
);
directive_failed( status, "rtems_semaphore_create of priority inherit SM2" );
@@ -125,6 +130,7 @@ pause();
Semaphore_name[ 2 ],
0,
RTEMS_PRIORITY,
RTEMS_NO_PRIORITY,
&Semaphore_id[ 2 ]
);
directive_failed( status, "rtems_semaphore_create of priority SM2" );

View File

@@ -82,6 +82,7 @@ rtems_task Test_task(
name,
OPERATION_COUNT,
RTEMS_DEFAULT_MODES,
RTEMS_NO_PRIORITY,
&smid
);
end_time = Read_timer();
@@ -110,6 +111,7 @@ rtems_task Test_task(
name,
OPERATION_COUNT,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&smid
);

View File

@@ -107,6 +107,7 @@ void test_init()
rtems_build_name( 'S', 'M', '1', ' '),
0,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id
);
directive_failed( status, "rtems_semaphore_create of SM1" );

View File

@@ -71,6 +71,7 @@ rtems_task test_init(
rtems_build_name( 'S', 'M', '1', '\0'),
0,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id
);
directive_failed( status, "rtems_semaphore_create of SM1" );

View File

@@ -77,6 +77,7 @@ void test_init()
rtems_build_name( 'S', 'M', '1', ' ' ),
0,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id
);
directive_failed( status, "rtems_semaphore_create of SM1" );

View File

@@ -82,6 +82,7 @@ rtems_task Task_1(
index,
OPERATION_COUNT,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&id
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -41,6 +41,7 @@ rtems_task Init(
rtems_build_name( 'S', 'M', '1', ' ') ,
0,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id
);
directive_failed( status, "rtems_semaphore_create of SM1" );

View File

@@ -141,6 +141,7 @@ rtems_task Init(
rtems_build_name( 'S', 'E', 'M', '1' ),
OPERATION_COUNT,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&Semaphore_id
);
directive_failed( status, "rtems_semaphore_create" );

View File

@@ -172,8 +172,8 @@
#define rtems_region_return_segment( rnid, segaddr ) \
Empty_directive( rnid, segaddr )
#define rtems_semaphore_create( name, count, attr, smid ) \
Empty_directive( name, count, attr, smid )
#define rtems_semaphore_create( name, count, attr, priceil, smid ) \
Empty_directive( name, count, attr, priceil, smid )
#define rtems_semaphore_delete( smid ) \
Empty_directive( smid )
#define rtems_semaphore_ident( name, node, smid ) \

View File

@@ -510,6 +510,7 @@ pause();
name,
128,
RTEMS_DEFAULT_ATTRIBUTES,
RTEMS_NO_PRIORITY,
&id
);
end_time = Read_timer();