source: rtems/c/src/ada-tests/sptests/sp09/sptest.ads @ c1ef834

4.104.114.84.95
Last change on this file since c1ef834 was c1ef834, checked in by Joel Sherrill <joel.sherrill@…>, on 06/03/97 at 15:12:23

Fixed problems which prevented the test from compiling and running to
completion.

  • Property mode set to 100644
File size: 8.3 KB
Line 
1--
2--  SPTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 9 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 RTEMS;
25with SYSTEM;
26with System.Storage_Elements;
27
28package SPTEST is
29
30--
31--  Buffer Record similar to that used by RTEMS 3.2.1.  Using this
32--  avoids changes to the test.
33--
34
35   type BUFFER is
36      record
37         FIELD1 : RTEMS.UNSIGNED32;   -- TEMPORARY UNTIL VARIABLE LENGTH
38         FIELD2 : RTEMS.UNSIGNED32;
39         FIELD3 : RTEMS.UNSIGNED32;
40         FIELD4 : RTEMS.UNSIGNED32;
41      end record;
42
43--
44--  These arrays contain the IDs and NAMEs of all RTEMS tasks created
45--  by this test.
46--
47
48   TASK_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.ID;
49   TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.NAME;
50
51--
52--  These arrays contain the IDs and NAMEs of all RTEMS timers created
53--  by this test.
54--
55
56   TIMER_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
57   TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
58
59--
60--  These arrays contain the IDs and NAMEs of all RTEMS semaphores created
61--  by this test.
62--
63
64   SEMAPHORE_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
65   SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
66
67--
68--  These arrays contain the IDs and NAMEs of all RTEMS message queues
69--  created by this test.
70--
71
72   QUEUE_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID;
73   QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME;
74
75--
76--  These arrays contain the IDs and NAMEs of all RTEMS partitions created
77--  by this test.
78--
79
80   PARTITION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
81   PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
82
83--
84--  These arrays contain the IDs and NAMEs of all RTEMS regions created
85--  by this test.
86--
87
88   REGION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
89   REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
90
91--
92--  These arrays contain the IDs and NAMEs of all RTEMS ports created
93--  by this test.
94--
95
96   PORT_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
97   PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
98
99--
100--  These arrays contain the IDs and NAMEs of all RTEMS periods created
101--  by this test.
102--
103
104   PERIOD_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
105   PERIOD_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
106
107--
108--  This variable is used as the output ID on directives which return
109--  an ID but are invoked in a manner which returns a non-SUCCESSFUL
110--  status code.
111--
112
113   JUNK_ID : RTEMS.ID;
114
115--
116--  The following area defines a memory area to be used as the
117--  internal address space of the port.
118--
119
120   INTERNAL_PORT_AREA_ADDRESS : constant System.Address :=
121       System.Storage_Elements.To_Address(16#00001000#);
122
123   INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
124      of RTEMS.UNSIGNED8;
125   for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS;
126
127--
128--  The following area defines a memory area to be used as the
129--  external address space of the port.
130--
131
132   EXTERNAL_PORT_AREA_ADDRESS : constant System.Address :=
133       System.Storage_Elements.To_Address(16#00002000#);
134
135   EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
136      of RTEMS.UNSIGNED8;
137   for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS;
138
139--
140--  The following area defines a memory area to be used as the
141--  memory space for a partition.
142--
143
144   PARTITION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
145      of RTEMS.UNSIGNED8;
146   for PARTITION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
147
148--
149--  The following area defines a memory area to be used as the
150--  memory space for a partition which starts at an invalid address.
151--
152
153   PARTITION_BAD_AREA_ADDRESS : constant System.Address :=
154       System.Storage_Elements.To_Address(16#00000006#);
155
156   PARTITION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
157      of RTEMS.UNSIGNED8;
158   for PARTITION_BAD_AREA use at PARTITION_BAD_AREA_ADDRESS;
159
160--
161--  The following area defines a memory area to be used as the
162--  memory space for a region and constants used to define the regions
163--  starting area and length.
164--
165
166   REGION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 4095 )
167      of RTEMS.UNSIGNED32;
168   for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
169
170   REGION_START_OFFSET : constant RTEMS.UNSIGNED32 := 1024;
171   REGION_LENGTH       : constant RTEMS.UNSIGNED32 := 512;
172
173--
174--  The following area defines a memory area to be used as the
175--  memory space for a region which starts at an invalid address.
176--
177
178   REGION_BAD_AREA_ADDRESS : constant System.Address :=
179       System.Storage_Elements.To_Address(16#00000006#);
180
181   REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
182      of RTEMS.UNSIGNED8;
183   for REGION_BAD_AREA use at REGION_BAD_AREA_ADDRESS;
184
185--
186--  INIT
187--
188--  DESCRIPTION:
189--
190--  This RTEMS task initializes the application.
191--
192
193   procedure INIT (
194      ARGUMENT : in     RTEMS.TASK_ARGUMENT
195   );
196
197--
198--  DELAYED_SUBPROGRAM
199--
200--  DESCRIPTION:
201--
202--  This subprogram is scheduled as a timer service routine.
203--  It performs no actions if it fires.
204--
205
206   procedure DELAYED_SUBPROGRAM (
207      IGNORED_ID      : in     RTEMS.ID; 
208      IGNORED_ADDRESS : in     RTEMS.ADDRESS
209   );
210
211--
212--  TASK_1
213--
214--  DESCRIPTION:
215--
216--  This RTEMS task tests numerous error conditions.
217--
218
219   procedure TASK_1 (
220      ARGUMENT : in     RTEMS.TASK_ARGUMENT
221   );
222
223--
224--  TASK_2
225--
226--  DESCRIPTION:
227--
228--  This RTEMS task tests numerous error conditions.
229--
230
231   procedure TASK_2 (
232      ARGUMENT : in     RTEMS.TASK_ARGUMENT
233   );
234
235--
236--  TASK_3
237--
238--  DESCRIPTION:
239--
240--  This RTEMS task tests numerous error conditions.
241--
242
243   procedure TASK_3 (
244      ARGUMENT : in     RTEMS.TASK_ARGUMENT
245   );
246
247--
248--  TASK_4
249--
250--  DESCRIPTION:
251--
252--  This RTEMS task tests numerous error conditions.
253--
254
255   procedure TASK_4 (
256      ARGUMENT : in     RTEMS.TASK_ARGUMENT
257   );
258
259--
260--  SERVICE_ROUTINE
261--
262--  DESCRIPTION:
263--
264--  This subprogram serves as a dummy ISR which is installed at an
265--  illegal vector number.
266--
267
268   procedure SERVICE_ROUTINE (
269      IGNORED : in     RTEMS.VECTOR_NUMBER
270   );
271
272--
273--  SCREEN_1
274--
275--  DESCRIPTION:
276--
277--  This subprogram processes the a single output screen of this test.
278--
279
280   procedure SCREEN_1;
281
282--
283--  SCREEN_2
284--
285--  DESCRIPTION:
286--
287--  This subprogram processes the a single output screen of this test.
288--
289
290   procedure SCREEN_2;
291
292--
293--  SCREEN_3
294--
295--  DESCRIPTION:
296--
297--  This subprogram processes the a single output screen of this test.
298--
299
300   procedure SCREEN_3;
301
302--
303--  SCREEN_4
304--
305--  DESCRIPTION:
306--
307--  This subprogram processes the a single output screen of this test.
308--
309
310   procedure SCREEN_4;
311
312--
313--  SCREEN_5
314--
315--  DESCRIPTION:
316--
317--  This subprogram processes the a single output screen of this test.
318--
319
320   procedure SCREEN_5;
321
322--
323--  SCREEN_6
324--
325--  DESCRIPTION:
326--
327--  This subprogram processes the a single output screen of this test.
328--
329
330   procedure SCREEN_6;
331
332--
333--  SCREEN_7
334--
335--  DESCRIPTION:
336--
337--  This subprogram processes the a single output screen of this test.
338--
339
340   procedure SCREEN_7;
341
342--
343--  SCREEN_8
344--
345--  DESCRIPTION:
346--
347--  This subprogram processes the a single output screen of this test.
348--
349
350   procedure SCREEN_8;
351
352--
353--  SCREEN_9
354--
355--  DESCRIPTION:
356--
357--  This subprogram processes the a single output screen of this test.
358--
359
360   procedure SCREEN_9;
361
362--
363--  SCREEN_10
364--
365--  DESCRIPTION:
366--
367--  This subprogram processes the a single output screen of this test.
368--
369
370   procedure SCREEN_10;
371
372--
373--  SCREEN_11
374--
375--  DESCRIPTION:
376--
377--  This subprogram processes the a single output screen of this test.
378--
379
380   procedure SCREEN_11;
381
382--
383--  SCREEN_12
384--
385--  DESCRIPTION:
386--
387--  This subprogram processes the a single output screen of this test.
388--
389
390   procedure SCREEN_12;
391
392--
393--  SCREEN_13
394--
395--  DESCRIPTION:
396--
397--  This subprogram processes the a single output screen of this test.
398--
399
400   procedure SCREEN_13;
401
402end SPTEST;
Note: See TracBrowser for help on using the repository browser.