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

4.104.114.84.95
Last change on this file since c7f646b5 was c7f646b5, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 3, 1997 at 9:43:20 PM

Fixed all references to Semaphore_Create to have the correct
argument sequence.

  • 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               RTEMS.NO_PRIORITY,
665               ID, 
666               STATUS
667            );
668         end loop;
669      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
670
671      TIME_TEST_SUPPORT.PUT_TIME( 
672         "SEMAPHORE_CREATE",
673         TMTEST.END_TIME, 
674         TIME_TEST_SUPPORT.OPERATION_COUNT, 
675         OVERHEAD,
676         0
677      );
678
679-- SEMAPHORE_DELETE
680
681      TIMER_DRIVER.INITIALIZE;
682         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
683         loop
684            DUMMY_RTEMS.SEMAPHORE_DELETE( ID, STATUS );
685         end loop;
686      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
687
688      TIME_TEST_SUPPORT.PUT_TIME( 
689         "SEMAPHORE_DELETE",
690         TMTEST.END_TIME, 
691         TIME_TEST_SUPPORT.OPERATION_COUNT, 
692         OVERHEAD,
693         0
694      );
695
696-- SEMAPHORE_IDENT
697
698      TIMER_DRIVER.INITIALIZE;
699         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
700         loop
701            DUMMY_RTEMS.SEMAPHORE_IDENT(
702               NAME,
703               RTEMS.SEARCH_ALL_NODES,
704               ID,
705               STATUS
706            );
707         end loop;
708      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
709
710      TIME_TEST_SUPPORT.PUT_TIME( 
711         "SEMAPHORE_IDENT",
712         TMTEST.END_TIME, 
713         TIME_TEST_SUPPORT.OPERATION_COUNT, 
714         OVERHEAD,
715         0
716      );
717
718-- SEMAPHORE_OBTAIN
719
720      TIMER_DRIVER.INITIALIZE;
721         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
722         loop
723            DUMMY_RTEMS.SEMAPHORE_OBTAIN( 
724               ID, 
725               RTEMS.DEFAULT_OPTIONS,
726               TIMEOUT,
727               STATUS
728            );
729         end loop;
730      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
731
732      TIME_TEST_SUPPORT.PUT_TIME( 
733         "SEMAPHORE_OBTAIN",
734         TMTEST.END_TIME, 
735         TIME_TEST_SUPPORT.OPERATION_COUNT, 
736         OVERHEAD,
737         0
738      );
739
740-- SEMAPHORE_RELEASE
741
742      TIMER_DRIVER.INITIALIZE;
743         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
744         loop
745            DUMMY_RTEMS.SEMAPHORE_RELEASE( ID, STATUS );
746         end loop;
747      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
748
749      TIME_TEST_SUPPORT.PUT_TIME( 
750         "SEMAPHORE_RELEASE",
751         TMTEST.END_TIME, 
752         TIME_TEST_SUPPORT.OPERATION_COUNT, 
753         OVERHEAD,
754         0
755      );
756
757-- MESSAGE_QUEUE_CREATE
758
759      TIMER_DRIVER.INITIALIZE;
760         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
761         loop
762            DUMMY_RTEMS.MESSAGE_QUEUE_CREATE( 
763               NAME, 
764               128,
765               RTEMS.DEFAULT_ATTRIBUTES,
766               ID, 
767               STATUS
768            );
769         end loop;
770      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
771
772      TIME_TEST_SUPPORT.PUT_TIME( 
773         "MESSAGE_QUEUE_CREATE",
774         TMTEST.END_TIME, 
775         TIME_TEST_SUPPORT.OPERATION_COUNT, 
776         OVERHEAD,
777         0
778      );
779
780-- MESSAGE_QUEUE_IDENT
781
782      TIMER_DRIVER.INITIALIZE;
783         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
784         loop
785            DUMMY_RTEMS.MESSAGE_QUEUE_IDENT(
786               NAME,
787               RTEMS.SEARCH_ALL_NODES,
788               ID,
789               STATUS
790            );
791         end loop;
792      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
793
794      TIME_TEST_SUPPORT.PUT_TIME( 
795         "MESSAGE_QUEUE_IDENT",
796         TMTEST.END_TIME, 
797         TIME_TEST_SUPPORT.OPERATION_COUNT, 
798         OVERHEAD,
799         0
800      );
801
802-- MESSAGE_QUEUE_DELETE
803
804      TIMER_DRIVER.INITIALIZE;
805         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
806         loop
807            DUMMY_RTEMS.MESSAGE_QUEUE_DELETE( ID, STATUS );
808         end loop;
809      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
810
811      TIME_TEST_SUPPORT.PUT_TIME( 
812         "MESSAGE_QUEUE_DELETE",
813         TMTEST.END_TIME, 
814         TIME_TEST_SUPPORT.OPERATION_COUNT, 
815         OVERHEAD,
816         0
817      );
818
819-- MESSAGE_QUEUE_SEND
820
821      TIMER_DRIVER.INITIALIZE;
822         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
823         loop
824            DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, STATUS );
825         end loop;
826      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
827
828      TIME_TEST_SUPPORT.PUT_TIME( 
829         "MESSAGE_QUEUE_SEND",
830         TMTEST.END_TIME, 
831         TIME_TEST_SUPPORT.OPERATION_COUNT, 
832         OVERHEAD,
833         0
834      );
835
836-- MESSAGE_QUEUE_URGENT
837
838      TIMER_DRIVER.INITIALIZE;
839         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
840         loop
841            DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, STATUS );
842         end loop;
843      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
844
845      TIME_TEST_SUPPORT.PUT_TIME( 
846         "MESSAGE_QUEUE_URGENT",
847         TMTEST.END_TIME, 
848         TIME_TEST_SUPPORT.OPERATION_COUNT, 
849         OVERHEAD,
850         0
851      );
852
853-- MESSAGE_QUEUE_BROADCAST
854
855      TIMER_DRIVER.INITIALIZE;
856         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
857         loop
858            DUMMY_RTEMS.MESSAGE_QUEUE_BROADCAST( 
859               ID, 
860               BUFFER_POINTER, 
861               COUNT, 
862               STATUS
863            );
864         end loop;
865      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
866
867      TIME_TEST_SUPPORT.PUT_TIME( 
868         "MESSAGE_QUEUE_BROADCAST",
869         TMTEST.END_TIME, 
870         TIME_TEST_SUPPORT.OPERATION_COUNT, 
871         OVERHEAD,
872         0
873      );
874
875-- MESSAGE_QUEUE_RECEIVE
876
877      TIMER_DRIVER.INITIALIZE;
878         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
879         loop
880            DUMMY_RTEMS.MESSAGE_QUEUE_RECEIVE( 
881               ID, 
882               BUFFER_POINTER,
883               RTEMS.DEFAULT_OPTIONS,
884               TIMEOUT,
885               STATUS
886            );
887         end loop;
888      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
889
890      TIME_TEST_SUPPORT.PUT_TIME( 
891         "MESSAGE_QUEUE_RECEIVE",
892         TMTEST.END_TIME, 
893         TIME_TEST_SUPPORT.OPERATION_COUNT, 
894         OVERHEAD,
895         0
896      );
897
898-- MESSAGE_QUEUE_FLUSH
899
900      TIMER_DRIVER.INITIALIZE;
901         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
902         loop
903            DUMMY_RTEMS.MESSAGE_QUEUE_FLUSH( ID, COUNT, STATUS );
904         end loop;
905      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
906
907      TIME_TEST_SUPPORT.PUT_TIME( 
908         "MESSAGE_QUEUE_FLUSH",
909         TMTEST.END_TIME, 
910         TIME_TEST_SUPPORT.OPERATION_COUNT, 
911         OVERHEAD,
912         0
913      );
914
915TEST_SUPPORT.PAUSE;
916
917-- EVENT_SEND
918
919      TIMER_DRIVER.INITIALIZE;
920         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
921         loop
922            DUMMY_RTEMS.EVENT_SEND( ID, EVENTS, STATUS );
923         end loop;
924      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
925
926      TIME_TEST_SUPPORT.PUT_TIME( 
927         "EVENT_SEND",
928         TMTEST.END_TIME, 
929         TIME_TEST_SUPPORT.OPERATION_COUNT, 
930         OVERHEAD,
931         0
932      );
933
934-- EVENT_RECEIVE
935
936      TIMER_DRIVER.INITIALIZE;
937         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
938         loop
939            DUMMY_RTEMS.EVENT_RECEIVE( 
940               RTEMS.EVENT_16, 
941               EVENTS, 
942               RTEMS.DEFAULT_OPTIONS,
943               TIMEOUT,
944               STATUS
945            );
946         end loop;
947      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
948
949      TIME_TEST_SUPPORT.PUT_TIME( 
950         "EVENT_RECEIVE",
951         TMTEST.END_TIME, 
952         TIME_TEST_SUPPORT.OPERATION_COUNT, 
953         OVERHEAD,
954         0
955      );
956
957-- SIGNAL_CATCH
958
959      TIMER_DRIVER.INITIALIZE;
960         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
961         loop
962            DUMMY_RTEMS.SIGNAL_CATCH( 
963               TMTEST.ASR_HANDLER'ACCESS, 
964               RTEMS.DEFAULT_MODES,
965               STATUS
966            );
967         end loop;
968      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
969
970      TIME_TEST_SUPPORT.PUT_TIME( 
971         "SIGNAL_CATCH",
972         TMTEST.END_TIME, 
973         TIME_TEST_SUPPORT.OPERATION_COUNT, 
974         OVERHEAD,
975         0
976      );
977
978-- SIGNAL_SEND
979
980      TIMER_DRIVER.INITIALIZE;
981         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
982         loop
983            DUMMY_RTEMS.SIGNAL_SEND( ID, SIGNALS, STATUS );
984         end loop;
985      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
986
987      TIME_TEST_SUPPORT.PUT_TIME( 
988         "SIGNAL_SEND",
989         TMTEST.END_TIME, 
990         TIME_TEST_SUPPORT.OPERATION_COUNT, 
991         OVERHEAD,
992         0
993      );
994
995-- PARTITION_CREATE
996
997      TIMER_DRIVER.INITIALIZE;
998         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
999         loop
1000            DUMMY_RTEMS.PARTITION_CREATE( 
1001               NAME, 
1002               TMTEST.MEMORY_AREA'ADDRESS,
1003               2048,
1004               128,
1005               RTEMS.DEFAULT_ATTRIBUTES,
1006               ID, 
1007               STATUS
1008            );
1009         end loop;
1010      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1011
1012      TIME_TEST_SUPPORT.PUT_TIME( 
1013         "PARTITION_CREATE",
1014         TMTEST.END_TIME, 
1015         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1016         OVERHEAD,
1017         0
1018      );
1019
1020-- PARTITION_IDENT
1021
1022      TIMER_DRIVER.INITIALIZE;
1023         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1024         loop
1025            DUMMY_RTEMS.PARTITION_IDENT(
1026               NAME,
1027               RTEMS.SEARCH_ALL_NODES,
1028               ID,
1029               STATUS
1030            );
1031         end loop;
1032      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1033
1034      TIME_TEST_SUPPORT.PUT_TIME( 
1035         "PARTITION_IDENT",
1036         TMTEST.END_TIME, 
1037         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1038         OVERHEAD,
1039         0
1040      );
1041
1042-- PARTITION_DELETE
1043
1044      TIMER_DRIVER.INITIALIZE;
1045         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1046         loop
1047            DUMMY_RTEMS.PARTITION_DELETE( ID, STATUS );
1048         end loop;
1049      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1050
1051      TIME_TEST_SUPPORT.PUT_TIME( 
1052         "PARTITION_DELETE",
1053         TMTEST.END_TIME, 
1054         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1055         OVERHEAD,
1056         0
1057      );
1058
1059-- PARTITION_GET_BUFFER
1060
1061      TIMER_DRIVER.INITIALIZE;
1062         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1063         loop
1064            DUMMY_RTEMS.PARTITION_GET_BUFFER( ID, ADDRESS_1, STATUS );
1065         end loop;
1066      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1067
1068      TIME_TEST_SUPPORT.PUT_TIME( 
1069         "PARTITION_GET_BUFFER",
1070         TMTEST.END_TIME, 
1071         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1072         OVERHEAD,
1073         0
1074      );
1075
1076-- PARTITION_RETURN_BUFFER
1077
1078      TIMER_DRIVER.INITIALIZE;
1079         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1080         loop
1081            DUMMY_RTEMS.PARTITION_RETURN_BUFFER( ID, ADDRESS_1, STATUS );
1082         end loop;
1083      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1084
1085      TIME_TEST_SUPPORT.PUT_TIME( 
1086         "PARTITION_RETURN_BUFFER",
1087         TMTEST.END_TIME, 
1088         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1089         OVERHEAD,
1090         0
1091      );
1092
1093-- REGION_CREATE
1094
1095      TIMER_DRIVER.INITIALIZE;
1096         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1097         loop
1098            DUMMY_RTEMS.REGION_CREATE( 
1099               NAME, 
1100               TMTEST.MEMORY_AREA'ADDRESS,
1101               2048,
1102               128,
1103               RTEMS.DEFAULT_ATTRIBUTES,
1104               ID, 
1105               STATUS
1106            );
1107         end loop;
1108      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1109
1110      TIME_TEST_SUPPORT.PUT_TIME( 
1111         "REGION_CREATE",
1112         TMTEST.END_TIME, 
1113         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1114         OVERHEAD,
1115         0
1116      );
1117
1118-- REGION_IDENT
1119
1120      TIMER_DRIVER.INITIALIZE;
1121         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1122         loop
1123            DUMMY_RTEMS.REGION_IDENT(
1124               NAME,
1125               ID,
1126               STATUS
1127            );
1128         end loop;
1129      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1130
1131      TIME_TEST_SUPPORT.PUT_TIME( 
1132         "REGION_IDENT",
1133         TMTEST.END_TIME, 
1134         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1135         OVERHEAD,
1136         0
1137      );
1138
1139-- REGION_DELETE
1140
1141      TIMER_DRIVER.INITIALIZE;
1142         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1143         loop
1144            DUMMY_RTEMS.REGION_DELETE( ID, STATUS );
1145         end loop;
1146      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1147
1148      TIME_TEST_SUPPORT.PUT_TIME( 
1149         "REGION_DELETE",
1150         TMTEST.END_TIME, 
1151         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1152         OVERHEAD,
1153         0
1154      );
1155
1156-- REGION_GET_SEGMENT
1157
1158      TIMER_DRIVER.INITIALIZE;
1159         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1160         loop
1161            DUMMY_RTEMS.REGION_GET_SEGMENT( 
1162               ID, 
1163               243,
1164               RTEMS.DEFAULT_OPTIONS,
1165               TIMEOUT,
1166               ADDRESS_1,
1167               STATUS
1168            );
1169         end loop;
1170      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1171
1172      TIME_TEST_SUPPORT.PUT_TIME( 
1173         "REGION_GET_SEGMENT",
1174         TMTEST.END_TIME, 
1175         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1176         OVERHEAD,
1177         0
1178      );
1179
1180-- REGION_RETURN_SEGMENT
1181
1182      TIMER_DRIVER.INITIALIZE;
1183         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1184         loop
1185            DUMMY_RTEMS.REGION_RETURN_SEGMENT( ID, ADDRESS_1, STATUS );
1186         end loop;
1187      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1188
1189      TIME_TEST_SUPPORT.PUT_TIME( 
1190         "REGION_RETURN_SEGMENT",
1191         TMTEST.END_TIME, 
1192         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1193         OVERHEAD,
1194         0
1195      );
1196
1197-- PORT_CREATE
1198
1199      TIMER_DRIVER.INITIALIZE;
1200         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1201         loop
1202            DUMMY_RTEMS.PORT_CREATE( 
1203               NAME, 
1204               TMTEST.INTERNAL_PORT_AREA'ADDRESS,
1205               TMTEST.EXTERNAL_PORT_AREA'ADDRESS,
1206               TMTEST.INTERNAL_PORT_AREA'LENGTH,
1207               ID, 
1208               STATUS
1209            );
1210         end loop;
1211      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1212
1213      TIME_TEST_SUPPORT.PUT_TIME( 
1214         "PORT_CREATE",
1215         TMTEST.END_TIME, 
1216         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1217         OVERHEAD,
1218         0
1219      );
1220
1221-- PORT_IDENT
1222
1223      TIMER_DRIVER.INITIALIZE;
1224         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1225         loop
1226            DUMMY_RTEMS.PORT_IDENT( NAME, ID, STATUS );
1227         end loop;
1228      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1229
1230      TIME_TEST_SUPPORT.PUT_TIME( 
1231         "PORT_IDENT",
1232         TMTEST.END_TIME, 
1233         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1234         OVERHEAD,
1235         0
1236      );
1237
1238-- PORT_DELETE
1239
1240      TIMER_DRIVER.INITIALIZE;
1241         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1242         loop
1243            DUMMY_RTEMS.PORT_DELETE( ID, STATUS );
1244         end loop;
1245      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1246
1247      TIME_TEST_SUPPORT.PUT_TIME( 
1248         "PORT_DELETE",
1249         TMTEST.END_TIME, 
1250         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1251         OVERHEAD,
1252         0
1253      );
1254
1255-- PORT_EXTERNAL_TO_INTERNAL
1256
1257      TIMER_DRIVER.INITIALIZE;
1258         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1259         loop
1260            DUMMY_RTEMS.PORT_EXTERNAL_TO_INTERNAL( 
1261               ID, 
1262               TMTEST.EXTERNAL_PORT_AREA( 7 )'ADDRESS,
1263               ADDRESS_1,
1264               STATUS
1265            );
1266         end loop;
1267      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1268
1269      TIME_TEST_SUPPORT.PUT_TIME( 
1270         "PORT_EXTERNAL_TO_INTERNAL",
1271         TMTEST.END_TIME, 
1272         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1273         OVERHEAD,
1274         0
1275      );
1276
1277-- PORT_INTERNAL_TO_EXTERNAL
1278
1279      TIMER_DRIVER.INITIALIZE;
1280         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1281         loop
1282            DUMMY_RTEMS.PORT_INTERNAL_TO_EXTERNAL( 
1283               ID, 
1284               TMTEST.INTERNAL_PORT_AREA( 7 )'ADDRESS,
1285               ADDRESS_1,
1286               STATUS
1287            );
1288         end loop;
1289      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1290
1291      TIME_TEST_SUPPORT.PUT_TIME( 
1292         "PORT_INTERNAL_TO_EXTERNAL",
1293         TMTEST.END_TIME, 
1294         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1295         OVERHEAD,
1296         0
1297      );
1298
1299TEST_SUPPORT.PAUSE;
1300
1301-- IO_INITIALIZE
1302
1303      TIMER_DRIVER.INITIALIZE;
1304         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1305         loop
1306            DUMMY_RTEMS.IO_INITIALIZE( 
1307               MAJOR,
1308               MINOR,
1309               ADDRESS_1,
1310               IO_RESULT,
1311               STATUS
1312            );
1313         end loop;
1314      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1315
1316      TIME_TEST_SUPPORT.PUT_TIME( 
1317         "IO_INITIALIZE",
1318         TMTEST.END_TIME, 
1319         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1320         OVERHEAD,
1321         0
1322      );
1323
1324-- IO_OPEN
1325
1326      TIMER_DRIVER.INITIALIZE;
1327         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1328         loop
1329            DUMMY_RTEMS.IO_OPEN( 
1330               MAJOR,
1331               MINOR,
1332               ADDRESS_1,
1333               IO_RESULT,
1334               STATUS
1335            );
1336         end loop;
1337      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1338
1339      TIME_TEST_SUPPORT.PUT_TIME( 
1340         "IO_OPEN",
1341         TMTEST.END_TIME, 
1342         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1343         OVERHEAD,
1344         0
1345      );
1346
1347-- IO_CLOSE
1348
1349      TIMER_DRIVER.INITIALIZE;
1350         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1351         loop
1352            DUMMY_RTEMS.IO_CLOSE( 
1353               MAJOR,
1354               MINOR,
1355               ADDRESS_1,
1356               IO_RESULT,
1357               STATUS
1358            );
1359         end loop;
1360      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1361
1362      TIME_TEST_SUPPORT.PUT_TIME( 
1363         "IO_CLOSE",
1364         TMTEST.END_TIME, 
1365         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1366         OVERHEAD,
1367         0
1368      );
1369
1370-- IO_READ
1371
1372      TIMER_DRIVER.INITIALIZE;
1373         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1374         loop
1375            DUMMY_RTEMS.IO_READ( 
1376               MAJOR,
1377               MINOR,
1378               ADDRESS_1,
1379               IO_RESULT,
1380               STATUS
1381            );
1382         end loop;
1383      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1384
1385      TIME_TEST_SUPPORT.PUT_TIME( 
1386         "IO_READ",
1387         TMTEST.END_TIME, 
1388         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1389         OVERHEAD,
1390         0
1391      );
1392
1393-- IO_WRITE
1394
1395      TIMER_DRIVER.INITIALIZE;
1396         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1397         loop
1398            DUMMY_RTEMS.IO_WRITE( 
1399               MAJOR,
1400               MINOR,
1401               ADDRESS_1,
1402               IO_RESULT,
1403               STATUS
1404            );
1405         end loop;
1406      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1407
1408      TIME_TEST_SUPPORT.PUT_TIME( 
1409         "IO_WRITE",
1410         TMTEST.END_TIME, 
1411         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1412         OVERHEAD,
1413         0
1414      );
1415
1416-- IO_CONTROL
1417
1418      TIMER_DRIVER.INITIALIZE;
1419         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1420         loop
1421            DUMMY_RTEMS.IO_CONTROL( 
1422               MAJOR,
1423               MINOR,
1424               ADDRESS_1,
1425               IO_RESULT,
1426               STATUS
1427            );
1428         end loop;
1429      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1430
1431      TIME_TEST_SUPPORT.PUT_TIME( 
1432         "IO_CONTROL",
1433         TMTEST.END_TIME, 
1434         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1435         OVERHEAD,
1436         0
1437      );
1438
1439-- FATAL_ERROR_OCCURRED
1440
1441      TIMER_DRIVER.INITIALIZE;
1442         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1443         loop
1444            DUMMY_RTEMS.FATAL_ERROR_OCCURRED( ERROR );
1445         end loop;
1446      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1447
1448      TIME_TEST_SUPPORT.PUT_TIME( 
1449         "FATAL_ERROR_OCCURRED",
1450         TMTEST.END_TIME, 
1451         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1452         OVERHEAD,
1453         0
1454      );
1455
1456-- RATE_MONOTONIC_CREATE
1457
1458      TIMER_DRIVER.INITIALIZE;
1459         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1460         loop
1461            DUMMY_RTEMS.RATE_MONOTONIC_CREATE( NAME, ID, STATUS );
1462         end loop;
1463      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1464
1465      TIME_TEST_SUPPORT.PUT_TIME( 
1466         "RATE_MONOTONIC_CREATE",
1467         TMTEST.END_TIME, 
1468         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1469         OVERHEAD,
1470         0
1471      );
1472
1473-- RATE_MONOTONIC_IDENT
1474
1475      TIMER_DRIVER.INITIALIZE;
1476         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1477         loop
1478            DUMMY_RTEMS.RATE_MONOTONIC_IDENT(
1479               NAME,
1480               ID,
1481               STATUS
1482            );
1483         end loop;
1484      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1485
1486      TIME_TEST_SUPPORT.PUT_TIME( 
1487         "RATE_MONOTONIC_IDENT",
1488         TMTEST.END_TIME, 
1489         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1490         OVERHEAD,
1491         0
1492      );
1493
1494-- RATE_MONOTONIC_DELETE
1495
1496      TIMER_DRIVER.INITIALIZE;
1497         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1498         loop
1499            DUMMY_RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS );
1500         end loop;
1501      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1502
1503      TIME_TEST_SUPPORT.PUT_TIME( 
1504         "RATE_MONOTONIC_DELETE",
1505         TMTEST.END_TIME, 
1506         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1507         OVERHEAD,
1508         0
1509      );
1510
1511-- RATE_MONOTONIC_CANCEL
1512
1513      TIMER_DRIVER.INITIALIZE;
1514         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1515         loop
1516            DUMMY_RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS );
1517         end loop;
1518      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1519
1520      TIME_TEST_SUPPORT.PUT_TIME( 
1521         "RATE_MONOTONIC_CANCEL",
1522         TMTEST.END_TIME, 
1523         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1524         OVERHEAD,
1525         0
1526      );
1527
1528-- RATE_MONOTONIC_PERIOD
1529
1530      TIMER_DRIVER.INITIALIZE;
1531         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1532         loop
1533            DUMMY_RTEMS.RATE_MONOTONIC_PERIOD( ID, TIMEOUT, STATUS );
1534         end loop;
1535      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1536
1537      TIME_TEST_SUPPORT.PUT_TIME( 
1538         "RATE_MONOTONIC_PERIOD",
1539         TMTEST.END_TIME, 
1540         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1541         OVERHEAD,
1542         0
1543      );
1544
1545-- MULTIPROCESSING_ANNOUNCE
1546
1547      TIMER_DRIVER.INITIALIZE;
1548         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
1549         loop
1550            DUMMY_RTEMS.MULTIPROCESSING_ANNOUNCE;
1551         end loop;
1552      TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER;
1553
1554      TIME_TEST_SUPPORT.PUT_TIME( 
1555         "MULTIPROCESSING_ANNOUNCE",
1556         TMTEST.END_TIME, 
1557         TIME_TEST_SUPPORT.OPERATION_COUNT, 
1558         OVERHEAD,
1559         0
1560      );
1561
1562      RTEMS.SHUTDOWN_EXECUTIVE( 0 );
1563   
1564   end TASK_1;
1565
1566end TMTEST;
Note: See TracBrowser for help on using the repository browser.