source: rtems/testsuites/mptests/mp01/init.c @ 71b44b5

4.104.114.84.95
Last change on this file since 71b44b5 was d7a0857, checked in by Joel Sherrill <joel.sherrill@…>, on 09/04/03 at 18:53:31

2003-09-04 Joel Sherrill <joel@…>

  • mp01/init.c, mp01/system.h, mp01/task1.c, mp01/node1/mp01.doc, mp01/node2/mp01.doc, mp02/init.c, mp02/system.h, mp02/task1.c, mp02/node1/mp02.doc, mp02/node2/mp02.doc, mp03/delay.c, mp03/init.c, mp03/system.h, mp03/task1.c, mp03/node1/mp03.doc, mp03/node2/mp03.doc, mp04/init.c, mp04/system.h, mp04/task1.c, mp04/node1/mp04.doc, mp04/node2/mp04.doc, mp05/asr.c, mp05/init.c, mp05/system.h, mp05/task1.c, mp05/node1/mp05.doc, mp05/node2/mp05.doc, mp06/init.c, mp06/system.h, mp06/task1.c, mp06/node1/mp06.doc, mp06/node2/mp06.doc, mp07/init.c, mp07/system.h, mp07/task1.c, mp07/node1/mp07.doc, mp07/node2/mp07.doc, mp08/init.c, mp08/system.h, mp08/task1.c, mp08/node1/mp08.doc, mp08/node2/mp08.doc, mp09/init.c, mp09/recvmsg.c, mp09/sendmsg.c, mp09/system.h, mp09/task1.c, mp09/node1/mp09.doc, mp09/node2/mp09.doc, mp10/init.c, mp10/system.h, mp10/task1.c, mp10/task2.c, mp10/task3.c, mp10/node1/mp10.doc, mp10/node2/mp10.doc, mp11/init.c, mp11/system.h, mp11/node1/mp11.doc, mp11/node2/mp11.doc, mp12/init.c, mp12/system.h, mp12/node1/mp12.doc, mp12/node2/mp12.doc, mp13/init.c, mp13/system.h, mp13/task1.c, mp13/task2.c, mp13/node1/mp13.doc, mp13/node2/mp13.doc, mp14/delay.c, mp14/evtask1.c, mp14/evtmtask.c, mp14/exit.c, mp14/init.c, mp14/msgtask1.c, mp14/pttask1.c, mp14/smtask1.c, mp14/system.h, mp14/node1/mp14.doc, mp14/node2/mp14.doc: URL for license changed.
  • Property mode set to 100644
File size: 2.5 KB
Line 
1/*  Init
2 *
3 *  This routine is the initialization task for this test program.
4 *  It is a user initialization task and has the responsibility for creating
5 *  and starting the tasks that make up the test.  If the time of day
6 *  clock is required for the test, it should also be set to a known
7 *  value by this function.
8 *
9 *  Input parameters:
10 *    argument - task argument
11 *
12 *  Output parameters:  NONE
13 *
14 *  COPYRIGHT (c) 1989-1999.
15 *  On-Line Applications Research Corporation (OAR).
16 *
17 *  The license and distribution terms for this file may be
18 *  found in the file LICENSE in this distribution or at
19 *  http://www.rtems.com/license/LICENSE.
20 *
21 *  $Id$
22 */
23
24#define TEST_INIT
25#include "system.h"
26
27rtems_task Init(
28  rtems_task_argument argument
29)
30{
31  rtems_status_code status;
32  rtems_time_of_day time;
33  char              c;
34
35  printf(
36    "\n\n*** TEST 1 -- NODE %d ***\n",
37    Multiprocessing_configuration.node
38  );
39
40  if ( Multiprocessing_configuration.node != 1 ) c = 'S';
41  else                                           c = 'M';
42
43  Task_name[ 1 ] = rtems_build_name( c, 'A', '1', ' ' );
44  Task_name[ 2 ] = rtems_build_name( c, 'A', '2', ' ' );
45  Task_name[ 3 ] = rtems_build_name( c, 'A', '3', ' ' );
46
47  build_time( &time, 12, 31, 1988, 9, 0, 0, 0 );
48  status = rtems_clock_set( &time );
49  directive_failed( status, "rtems_clock_set" );
50
51  puts( "Creating task 1 (Global)" );
52  status = rtems_task_create(
53    Task_name[ 1 ],
54    1,
55    RTEMS_MINIMUM_STACK_SIZE,
56    RTEMS_DEFAULT_MODES,
57    RTEMS_GLOBAL,
58    &Task_id[ 1 ]
59  );
60  directive_failed( status, "rtems_task_create of Task 1" );
61
62  puts( "Creating task 2 (Global)" );
63  status = rtems_task_create(
64    Task_name[ 2 ],
65    1,
66    RTEMS_MINIMUM_STACK_SIZE,
67    RTEMS_TIMESLICE,
68    RTEMS_GLOBAL,
69    &Task_id[ 2 ]
70  );
71  directive_failed( status, "rtems_task_create of Task 2" );
72
73  puts( "Creating task 3 (Local)" );
74  status = rtems_task_create(
75    Task_name[ 3 ],
76    1,
77    RTEMS_MINIMUM_STACK_SIZE,
78    RTEMS_DEFAULT_MODES,
79    RTEMS_DEFAULT_ATTRIBUTES,
80    &Task_id[ 3 ]
81  );
82  directive_failed( status, "rtems_task_create of Task 3" );
83
84  status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
85  directive_failed( status, "rtems_task_start of Task 1" );
86
87  status = rtems_task_start( Task_id[ 2 ], Test_task, 0 );
88  directive_failed( status, "rtems_task_start of Task 2" );
89
90  status = rtems_task_start( Task_id[ 3 ], Test_task, 0 );
91  directive_failed( status, "rtems_task_start of Task 3" );
92
93  status = rtems_task_delete( RTEMS_SELF );
94  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
95}
Note: See TracBrowser for help on using the repository browser.