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

5
Last change on this file since d5154d0f was d5154d0f, checked in by Aun-Ali Zaidi <admin@…>, on Dec 23, 2015 at 8:44:02 PM

api: Remove deprecated Notepads

Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.

In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:

  • 16 32-bit integers were allocated.
  • A total of 64 bytes per task per thread.

This is especially critical in low memory and safety-critical applications.

They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.

Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.

updates #2493.

  • 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
400
401      TIMER_DRIVER.INITIALIZE;
402         for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT
403         loop
404            DUMMY_RTEMS.CLOCK_GET( RTEMS.CLOCK.GET_TOD, TIME'ADDRESS, 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.