source: rtems/c/src/ada-tests/sptests/sp12/sptest.ads @ cf1ced66

4.104.114.84.95
Last change on this file since cf1ced66 was bf9ae83, checked in by Joel Sherrill <joel.sherrill@…>, on 06/02/97 at 20:32:11

modified copyright notice to be the same as RTEMS 4.0.0.

changed the CVS ID string to be a "development" version.

  • Property mode set to 100644
File size: 4.7 KB
Line 
1--
2--  SPTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 12 of the RTEMS
7--  Single Processor Test Suite.
8--
9--  DEPENDENCIES:
10--
11-- 
12--
13--  COPYRIGHT (c) 1989-1997.
14--  On-Line Applications Research Corporation (OAR).
15--  Copyright assigned to U.S. Government, 1994.
16--
17--  The license and distribution terms for this file may in
18--  the file LICENSE in this distribution or at
19--  http://www.OARcorp.com/rtems/license.html.
20--
21--  $Id$
22--
23
24with CLOCK_DRIVER;
25with RTEMS;
26
27package SPTEST is
28
29--
30--  These arrays contain the IDs and NAMEs of all RTEMS tasks created
31--  by this test.
32--
33
34   TASK_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID;
35   TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME;
36
37   PRIORITY_TASK_ID   : array ( 1 .. 5 ) of RTEMS.ID;
38   PRIORITY_TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME;
39   TASK_PRIORITY      : array ( 1 .. 5 ) of RTEMS.TASK_PRIORITY;
40
41   SEMAPHORE_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
42   SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
43
44--
45--  INIT
46--
47--  DESCRIPTION:
48--
49--  This RTEMS task initializes the application.
50--
51
52   procedure INIT (
53      ARGUMENT : in     RTEMS.TASK_ARGUMENT
54   );
55
56--
57--  PRIORITY_TEST_DRIVER
58--
59--  DESCRIPTION:
60--
61--  This subprogram creates and starts RTEMS tasks of different priority
62--  so that those tasks may exercise the priority blocking algorithm.
63--
64
65   procedure PRIORITY_TEST_DRIVER (
66      PRIORITY_BASE : in     RTEMS.UNSIGNED32
67   );
68
69--
70--  PRIORITY_TASK
71--
72--  DESCRIPTION:
73--
74--  Copies of this RTEMS are executed at different priorities and each
75--  instantiation blocks on a semaphore with priority blocking.  This
76--  is done to exercise the priority blocking algorithms.
77--
78
79   procedure PRIORITY_TASK (
80      ITS_INDEX : in     RTEMS.TASK_ARGUMENT
81   );
82
83--
84--  TASK_1
85--
86--  DESCRIPTION:
87--
88--  This RTEMS task tests the Semaphore Manager.
89--
90
91   procedure TASK_1 (
92      ARGUMENT : in     RTEMS.TASK_ARGUMENT
93   );
94
95--
96--  TASK_2
97--
98--  DESCRIPTION:
99--
100--  This RTEMS task tests the Semaphore Manager.
101--
102
103   procedure TASK_2 (
104      ARGUMENT : in     RTEMS.TASK_ARGUMENT
105   );
106
107--
108--  TASK_3
109--
110--  DESCRIPTION:
111--
112--  This RTEMS task tests the Semaphore Manager.
113--
114
115   procedure TASK_3 (
116      ARGUMENT : in     RTEMS.TASK_ARGUMENT
117   );
118
119--
120--  TASK_4
121--
122--  DESCRIPTION:
123--
124--  This RTEMS task tests the Semaphore Manager.
125--
126
127   procedure TASK_4 (
128      ARGUMENT : in     RTEMS.TASK_ARGUMENT
129   );
130
131--
132--  TASK_5
133--
134--  DESCRIPTION:
135--
136--  This RTEMS task tests the Semaphore Manager.
137--
138
139   procedure TASK_5 (
140      ARGUMENT : in     RTEMS.TASK_ARGUMENT
141   );
142
143--
144--  This is the Driver Address Table for this test.
145--
146
147   DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) :=
148   (1=>
149      (
150        CLOCK_DRIVER.INITIALIZE'ACCESS,              -- Initialization
151        RTEMS.NO_DRIVER_ENTRY,                       -- Open
152        RTEMS.NO_DRIVER_ENTRY,                       -- Close
153        RTEMS.NO_DRIVER_ENTRY,                       -- Read
154        RTEMS.NO_DRIVER_ENTRY,                       -- Write
155        RTEMS.NO_DRIVER_ENTRY                        -- Control
156      )
157   );
158
159--
160--  This is the Initialization Tasks Table for this test.
161--
162
163   INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) :=
164   (1=>
165     (
166       RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ),        -- task name
167       2048,                                          -- stack size
168       1,                                             -- priority
169       RTEMS.DEFAULT_ATTRIBUTES,                      -- attributes
170       SPTEST.INIT'ACCESS,                            -- entry point
171       RTEMS.NO_PREEMPT,                              -- initial mode
172       0                                              -- argument list
173     )
174   );
175
176--
177--  This is the Configuration Table for this test.
178--
179
180   CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := (
181      RTEMS.NULL_ADDRESS,        -- will be replaced by BSP
182      64 * 1024,                 -- executive RAM size
183      10,                        -- maximum # tasks
184      0,                         -- maximum # timers
185      10,                        -- maximum # semaphores
186      0,                         -- maximum # message queues
187      0,                         -- maximum # messages
188      0,                         -- maximum # partitions
189      0,                         -- maximum # regions
190      0,                         -- maximum # dp memory areas
191      0,                         -- maximum # periods
192      0,                         -- maximum # user extensions
193      RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick
194      100                        -- # ticks in a timeslice
195  );
196
197end SPTEST;
Note: See TracBrowser for help on using the repository browser.