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

4.104.114.84.95
Last change on this file since 688ecaa0 was 688ecaa0, checked in by Joel Sherrill <joel.sherrill@…>, on 06/03/97 at 22:08:59

Fixed calls to Message_Queue_Create to include maximum message size
parameter.

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