source: rtems/testsuites/tmtests/tm25/task1.c @ d1128e2

4.104.114.95
Last change on this file since d1128e2 was d1128e2, checked in by Joel Sherrill <joel.sherrill@…>, on 02/01/08 at 00:45:16

2008-01-31 Joel Sherrill <joel.sherrill@…>

  • tm01/task1.c, tm02/task1.c, tm03/task1.c, tm04/task1.c, tm05/task1.c, tm06/task1.c, tm07/task1.c, tm08/task1.c, tm09/task1.c, tm10/task1.c, tm11/task1.c, tm12/task1.c, tm13/task1.c, tm14/task1.c, tm15/task1.c, tm16/task1.c, tm17/task1.c, tm18/task1.c, tm19/task1.c, tm20/task1.c, tm21/task1.c, tm22/task1.c, tm23/task1.c, tm24/task1.c, tm25/task1.c, tm26/task1.c, tm27/task1.c, tm28/task1.c, tm29/task1.c, tmck/task1.c, tmoverhd/testtask.c: Change TEST_INIT to CONFIGURE_INIT. Make tmacros.h available to all POSIX tests. Add a clock_settime case for < 1988.
  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*
2 *
3 *  COPYRIGHT (c) 1989-1999.
4 *  On-Line Applications Research Corporation (OAR).
5 *
6 *  The license and distribution terms for this file may be
7 *  found in the file LICENSE in this distribution or at
8 *  http://www.rtems.com/license/LICENSE.
9 *
10 *  $Id$
11 */
12
13#define CONFIGURE_INIT
14#include "system.h"
15
16rtems_id Semaphore_id;
17
18rtems_task High_tasks(
19  rtems_task_argument argument
20);
21
22rtems_task Low_task(
23  rtems_task_argument argument
24);
25
26rtems_task Init(
27  rtems_task_argument argument
28)
29{
30  rtems_id          task_id;
31  uint32_t    index;
32  rtems_status_code status;
33
34  Print_Warning();
35
36  puts( "\n\n*** TIME TEST 25 ***" );
37
38  status = rtems_semaphore_create(
39    rtems_build_name( 'S', 'M', '1', ' ') ,
40    0,
41    RTEMS_DEFAULT_ATTRIBUTES,
42    RTEMS_NO_PRIORITY,
43    &Semaphore_id
44  );
45  directive_failed( status, "rtems_semaphore_create of SM1" );
46
47  status = rtems_task_create(
48    rtems_build_name( 'L', 'O', 'W', ' ' ),
49    254,
50    RTEMS_MINIMUM_STACK_SIZE,
51    RTEMS_DEFAULT_MODES,
52    RTEMS_DEFAULT_ATTRIBUTES,
53    &task_id
54  );
55  directive_failed( status, "rtems_task_create LOW" );
56
57  status = rtems_task_start( task_id, Low_task, 0 );
58  directive_failed( status, "rtems_task_start LOW" );
59
60  for ( index=1 ; index <= OPERATION_COUNT ; index++ ) {
61    status = rtems_task_create(
62      rtems_build_name( 'T', 'I', 'M', 'E' ),
63      128,
64      RTEMS_MINIMUM_STACK_SIZE,
65      RTEMS_DEFAULT_MODES,
66      RTEMS_DEFAULT_ATTRIBUTES,
67      &task_id
68    );
69    directive_failed( status, "rtems_task_create LOOP" );
70
71    status = rtems_task_start( task_id, High_tasks, 0 );
72    directive_failed( status, "rtems_task_start LOOP" );
73  }
74
75  status = rtems_task_delete( RTEMS_SELF );
76  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
77}
78
79rtems_task High_tasks(
80  rtems_task_argument argument
81)
82{
83  (void) rtems_semaphore_obtain(
84    Semaphore_id,
85    RTEMS_DEFAULT_OPTIONS,
86    0xffffffff
87  );
88}
89
90rtems_task Low_task(
91  rtems_task_argument argument
92)
93{
94  Timer_initialize();
95    (void) rtems_clock_tick();
96  end_time = Read_timer();
97
98  put_time(
99    "rtems_clock_tick",
100    end_time,
101    1,
102    0,
103    CALLING_OVERHEAD_CLOCK_TICK
104  );
105
106  puts( "*** END OF TEST 25 ***" );
107  rtems_test_exit( 0 );
108}
Note: See TracBrowser for help on using the repository browser.