source: rtems/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb @ bf9ae83

4.104.114.84.95
Last change on this file since bf9ae83 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: 37.3 KB
Line 
1--
2--  TMTEST / BODY
3--
4--  DESCRIPTION:
5--
6--  This package is the implementation of Calling Overhead Test of the RTEMS
7--  Timing 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 BSP;
25with DUMMY_RTEMS;
26with INTERFACES; use INTERFACES;
27with RTEMS;
28with TEST_SUPPORT;
29with TEXT_IO;
30with TIME_TEST_SUPPORT;
31with UNSIGNED32_IO;
32
33package body TMTEST is
34
35--PAGE
36--
37--  INIT
38--
39
40   procedure INIT (
41      ARGUMENT : in     RTEMS.TASK_ARGUMENT
42   ) is
43      STATUS : RTEMS.STATUS_CODES;
44   begin
45
46      TEXT_IO.NEW_LINE( 2 );
47      TEXT_IO.PUT_LINE( "*** TIME TEST OVERHEAD ***" );
48
49      TIMER_DRIVER.SET_FIND_AVERAGE_OVERHEAD( TRUE );
50
51      TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME(  'T', 'A', '1', ' ' );
52
53      RTEMS.TASK_CREATE(
54         TMTEST.TASK_NAME( 1 ),
55         254,
56         2048,
57         RTEMS.DEFAULT_MODES,
58         RTEMS.DEFAULT_ATTRIBUTES,
59         TMTEST.TASK_ID( 1 ),
60         STATUS
61      );
62      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" );
63
64      RTEMS.TASK_START(
65         TMTEST.TASK_ID( 1 ),
66         TMTEST.TASK_1'ACCESS,
67         0,
68         STATUS
69      );
70      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" );
71
72      RTEMS.TASK_DELETE( RTEMS.SELF, STATUS );
73      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" );
74
75   end INIT;
76
77--PAGE
78--
79--  TIMER_HANDLER
80--
81
82   procedure TIMER_HANDLER (
83      IGNORED_ID      : in     RTEMS.ID;
84      IGNORED_ADDRESS : in     RTEMS.ADDRESS
85   ) is
86   begin
87
88      NULL;
89
90   end TIMER_HANDLER;
91
92--PAGE
93--
94--  ISR_HANDLER
95--
96
97   procedure ISR_HANDLER (
98      VECTOR : in     RTEMS.VECTOR_NUMBER
99   ) is
100   begin
101
102      NULL;
103
104   end ISR_HANDLER;
105
106--PAGE
107--
108--  ASR_HANDLER
109--
110
111   procedure ASR_HANDLER (
112      SIGNALS : in     RTEMS.SIGNAL_SET
113   ) is
114   begin
115
116      NULL;
117
118   end ASR_HANDLER;
119
120--PAGE
121--
122--  TASK_1
123--
124
125   CPU_TABLE      : aliased RTEMS.CPU_TABLE;
126
127   procedure TASK_1 (
128      ARGUMENT : in     RTEMS.TASK_ARGUMENT
129   ) is
130      NAME           : RTEMS.NAME;
131      INDEX          : RTEMS.UNSIGNED32;
132      OVERHEAD       : RTEMS.UNSIGNED32;
133      ID             : RTEMS.ID;
134      IN_PRIORITY    : RTEMS.TASK_PRIORITY;
135      OUT_PRIORITY   : RTEMS.TASK_PRIORITY;
136      IN_MODE        : RTEMS.MODE;
137      MASK           : RTEMS.MODE;
138      OUT_MODE       : RTEMS.MODE;
139      NOTE           : RTEMS.UNSIGNED32;
140      TIME           : RTEMS.TIME_OF_DAY;
141      TIMEOUT        : RTEMS.INTERVAL;
142      SIGNALS        : RTEMS.SIGNAL_SET;
143      ADDRESS_1      : RTEMS.ADDRESS;
144      EVENTS         : RTEMS.SIGNAL_SET;
145      BUFFER         : RTEMS.BUFFER;
146      BUFFER_POINTER : RTEMS.BUFFER_POINTER;
147      COUNT          : RTEMS.UNSIGNED32;
148      MAJOR          : RTEMS.DEVICE_MAJOR_NUMBER;
149      MINOR          : RTEMS.DEVICE_MINOR_NUMBER;
150      IO_RESULT      : RTEMS.UNSIGNED32;
151      ERROR          : RTEMS.UNSIGNED32;
152      STATUS         : RTEMS.STATUS_CODES;
153   begin
154
155      NAME := RTEMS.BUILD_NAME(  'N', 'A', 'M', 'E' );
156
157      BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );
158     
159-- INITIALIZE_EXECUTIVE
160
161      TIMER_DRIVER.INITIALIZE;
162         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
163         loop
164            DUMMY_RTEMS.INITIALIZE_EXECUTIVE(
165               BSP.CONFIGURATION'ACCESS,
166               CPU_TABLE'ACCESS,
167               TMTEST.INITIALIZATION_TASKS'ACCESS,
168               RTEMS.NO_DEVICE_DRIVERS,
169               RTEMS.NO_USER_EXTENSIONS,
170               RTEMS.NO_MULTIPROCESSING_TABLE,
171               RTEMS.NO_MPCI_TABLE
172            );
173         end loop;
174      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
175
176      TIME_TEST_SUPPORT.PUT_TIME(
177         "INITIALIZE_EXECUTIVE",
178         TMTEST.END_TIME,
179         TIME_TEST_SUPPORT.OPERATION_COUNT,
180         OVERHEAD,
181         0
182      );
183
184-- SHUTDOWN_EXECUTIVE
185
186      TIMER_DRIVER.INITIALIZE;
187         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
188         loop
189            DUMMY_RTEMS.SHUTDOWN_EXECUTIVE( ERROR );
190         end loop;
191      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
192
193      TIME_TEST_SUPPORT.PUT_TIME(
194         "SHUTDOWN_EXECUTIVE",
195         TMTEST.END_TIME,
196         TIME_TEST_SUPPORT.OPERATION_COUNT,
197         OVERHEAD,
198         0
199      );
200
201-- TASK_CREATE
202
203      TIMER_DRIVER.INITIALIZE;
204         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
205         loop
206            DUMMY_RTEMS.TASK_CREATE(
207               NAME,
208               IN_PRIORITY,
209               2048,
210               RTEMS.DEFAULT_MODES,
211               RTEMS.DEFAULT_ATTRIBUTES,
212               ID,
213               STATUS
214            );
215         end loop;
216      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
217
218      TIME_TEST_SUPPORT.PUT_TIME(
219         "TASK_CREATE",
220         TMTEST.END_TIME,
221         TIME_TEST_SUPPORT.OPERATION_COUNT,
222         OVERHEAD,
223         0
224      );
225
226-- TASK_IDENT
227
228      TIMER_DRIVER.INITIALIZE;
229         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
230         loop
231            DUMMY_RTEMS.TASK_IDENT(
232               NAME,
233               RTEMS.SEARCH_ALL_NODES,
234               ID,
235               STATUS
236            );
237         end loop;
238      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
239
240      TIME_TEST_SUPPORT.PUT_TIME(
241         "TASK_IDENT",
242         TMTEST.END_TIME,
243         TIME_TEST_SUPPORT.OPERATION_COUNT,
244         OVERHEAD,
245         0
246      );
247
248-- TASK_START
249
250      TIMER_DRIVER.INITIALIZE;
251         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
252         loop
253            DUMMY_RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS );
254         end loop;
255      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
256
257      TIME_TEST_SUPPORT.PUT_TIME(
258         "TASK_START",
259         TMTEST.END_TIME,
260         TIME_TEST_SUPPORT.OPERATION_COUNT,
261         OVERHEAD,
262         0
263      );
264
265-- TASK_RESTART
266
267      TIMER_DRIVER.INITIALIZE;
268         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
269         loop
270            DUMMY_RTEMS.TASK_RESTART( ID, 0, STATUS );
271         end loop;
272      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
273
274      TIME_TEST_SUPPORT.PUT_TIME(
275         "TASK_RESTART",
276         TMTEST.END_TIME,
277         TIME_TEST_SUPPORT.OPERATION_COUNT,
278         OVERHEAD,
279         0
280      );
281
282-- TASK_DELETE
283
284      TIMER_DRIVER.INITIALIZE;
285         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
286         loop
287            DUMMY_RTEMS.TASK_DELETE( ID, STATUS );
288         end loop;
289      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
290
291      TIME_TEST_SUPPORT.PUT_TIME(
292         "TASK_DELETE",
293         TMTEST.END_TIME,
294         TIME_TEST_SUPPORT.OPERATION_COUNT,
295         OVERHEAD,
296         0
297      );
298
299-- TASK_SUSPEND
300
301      TIMER_DRIVER.INITIALIZE;
302         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
303         loop
304            DUMMY_RTEMS.TASK_SUSPEND( ID, STATUS );
305         end loop;
306      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
307
308      TIME_TEST_SUPPORT.PUT_TIME(
309         "TASK_SUSPEND",
310         TMTEST.END_TIME,
311         TIME_TEST_SUPPORT.OPERATION_COUNT,
312         OVERHEAD,
313         0
314      );
315
316-- TASK_RESUME
317
318      TIMER_DRIVER.INITIALIZE;
319         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
320         loop
321            DUMMY_RTEMS.TASK_RESUME( ID, STATUS );
322         end loop;
323      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
324
325      TIME_TEST_SUPPORT.PUT_TIME(
326         "TASK_RESUME",
327         TMTEST.END_TIME,
328         TIME_TEST_SUPPORT.OPERATION_COUNT,
329         OVERHEAD,
330         0
331      );
332
333-- TASK_SET_PRIORITY
334
335      TIMER_DRIVER.INITIALIZE;
336         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
337         loop
338            DUMMY_RTEMS.TASK_SET_PRIORITY(
339               ID,
340               IN_PRIORITY,
341               OUT_PRIORITY,
342               STATUS
343            );
344         end loop;
345      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
346
347      TIME_TEST_SUPPORT.PUT_TIME(
348         "TASK_SET_PRIORITY",
349         TMTEST.END_TIME,
350         TIME_TEST_SUPPORT.OPERATION_COUNT,
351         OVERHEAD,
352         0
353      );
354
355-- TASK_MODE
356
357      TIMER_DRIVER.INITIALIZE;
358         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
359         loop
360            DUMMY_RTEMS.TASK_MODE(
361               IN_MODE,
362               MASK,
363               OUT_MODE,
364               STATUS
365            );
366         end loop;
367      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
368
369      TIME_TEST_SUPPORT.PUT_TIME(
370         "TASK_MODE",
371         TMTEST.END_TIME,
372         TIME_TEST_SUPPORT.OPERATION_COUNT,
373         OVERHEAD,
374         0
375      );
376
377-- TASK_GET_NOTE
378
379      TIMER_DRIVER.INITIALIZE;
380         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
381         loop
382            DUMMY_RTEMS.TASK_GET_NOTE( ID, 1, NOTE, STATUS );
383         end loop;
384      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
385
386      TIME_TEST_SUPPORT.PUT_TIME(
387         "TASK_GET_NOTE",
388         TMTEST.END_TIME,
389         TIME_TEST_SUPPORT.OPERATION_COUNT,
390         OVERHEAD,
391         0
392      );
393
394-- TASK_SET_NOTE
395
396      TIMER_DRIVER.INITIALIZE;
397         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
398         loop
399            DUMMY_RTEMS.TASK_SET_NOTE( ID, 1, NOTE, STATUS );
400         end loop;
401      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
402
403      TIME_TEST_SUPPORT.PUT_TIME(
404         "TASK_SET_NOTE",
405         TMTEST.END_TIME,
406         TIME_TEST_SUPPORT.OPERATION_COUNT,
407         OVERHEAD,
408         0
409      );
410
411-- TASK_WAKE_WHEN
412
413      TIMER_DRIVER.INITIALIZE;
414         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
415         loop
416            DUMMY_RTEMS.TASK_WAKE_WHEN( TIME, STATUS );
417         end loop;
418      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
419
420      TIME_TEST_SUPPORT.PUT_TIME(
421         "TASK_WAKE_WHEN",
422         TMTEST.END_TIME,
423         TIME_TEST_SUPPORT.OPERATION_COUNT,
424         OVERHEAD,
425         0
426      );
427
428-- TASK_WAKE_AFTER
429
430      TIMER_DRIVER.INITIALIZE;
431         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
432         loop
433            DUMMY_RTEMS.TASK_WAKE_AFTER( TIMEOUT, STATUS );
434         end loop;
435      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
436
437      TIME_TEST_SUPPORT.PUT_TIME(
438         "TASK_WAKE_AFTER",
439         TMTEST.END_TIME,
440         TIME_TEST_SUPPORT.OPERATION_COUNT,
441         OVERHEAD,
442         0
443      );
444
445-- INTERRUPT_CATCH
446
447      TIMER_DRIVER.INITIALIZE;
448         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
449         loop
450            DUMMY_RTEMS.INTERRUPT_CATCH(
451               TMTEST.ISR_HANDLER'ADDRESS, 
452               RTEMS.VECTOR_NUMBER'FIRST,
453               ADDRESS_1,
454               STATUS
455            );
456         end loop;
457      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
458
459      TIME_TEST_SUPPORT.PUT_TIME(
460         "INTERRUPT_CATCH",
461         TMTEST.END_TIME,
462         TIME_TEST_SUPPORT.OPERATION_COUNT,
463         OVERHEAD,
464         0
465      );
466
467-- CLOCK_GET
468
469      TIMER_DRIVER.INITIALIZE;
470         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
471         loop
472            DUMMY_RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS );
473         end loop;
474      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
475
476      TIME_TEST_SUPPORT.PUT_TIME(
477         "CLOCK_GET",
478         TMTEST.END_TIME,
479         TIME_TEST_SUPPORT.OPERATION_COUNT,
480         OVERHEAD,
481         0
482      );
483
484-- CLOCK_SET
485
486      TIMER_DRIVER.INITIALIZE;
487         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
488         loop
489            DUMMY_RTEMS.CLOCK_SET( TIME, STATUS );
490         end loop;
491      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
492
493      TIME_TEST_SUPPORT.PUT_TIME(
494         "CLOCK_SET",
495         TMTEST.END_TIME,
496         TIME_TEST_SUPPORT.OPERATION_COUNT,
497         OVERHEAD,
498         0
499      );
500
501-- CLOCK_TICK
502
503      TIMER_DRIVER.INITIALIZE;
504         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
505         loop
506            DUMMY_RTEMS.CLOCK_TICK( STATUS );
507         end loop;
508      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
509
510      TIME_TEST_SUPPORT.PUT_TIME(
511         "CLOCK_TICK",
512         TMTEST.END_TIME,
513         TIME_TEST_SUPPORT.OPERATION_COUNT,
514         OVERHEAD,
515         0
516      );
517
518TEST_SUPPORT.PAUSE;
519
520-- TIMER_CREATE
521
522      TIMER_DRIVER.INITIALIZE;
523         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
524         loop
525            DUMMY_RTEMS.TIMER_CREATE( NAME, ID, STATUS );
526         end loop;
527      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
528
529      TIME_TEST_SUPPORT.PUT_TIME(
530         "TIMER_CREATE",
531         TMTEST.END_TIME,
532         TIME_TEST_SUPPORT.OPERATION_COUNT,
533         OVERHEAD,
534         0
535      );
536
537-- TIMER_DELETE
538
539      TIMER_DRIVER.INITIALIZE;
540         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
541         loop
542            DUMMY_RTEMS.TIMER_DELETE( ID, STATUS );
543         end loop;
544      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
545
546      TIME_TEST_SUPPORT.PUT_TIME(
547         "TIMER_DELETE",
548         TMTEST.END_TIME,
549         TIME_TEST_SUPPORT.OPERATION_COUNT,
550         OVERHEAD,
551         0
552      );
553
554-- TIMER_IDENT
555
556      TIMER_DRIVER.INITIALIZE;
557         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
558         loop
559            DUMMY_RTEMS.TIMER_IDENT(
560               NAME,
561               ID,
562               STATUS
563            );
564         end loop;
565      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
566
567      TIME_TEST_SUPPORT.PUT_TIME(
568         "TIMER_IDENT",
569         TMTEST.END_TIME,
570         TIME_TEST_SUPPORT.OPERATION_COUNT,
571         OVERHEAD,
572         0
573      );
574
575-- TIMER_FIRE_AFTER
576
577      TIMER_DRIVER.INITIALIZE;
578         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
579         loop
580            DUMMY_RTEMS.TIMER_FIRE_AFTER(
581               ID,
582               TIMEOUT,
583               TMTEST.TIMER_HANDLER'ACCESS,
584               RTEMS.NULL_ADDRESS,
585               STATUS
586            );
587         end loop;
588      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
589
590      TIME_TEST_SUPPORT.PUT_TIME(
591         "TIMER_FIRE_AFTER",
592         TMTEST.END_TIME,
593         TIME_TEST_SUPPORT.OPERATION_COUNT,
594         OVERHEAD,
595         0
596      );
597
598-- TIMER_FIRE_WHEN
599
600      TIMER_DRIVER.INITIALIZE;
601         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
602         loop
603            DUMMY_RTEMS.TIMER_FIRE_WHEN(
604               ID,
605               TIME,
606               TMTEST.TIMER_HANDLER'ACCESS,
607               RTEMS.NULL_ADDRESS,
608               STATUS
609            );
610         end loop;
611      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
612
613      TIME_TEST_SUPPORT.PUT_TIME(
614         "TIMER_FIRE_WHEN",
615         TMTEST.END_TIME,
616         TIME_TEST_SUPPORT.OPERATION_COUNT,
617         OVERHEAD,
618         0
619      );
620
621-- TIMER_RESET
622
623      TIMER_DRIVER.INITIALIZE;
624         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
625         loop
626            DUMMY_RTEMS.TIMER_RESET( ID, STATUS );
627         end loop;
628      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
629
630      TIME_TEST_SUPPORT.PUT_TIME(
631         "TIMER_RESET",
632         TMTEST.END_TIME,
633         TIME_TEST_SUPPORT.OPERATION_COUNT,
634         OVERHEAD,
635         0
636      );
637
638-- TIMER_CANCEL
639
640      TIMER_DRIVER.INITIALIZE;
641         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
642         loop
643            DUMMY_RTEMS.TIMER_CANCEL( ID, STATUS );
644         end loop;
645      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
646
647      TIME_TEST_SUPPORT.PUT_TIME(
648         "TIMER_CANCEL",
649         TMTEST.END_TIME,
650         TIME_TEST_SUPPORT.OPERATION_COUNT,
651         OVERHEAD,
652         0
653      );
654
655-- SEMAPHORE_CREATE
656
657      TIMER_DRIVER.INITIALIZE;
658         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
659         loop
660            DUMMY_RTEMS.SEMAPHORE_CREATE(
661               NAME,
662               128,
663               RTEMS.DEFAULT_ATTRIBUTES,
664               ID,
665               STATUS
666            );
667         end loop;
668      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
669
670      TIME_TEST_SUPPORT.PUT_TIME(
671         "SEMAPHORE_CREATE",
672         TMTEST.END_TIME,
673         TIME_TEST_SUPPORT.OPERATION_COUNT,
674         OVERHEAD,
675         0
676      );
677
678-- SEMAPHORE_DELETE
679
680      TIMER_DRIVER.INITIALIZE;
681         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
682         loop
683            DUMMY_RTEMS.SEMAPHORE_DELETE( ID, STATUS );
684         end loop;
685      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
686
687      TIME_TEST_SUPPORT.PUT_TIME(
688         "SEMAPHORE_DELETE",
689         TMTEST.END_TIME,
690         TIME_TEST_SUPPORT.OPERATION_COUNT,
691         OVERHEAD,
692         0
693      );
694
695-- SEMAPHORE_IDENT
696
697      TIMER_DRIVER.INITIALIZE;
698         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
699         loop
700            DUMMY_RTEMS.SEMAPHORE_IDENT(
701               NAME,
702               RTEMS.SEARCH_ALL_NODES,
703               ID,
704               STATUS
705            );
706         end loop;
707      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
708
709      TIME_TEST_SUPPORT.PUT_TIME(
710         "SEMAPHORE_IDENT",
711         TMTEST.END_TIME,
712         TIME_TEST_SUPPORT.OPERATION_COUNT,
713         OVERHEAD,
714         0
715      );
716
717-- SEMAPHORE_OBTAIN
718
719      TIMER_DRIVER.INITIALIZE;
720         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
721         loop
722            DUMMY_RTEMS.SEMAPHORE_OBTAIN(
723               ID,
724               RTEMS.DEFAULT_OPTIONS,
725               TIMEOUT,
726               STATUS
727            );
728         end loop;
729      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
730
731      TIME_TEST_SUPPORT.PUT_TIME(
732         "SEMAPHORE_OBTAIN",
733         TMTEST.END_TIME,
734         TIME_TEST_SUPPORT.OPERATION_COUNT,
735         OVERHEAD,
736         0
737      );
738
739-- SEMAPHORE_RELEASE
740
741      TIMER_DRIVER.INITIALIZE;
742         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
743         loop
744            DUMMY_RTEMS.SEMAPHORE_RELEASE( ID, STATUS );
745         end loop;
746      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
747
748      TIME_TEST_SUPPORT.PUT_TIME(
749         "SEMAPHORE_RELEASE",
750         TMTEST.END_TIME,
751         TIME_TEST_SUPPORT.OPERATION_COUNT,
752         OVERHEAD,
753         0
754      );
755
756-- MESSAGE_QUEUE_CREATE
757
758      TIMER_DRIVER.INITIALIZE;
759         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
760         loop
761            DUMMY_RTEMS.MESSAGE_QUEUE_CREATE(
762               NAME,
763               128,
764               RTEMS.DEFAULT_ATTRIBUTES,
765               ID,
766               STATUS
767            );
768         end loop;
769      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
770
771      TIME_TEST_SUPPORT.PUT_TIME(
772         "MESSAGE_QUEUE_CREATE",
773         TMTEST.END_TIME,
774         TIME_TEST_SUPPORT.OPERATION_COUNT,
775         OVERHEAD,
776         0
777      );
778
779-- MESSAGE_QUEUE_IDENT
780
781      TIMER_DRIVER.INITIALIZE;
782         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
783         loop
784            DUMMY_RTEMS.MESSAGE_QUEUE_IDENT(
785               NAME,
786               RTEMS.SEARCH_ALL_NODES,
787               ID,
788               STATUS
789            );
790         end loop;
791      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
792
793      TIME_TEST_SUPPORT.PUT_TIME(
794         "MESSAGE_QUEUE_IDENT",
795         TMTEST.END_TIME,
796         TIME_TEST_SUPPORT.OPERATION_COUNT,
797         OVERHEAD,
798         0
799      );
800
801-- MESSAGE_QUEUE_DELETE
802
803      TIMER_DRIVER.INITIALIZE;
804         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
805         loop
806            DUMMY_RTEMS.MESSAGE_QUEUE_DELETE( ID, STATUS );
807         end loop;
808      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
809
810      TIME_TEST_SUPPORT.PUT_TIME(
811         "MESSAGE_QUEUE_DELETE",
812         TMTEST.END_TIME,
813         TIME_TEST_SUPPORT.OPERATION_COUNT,
814         OVERHEAD,
815         0
816      );
817
818-- MESSAGE_QUEUE_SEND
819
820      TIMER_DRIVER.INITIALIZE;
821         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
822         loop
823            DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, STATUS );
824         end loop;
825      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
826
827      TIME_TEST_SUPPORT.PUT_TIME(
828         "MESSAGE_QUEUE_SEND",
829         TMTEST.END_TIME,
830         TIME_TEST_SUPPORT.OPERATION_COUNT,
831         OVERHEAD,
832         0
833      );
834
835-- MESSAGE_QUEUE_URGENT
836
837      TIMER_DRIVER.INITIALIZE;
838         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
839         loop
840            DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, STATUS );
841         end loop;
842      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
843
844      TIME_TEST_SUPPORT.PUT_TIME(
845         "MESSAGE_QUEUE_URGENT",
846         TMTEST.END_TIME,
847         TIME_TEST_SUPPORT.OPERATION_COUNT,
848         OVERHEAD,
849         0
850      );
851
852-- MESSAGE_QUEUE_BROADCAST
853
854      TIMER_DRIVER.INITIALIZE;
855         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
856         loop
857            DUMMY_RTEMS.MESSAGE_QUEUE_BROADCAST(
858               ID,
859               BUFFER_POINTER,
860               COUNT,
861               STATUS
862            );
863         end loop;
864      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
865
866      TIME_TEST_SUPPORT.PUT_TIME(
867         "MESSAGE_QUEUE_BROADCAST",
868         TMTEST.END_TIME,
869         TIME_TEST_SUPPORT.OPERATION_COUNT,
870         OVERHEAD,
871         0
872      );
873
874-- MESSAGE_QUEUE_RECEIVE
875
876      TIMER_DRIVER.INITIALIZE;
877         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
878         loop
879            DUMMY_RTEMS.MESSAGE_QUEUE_RECEIVE(
880               ID,
881               BUFFER_POINTER,
882               RTEMS.DEFAULT_OPTIONS,
883               TIMEOUT,
884               STATUS
885            );
886         end loop;
887      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
888
889      TIME_TEST_SUPPORT.PUT_TIME(
890         "MESSAGE_QUEUE_RECEIVE",
891         TMTEST.END_TIME,
892         TIME_TEST_SUPPORT.OPERATION_COUNT,
893         OVERHEAD,
894         0
895      );
896
897-- MESSAGE_QUEUE_FLUSH
898
899      TIMER_DRIVER.INITIALIZE;
900         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
901         loop
902            DUMMY_RTEMS.MESSAGE_QUEUE_FLUSH( ID, COUNT, STATUS );
903         end loop;
904      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
905
906      TIME_TEST_SUPPORT.PUT_TIME(
907         "MESSAGE_QUEUE_FLUSH",
908         TMTEST.END_TIME,
909         TIME_TEST_SUPPORT.OPERATION_COUNT,
910         OVERHEAD,
911         0
912      );
913
914TEST_SUPPORT.PAUSE;
915
916-- EVENT_SEND
917
918      TIMER_DRIVER.INITIALIZE;
919         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
920         loop
921            DUMMY_RTEMS.EVENT_SEND( ID, EVENTS, STATUS );
922         end loop;
923      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
924
925      TIME_TEST_SUPPORT.PUT_TIME(
926         "EVENT_SEND",
927         TMTEST.END_TIME,
928         TIME_TEST_SUPPORT.OPERATION_COUNT,
929         OVERHEAD,
930         0
931      );
932
933-- EVENT_RECEIVE
934
935      TIMER_DRIVER.INITIALIZE;
936         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
937         loop
938            DUMMY_RTEMS.EVENT_RECEIVE(
939               RTEMS.EVENT_16,
940               EVENTS,
941               RTEMS.DEFAULT_OPTIONS,
942               TIMEOUT,
943               STATUS
944            );
945         end loop;
946      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
947
948      TIME_TEST_SUPPORT.PUT_TIME(
949         "EVENT_RECEIVE",
950         TMTEST.END_TIME,
951         TIME_TEST_SUPPORT.OPERATION_COUNT,
952         OVERHEAD,
953         0
954      );
955
956-- SIGNAL_CATCH
957
958      TIMER_DRIVER.INITIALIZE;
959         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
960         loop
961            DUMMY_RTEMS.SIGNAL_CATCH(
962               TMTEST.ASR_HANDLER'ACCESS,
963               RTEMS.DEFAULT_MODES,
964               STATUS
965            );
966         end loop;
967      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
968
969      TIME_TEST_SUPPORT.PUT_TIME(
970         "SIGNAL_CATCH",
971         TMTEST.END_TIME,
972         TIME_TEST_SUPPORT.OPERATION_COUNT,
973         OVERHEAD,
974         0
975      );
976
977-- SIGNAL_SEND
978
979      TIMER_DRIVER.INITIALIZE;
980         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
981         loop
982            DUMMY_RTEMS.SIGNAL_SEND( ID, SIGNALS, STATUS );
983         end loop;
984      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
985
986      TIME_TEST_SUPPORT.PUT_TIME(
987         "SIGNAL_SEND",
988         TMTEST.END_TIME,
989         TIME_TEST_SUPPORT.OPERATION_COUNT,
990         OVERHEAD,
991         0
992      );
993
994-- PARTITION_CREATE
995
996      TIMER_DRIVER.INITIALIZE;
997         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
998         loop
999            DUMMY_RTEMS.PARTITION_CREATE(
1000               NAME,
1001               TMTEST.MEMORY_AREA'ADDRESS,
1002               2048,
1003               128,
1004               RTEMS.DEFAULT_ATTRIBUTES,
1005               ID,
1006               STATUS
1007            );
1008         end loop;
1009      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1010
1011      TIME_TEST_SUPPORT.PUT_TIME(
1012         "PARTITION_CREATE",
1013         TMTEST.END_TIME,
1014         TIME_TEST_SUPPORT.OPERATION_COUNT,
1015         OVERHEAD,
1016         0
1017      );
1018
1019-- PARTITION_IDENT
1020
1021      TIMER_DRIVER.INITIALIZE;
1022         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1023         loop
1024            DUMMY_RTEMS.PARTITION_IDENT(
1025               NAME,
1026               RTEMS.SEARCH_ALL_NODES,
1027               ID,
1028               STATUS
1029            );
1030         end loop;
1031      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1032
1033      TIME_TEST_SUPPORT.PUT_TIME(
1034         "PARTITION_IDENT",
1035         TMTEST.END_TIME,
1036         TIME_TEST_SUPPORT.OPERATION_COUNT,
1037         OVERHEAD,
1038         0
1039      );
1040
1041-- PARTITION_DELETE
1042
1043      TIMER_DRIVER.INITIALIZE;
1044         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1045         loop
1046            DUMMY_RTEMS.PARTITION_DELETE( ID, STATUS );
1047         end loop;
1048      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1049
1050      TIME_TEST_SUPPORT.PUT_TIME(
1051         "PARTITION_DELETE",
1052         TMTEST.END_TIME,
1053         TIME_TEST_SUPPORT.OPERATION_COUNT,
1054         OVERHEAD,
1055         0
1056      );
1057
1058-- PARTITION_GET_BUFFER
1059
1060      TIMER_DRIVER.INITIALIZE;
1061         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1062         loop
1063            DUMMY_RTEMS.PARTITION_GET_BUFFER( ID, ADDRESS_1, STATUS );
1064         end loop;
1065      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1066
1067      TIME_TEST_SUPPORT.PUT_TIME(
1068         "PARTITION_GET_BUFFER",
1069         TMTEST.END_TIME,
1070         TIME_TEST_SUPPORT.OPERATION_COUNT,
1071         OVERHEAD,
1072         0
1073      );
1074
1075-- PARTITION_RETURN_BUFFER
1076
1077      TIMER_DRIVER.INITIALIZE;
1078         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1079         loop
1080            DUMMY_RTEMS.PARTITION_RETURN_BUFFER( ID, ADDRESS_1, STATUS );
1081         end loop;
1082      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1083
1084      TIME_TEST_SUPPORT.PUT_TIME(
1085         "PARTITION_RETURN_BUFFER",
1086         TMTEST.END_TIME,
1087         TIME_TEST_SUPPORT.OPERATION_COUNT,
1088         OVERHEAD,
1089         0
1090      );
1091
1092-- REGION_CREATE
1093
1094      TIMER_DRIVER.INITIALIZE;
1095         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1096         loop
1097            DUMMY_RTEMS.REGION_CREATE(
1098               NAME,
1099               TMTEST.MEMORY_AREA'ADDRESS,
1100               2048,
1101               128,
1102               RTEMS.DEFAULT_ATTRIBUTES,
1103               ID,
1104               STATUS
1105            );
1106         end loop;
1107      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1108
1109      TIME_TEST_SUPPORT.PUT_TIME(
1110         "REGION_CREATE",
1111         TMTEST.END_TIME,
1112         TIME_TEST_SUPPORT.OPERATION_COUNT,
1113         OVERHEAD,
1114         0
1115      );
1116
1117-- REGION_IDENT
1118
1119      TIMER_DRIVER.INITIALIZE;
1120         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1121         loop
1122            DUMMY_RTEMS.REGION_IDENT(
1123               NAME,
1124               ID,
1125               STATUS
1126            );
1127         end loop;
1128      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1129
1130      TIME_TEST_SUPPORT.PUT_TIME(
1131         "REGION_IDENT",
1132         TMTEST.END_TIME,
1133         TIME_TEST_SUPPORT.OPERATION_COUNT,
1134         OVERHEAD,
1135         0
1136      );
1137
1138-- REGION_DELETE
1139
1140      TIMER_DRIVER.INITIALIZE;
1141         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1142         loop
1143            DUMMY_RTEMS.REGION_DELETE( ID, STATUS );
1144         end loop;
1145      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1146
1147      TIME_TEST_SUPPORT.PUT_TIME(
1148         "REGION_DELETE",
1149         TMTEST.END_TIME,
1150         TIME_TEST_SUPPORT.OPERATION_COUNT,
1151         OVERHEAD,
1152         0
1153      );
1154
1155-- REGION_GET_SEGMENT
1156
1157      TIMER_DRIVER.INITIALIZE;
1158         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1159         loop
1160            DUMMY_RTEMS.REGION_GET_SEGMENT(
1161               ID,
1162               243,
1163               RTEMS.DEFAULT_OPTIONS,
1164               TIMEOUT,
1165               ADDRESS_1,
1166               STATUS
1167            );
1168         end loop;
1169      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1170
1171      TIME_TEST_SUPPORT.PUT_TIME(
1172         "REGION_GET_SEGMENT",
1173         TMTEST.END_TIME,
1174         TIME_TEST_SUPPORT.OPERATION_COUNT,
1175         OVERHEAD,
1176         0
1177      );
1178
1179-- REGION_RETURN_SEGMENT
1180
1181      TIMER_DRIVER.INITIALIZE;
1182         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1183         loop
1184            DUMMY_RTEMS.REGION_RETURN_SEGMENT( ID, ADDRESS_1, STATUS );
1185         end loop;
1186      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1187
1188      TIME_TEST_SUPPORT.PUT_TIME(
1189         "REGION_RETURN_SEGMENT",
1190         TMTEST.END_TIME,
1191         TIME_TEST_SUPPORT.OPERATION_COUNT,
1192         OVERHEAD,
1193         0
1194      );
1195
1196-- PORT_CREATE
1197
1198      TIMER_DRIVER.INITIALIZE;
1199         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1200         loop
1201            DUMMY_RTEMS.PORT_CREATE(
1202               NAME,
1203               TMTEST.INTERNAL_PORT_AREA'ADDRESS,
1204               TMTEST.EXTERNAL_PORT_AREA'ADDRESS,
1205               TMTEST.INTERNAL_PORT_AREA'LENGTH,
1206               ID,
1207               STATUS
1208            );
1209         end loop;
1210      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1211
1212      TIME_TEST_SUPPORT.PUT_TIME(
1213         "PORT_CREATE",
1214         TMTEST.END_TIME,
1215         TIME_TEST_SUPPORT.OPERATION_COUNT,
1216         OVERHEAD,
1217         0
1218      );
1219
1220-- PORT_IDENT
1221
1222      TIMER_DRIVER.INITIALIZE;
1223         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1224         loop
1225            DUMMY_RTEMS.PORT_IDENT( NAME, ID, STATUS );
1226         end loop;
1227      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1228
1229      TIME_TEST_SUPPORT.PUT_TIME(
1230         "PORT_IDENT",
1231         TMTEST.END_TIME,
1232         TIME_TEST_SUPPORT.OPERATION_COUNT,
1233         OVERHEAD,
1234         0
1235      );
1236
1237-- PORT_DELETE
1238
1239      TIMER_DRIVER.INITIALIZE;
1240         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1241         loop
1242            DUMMY_RTEMS.PORT_DELETE( ID, STATUS );
1243         end loop;
1244      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1245
1246      TIME_TEST_SUPPORT.PUT_TIME(
1247         "PORT_DELETE",
1248         TMTEST.END_TIME,
1249         TIME_TEST_SUPPORT.OPERATION_COUNT,
1250         OVERHEAD,
1251         0
1252      );
1253
1254-- PORT_EXTERNAL_TO_INTERNAL
1255
1256      TIMER_DRIVER.INITIALIZE;
1257         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1258         loop
1259            DUMMY_RTEMS.PORT_EXTERNAL_TO_INTERNAL(
1260               ID,
1261               TMTEST.EXTERNAL_PORT_AREA( 7 )'ADDRESS,
1262               ADDRESS_1,
1263               STATUS
1264            );
1265         end loop;
1266      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1267
1268      TIME_TEST_SUPPORT.PUT_TIME(
1269         "PORT_EXTERNAL_TO_INTERNAL",
1270         TMTEST.END_TIME,
1271         TIME_TEST_SUPPORT.OPERATION_COUNT,
1272         OVERHEAD,
1273         0
1274      );
1275
1276-- PORT_INTERNAL_TO_EXTERNAL
1277
1278      TIMER_DRIVER.INITIALIZE;
1279         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1280         loop
1281            DUMMY_RTEMS.PORT_INTERNAL_TO_EXTERNAL(
1282               ID,
1283               TMTEST.INTERNAL_PORT_AREA( 7 )'ADDRESS,
1284               ADDRESS_1,
1285               STATUS
1286            );
1287         end loop;
1288      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1289
1290      TIME_TEST_SUPPORT.PUT_TIME(
1291         "PORT_INTERNAL_TO_EXTERNAL",
1292         TMTEST.END_TIME,
1293         TIME_TEST_SUPPORT.OPERATION_COUNT,
1294         OVERHEAD,
1295         0
1296      );
1297
1298TEST_SUPPORT.PAUSE;
1299
1300-- IO_INITIALIZE
1301
1302      TIMER_DRIVER.INITIALIZE;
1303         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1304         loop
1305            DUMMY_RTEMS.IO_INITIALIZE(
1306               MAJOR,
1307               MINOR,
1308               ADDRESS_1,
1309               IO_RESULT,
1310               STATUS
1311            );
1312         end loop;
1313      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1314
1315      TIME_TEST_SUPPORT.PUT_TIME(
1316         "IO_INITIALIZE",
1317         TMTEST.END_TIME,
1318         TIME_TEST_SUPPORT.OPERATION_COUNT,
1319         OVERHEAD,
1320         0
1321      );
1322
1323-- IO_OPEN
1324
1325      TIMER_DRIVER.INITIALIZE;
1326         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1327         loop
1328            DUMMY_RTEMS.IO_OPEN(
1329               MAJOR,
1330               MINOR,
1331               ADDRESS_1,
1332               IO_RESULT,
1333               STATUS
1334            );
1335         end loop;
1336      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1337
1338      TIME_TEST_SUPPORT.PUT_TIME(
1339         "IO_OPEN",
1340         TMTEST.END_TIME,
1341         TIME_TEST_SUPPORT.OPERATION_COUNT,
1342         OVERHEAD,
1343         0
1344      );
1345
1346-- IO_CLOSE
1347
1348      TIMER_DRIVER.INITIALIZE;
1349         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1350         loop
1351            DUMMY_RTEMS.IO_CLOSE(
1352               MAJOR,
1353               MINOR,
1354               ADDRESS_1,
1355               IO_RESULT,
1356               STATUS
1357            );
1358         end loop;
1359      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1360
1361      TIME_TEST_SUPPORT.PUT_TIME(
1362         "IO_CLOSE",
1363         TMTEST.END_TIME,
1364         TIME_TEST_SUPPORT.OPERATION_COUNT,
1365         OVERHEAD,
1366         0
1367      );
1368
1369-- IO_READ
1370
1371      TIMER_DRIVER.INITIALIZE;
1372         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1373         loop
1374            DUMMY_RTEMS.IO_READ(
1375               MAJOR,
1376               MINOR,
1377               ADDRESS_1,
1378               IO_RESULT,
1379               STATUS
1380            );
1381         end loop;
1382      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1383
1384      TIME_TEST_SUPPORT.PUT_TIME(
1385         "IO_READ",
1386         TMTEST.END_TIME,
1387         TIME_TEST_SUPPORT.OPERATION_COUNT,
1388         OVERHEAD,
1389         0
1390      );
1391
1392-- IO_WRITE
1393
1394      TIMER_DRIVER.INITIALIZE;
1395         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1396         loop
1397            DUMMY_RTEMS.IO_WRITE(
1398               MAJOR,
1399               MINOR,
1400               ADDRESS_1,
1401               IO_RESULT,
1402               STATUS
1403            );
1404         end loop;
1405      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1406
1407      TIME_TEST_SUPPORT.PUT_TIME(
1408         "IO_WRITE",
1409         TMTEST.END_TIME,
1410         TIME_TEST_SUPPORT.OPERATION_COUNT,
1411         OVERHEAD,
1412         0
1413      );
1414
1415-- IO_CONTROL
1416
1417      TIMER_DRIVER.INITIALIZE;
1418         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1419         loop
1420            DUMMY_RTEMS.IO_CONTROL(
1421               MAJOR,
1422               MINOR,
1423               ADDRESS_1,
1424               IO_RESULT,
1425               STATUS
1426            );
1427         end loop;
1428      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1429
1430      TIME_TEST_SUPPORT.PUT_TIME(
1431         "IO_CONTROL",
1432         TMTEST.END_TIME,
1433         TIME_TEST_SUPPORT.OPERATION_COUNT,
1434         OVERHEAD,
1435         0
1436      );
1437
1438-- FATAL_ERROR_OCCURRED
1439
1440      TIMER_DRIVER.INITIALIZE;
1441         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1442         loop
1443            DUMMY_RTEMS.FATAL_ERROR_OCCURRED( ERROR );
1444         end loop;
1445      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1446
1447      TIME_TEST_SUPPORT.PUT_TIME(
1448         "FATAL_ERROR_OCCURRED",
1449         TMTEST.END_TIME,
1450         TIME_TEST_SUPPORT.OPERATION_COUNT,
1451         OVERHEAD,
1452         0
1453      );
1454
1455-- RATE_MONOTONIC_CREATE
1456
1457      TIMER_DRIVER.INITIALIZE;
1458         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1459         loop
1460            DUMMY_RTEMS.RATE_MONOTONIC_CREATE( NAME, ID, STATUS );
1461         end loop;
1462      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1463
1464      TIME_TEST_SUPPORT.PUT_TIME(
1465         "RATE_MONOTONIC_CREATE",
1466         TMTEST.END_TIME,
1467         TIME_TEST_SUPPORT.OPERATION_COUNT,
1468         OVERHEAD,
1469         0
1470      );
1471
1472-- RATE_MONOTONIC_IDENT
1473
1474      TIMER_DRIVER.INITIALIZE;
1475         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1476         loop
1477            DUMMY_RTEMS.RATE_MONOTONIC_IDENT(
1478               NAME,
1479               ID,
1480               STATUS
1481            );
1482         end loop;
1483      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1484
1485      TIME_TEST_SUPPORT.PUT_TIME(
1486         "RATE_MONOTONIC_IDENT",
1487         TMTEST.END_TIME,
1488         TIME_TEST_SUPPORT.OPERATION_COUNT,
1489         OVERHEAD,
1490         0
1491      );
1492
1493-- RATE_MONOTONIC_DELETE
1494
1495      TIMER_DRIVER.INITIALIZE;
1496         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1497         loop
1498            DUMMY_RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS );
1499         end loop;
1500      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1501
1502      TIME_TEST_SUPPORT.PUT_TIME(
1503         "RATE_MONOTONIC_DELETE",
1504         TMTEST.END_TIME,
1505         TIME_TEST_SUPPORT.OPERATION_COUNT,
1506         OVERHEAD,
1507         0
1508      );
1509
1510-- RATE_MONOTONIC_CANCEL
1511
1512      TIMER_DRIVER.INITIALIZE;
1513         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1514         loop
1515            DUMMY_RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS );
1516         end loop;
1517      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1518
1519      TIME_TEST_SUPPORT.PUT_TIME(
1520         "RATE_MONOTONIC_CANCEL",
1521         TMTEST.END_TIME,
1522         TIME_TEST_SUPPORT.OPERATION_COUNT,
1523         OVERHEAD,
1524         0
1525      );
1526
1527-- RATE_MONOTONIC_PERIOD
1528
1529      TIMER_DRIVER.INITIALIZE;
1530         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1531         loop
1532            DUMMY_RTEMS.RATE_MONOTONIC_PERIOD( ID, TIMEOUT, STATUS );
1533         end loop;
1534      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1535
1536      TIME_TEST_SUPPORT.PUT_TIME(
1537         "RATE_MONOTONIC_PERIOD",
1538         TMTEST.END_TIME,
1539         TIME_TEST_SUPPORT.OPERATION_COUNT,
1540         OVERHEAD,
1541         0
1542      );
1543
1544-- MULTIPROCESSING_ANNOUNCE
1545
1546      TIMER_DRIVER.INITIALIZE;
1547         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1548         loop
1549            DUMMY_RTEMS.MULTIPROCESSING_ANNOUNCE;
1550         end loop;
1551      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1552
1553      TIME_TEST_SUPPORT.PUT_TIME(
1554         "MULTIPROCESSING_ANNOUNCE",
1555         TMTEST.END_TIME,
1556         TIME_TEST_SUPPORT.OPERATION_COUNT,
1557         OVERHEAD,
1558         0
1559      );
1560
1561      RTEMS.SHUTDOWN_EXECUTIVE( 0 );
1562   
1563   end TASK_1;
1564
1565end TMTEST;
Note: See TracBrowser for help on using the repository browser.