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

5
Last change on this file since a48b7c44 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

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