source: rtems/c/src/ada-tests/sptests/sp07/sptest.ads @ 9917d5da

4.104.114.84.95
Last change on this file since 9917d5da was bf9ae83, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 2, 1997 at 8:32:11 PM

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: 5.9 KB
Line 
1--
2--  SPTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 7 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 .. 4 ) of RTEMS.ID;
35   TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME;
36
37--
38--  These arrays contain the IDs and NAMEs of all RTEMS extensions created
39--  by this test.
40--
41 
42   EXTENSION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
43   EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
44 
45--
46--  INIT
47--
48--  DESCRIPTION:
49--
50--  This RTEMS task initializes the application.
51--
52
53   procedure INIT (
54      ARGUMENT : in     RTEMS.TASK_ARGUMENT
55   );
56
57--
58--  TASK_1
59--
60--  DESCRIPTION:
61--
62--  This RTEMS task tests some of the capabilities of the Task Manager.
63--
64
65   procedure TASK_1 (
66      ARGUMENT : in     RTEMS.TASK_ARGUMENT
67   );
68
69--
70--  TASK_2
71--
72--  DESCRIPTION:
73--
74--  This RTEMS task tests some of the capabilities of the Task Manager.
75--
76
77   procedure TASK_2 (
78      ARGUMENT : in     RTEMS.TASK_ARGUMENT
79   );
80
81--
82--  TASK_3
83--
84--  DESCRIPTION:
85--
86--  This RTEMS task tests some of the capabilities of the Task Manager.
87--
88
89   procedure TASK_3 (
90      ARGUMENT : in     RTEMS.TASK_ARGUMENT
91   );
92
93--
94--  TASK_4
95--
96--  DESCRIPTION:
97--
98--  This RTEMS task tests the Message Queue Manager.
99--
100
101   procedure TASK_4 (
102      ARGUMENT : in     RTEMS.TASK_ARGUMENT
103   );
104
105--
106--  TASK_CREATE_EXTENSION
107--
108--  DESCRIPTION:
109--
110--  This subprogram is the TASK_CREATE extension for this test.
111--
112
113   procedure TASK_CREATE_EXTENSION (
114      UNUSED       : in     RTEMS.TCB_POINTER;
115      CREATED_TASK : in     RTEMS.TCB_POINTER
116   );
117
118--
119--  TASK_DELETE_EXTENSION
120--
121--  DESCRIPTION:
122--
123--  This subprogram is the TASK_DELETE extension for this test.
124--
125
126   procedure TASK_DELETE_EXTENSION (
127      RUNNING_TASK : in     RTEMS.TCB_POINTER;
128      DELETED_TASK : in     RTEMS.TCB_POINTER
129   );
130
131--
132--  TASK_RESTART_EXTENSION
133--
134--  DESCRIPTION:
135--
136--  This subprogram is the TASK_RESTART extension for this test.
137--
138
139   procedure TASK_RESTART_EXTENSION (
140      UNUSED         : in     RTEMS.TCB_POINTER;
141      RESTARTED_TASK : in     RTEMS.TCB_POINTER
142   );
143
144--
145--  TASK_START_EXTENSION
146--
147--  DESCRIPTION:
148--
149--  This subprogram is the TASK_START extension for this test.
150--
151
152   procedure TASK_START_EXTENSION (
153      UNUSED       : in     RTEMS.TCB_POINTER;
154      STARTED_TASK : in     RTEMS.TCB_POINTER
155   );
156
157--
158--  TASK_EXIT_EXTENSION
159--
160--  DESCRIPTION:
161--
162--  This subprogram is the TASK_EXIT extension for this test.
163--  It is invoked when a RTEMS task exits from its entry point.
164--
165
166   procedure TASK_EXIT_EXTENSION (
167      RUNNING_TASK : in     RTEMS.TCB_POINTER
168   );
169
170--
171--  This is the User Extension Table for this test.
172--
173
174   EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := 
175   (
176        SPTEST.TASK_CREATE_EXTENSION'ACCESS,         -- Task create
177        SPTEST.TASK_START_EXTENSION'ACCESS,          -- Task start
178        SPTEST.TASK_RESTART_EXTENSION'ACCESS,        -- Task restart
179        SPTEST.TASK_DELETE_EXTENSION'ACCESS,         -- Task delete
180        NULL,                                        -- Task switch
181        NULL,                                        -- Task begin
182        SPTEST.TASK_EXIT_EXTENSION'ACCESS,           -- Task exitted
183        NULL                                         -- Fatal error
184   );
185
186--
187--  This is the Driver Address Table for this test.
188--
189
190   DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) :=
191   (1=>
192      (
193        CLOCK_DRIVER.INITIALIZE'ACCESS,              -- Initialization
194        RTEMS.NO_DRIVER_ENTRY,                       -- Open
195        RTEMS.NO_DRIVER_ENTRY,                       -- Close
196        RTEMS.NO_DRIVER_ENTRY,                       -- Read
197        RTEMS.NO_DRIVER_ENTRY,                       -- Write
198        RTEMS.NO_DRIVER_ENTRY                        -- Control
199      )
200   );
201
202--
203--  This is the Initialization Tasks Table for this test.
204--
205
206   INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := 
207   (1=>
208     (
209       RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ),        -- task name
210       2048,                                          -- stack size
211       1,                                             -- priority
212       RTEMS.DEFAULT_ATTRIBUTES,                      -- attributes
213       SPTEST.INIT'ACCESS,                            -- entry point
214       RTEMS.NO_PREEMPT,                              -- initial mode
215       0                                              -- argument list
216     )
217   );
218
219--
220--  This is the Configuration Table for this test.
221--
222
223   CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := (
224      RTEMS.NULL_ADDRESS,        -- will be replaced by BSP
225      64 * 1024,                 -- executive RAM size
226      10,                        -- maximum # tasks
227      0,                         -- maximum # timers
228      0,                         -- maximum # semaphores
229      0,                         -- maximum # message queues
230      0,                         -- maximum # messages
231      0,                         -- maximum # partitions
232      0,                         -- maximum # regions
233      0,                         -- maximum # dp memory areas
234      0,                         -- maximum # periods
235      1,                         -- maximum # user extensions
236      RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick
237      100                        -- # ticks in a timeslice
238  );
239
240end SPTEST;
Note: See TracBrowser for help on using the repository browser.