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

5
Last change on this file since e65c45c was e65c45c, checked in by Joel Sherrill <joel@…>, on 03/22/16 at 22:13:30

Obsolete rtems_clock_get() directive.

This service was marked as deprecated long prior to the 4.11 release
series and is now being removed.

closes #2676.

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