source: rtems/c/src/lib/libbsp/powerpc/papyrus/include/coverhd.h @ 3235ad9

4.104.114.84.95
Last change on this file since 3235ad9 was 3235ad9, checked in by Joel Sherrill <joel.sherrill@…>, on 08/23/95 at 19:30:23

Support for variable length names added to Object Handler. This supports
both fixed length "raw" names and strings from the API's point of view.

Both inline and macro implementations were tested.

  • Property mode set to 100644
File size: 5.7 KB
Line 
1/*  coverhd.h
2 *
3 *  This include file has defines to represent the overhead associated
4 *  with calling a particular directive from C.  These are used in the
5 *  Timing Test Suite to ignore the overhead required to pass arguments
6 *  to directives.  On some CPUs and/or target boards, this overhead
7 *  is significant and makes it difficult to distinguish internal
8 *  RTEMS execution time from that used to call the directive.
9 *  This file should be updated after running the C overhead timing
10 *  test.  Once this update has been performed, the RTEMS Time Test
11 *  Suite should be rebuilt to account for these overhead times in the
12 *  timing results.
13 *
14 *  NOTE:  If these are all zero, then the times reported include all
15 *         all calling overhead including passing of arguments.
16 *
17 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
18 *  On-Line Applications Research Corporation (OAR).
19 *  All rights assigned to U.S. Government, 1994.
20 *
21 *  This material may be reproduced by or for the U.S. Government pursuant
22 *  to the copyright license under the clause at DFARS 252.227-7013.  This
23 *  notice must appear in all copies of this file and its derivatives.
24 *
25 *  coverhd.h,v 1.2 1995/05/31 16:56:15 joel Exp
26 */
27
28/*
29 *  Updated for a 25MHz Papyrus by Andrew Bray <andy@i-cubed.demon.co.uk>
30 *
31 *  Units are 100ns.
32 *
33 *  These numbers are of questionable use, as they are developed by calling
34 *  the routine many times, thus getting its entry veneer into the (small)
35 *  cache on the 403GA.  This in general is not true of the RTEMS timing
36 *  tests, which usually call a routine only once, thus having no cache loaded
37 *  advantage.
38 *
39 *  Whether the directive times are useful after deducting the function call
40 *  overhead is also questionable.  The user is more interested generally
41 *  in the total cost of a directive, not the cost if the procedure call
42 *  is inlined!  (In general this is not true).
43 *
44 *  Andrew Bray 18/08/1995
45 *
46 */
47
48#ifndef __COVERHD_h
49#define __COVERHD_h
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      1
56#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        1
57#define CALLING_OVERHEAD_TASK_CREATE               3
58#define CALLING_OVERHEAD_TASK_IDENT                1
59#define CALLING_OVERHEAD_TASK_START                1
60#define CALLING_OVERHEAD_TASK_RESTART              1
61#define CALLING_OVERHEAD_TASK_DELETE               1
62#define CALLING_OVERHEAD_TASK_SUSPEND              1
63#define CALLING_OVERHEAD_TASK_RESUME               1
64#define CALLING_OVERHEAD_TASK_SET_PRIORITY         1
65#define CALLING_OVERHEAD_TASK_MODE                 1
66#define CALLING_OVERHEAD_TASK_GET_NOTE             1
67#define CALLING_OVERHEAD_TASK_SET_NOTE             1
68#define CALLING_OVERHEAD_TASK_WAKE_WHEN            4
69#define CALLING_OVERHEAD_TASK_WAKE_AFTER           1
70#define CALLING_OVERHEAD_INTERRUPT_CATCH           1
71#define CALLING_OVERHEAD_CLOCK_GET                 4
72#define CALLING_OVERHEAD_CLOCK_SET                 3
73#define CALLING_OVERHEAD_CLOCK_TICK                1
74
75#define CALLING_OVERHEAD_TIMER_CREATE              1
76#define CALLING_OVERHEAD_TIMER_IDENT               1
77#define CALLING_OVERHEAD_TIMER_DELETE              1
78#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          2
79#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           5
80#define CALLING_OVERHEAD_TIMER_RESET               1
81#define CALLING_OVERHEAD_TIMER_CANCEL              1
82#define CALLING_OVERHEAD_SEMAPHORE_CREATE          2
83#define CALLING_OVERHEAD_SEMAPHORE_IDENT           1
84#define CALLING_OVERHEAD_SEMAPHORE_DELETE          1
85#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          1
86#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         1
87#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      2
88#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       1
89#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      1
90#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        1
91#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      1
92#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   1
93#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     2
94#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       1
95
96#define CALLING_OVERHEAD_EVENT_SEND                1
97#define CALLING_OVERHEAD_EVENT_RECEIVE             2
98#define CALLING_OVERHEAD_SIGNAL_CATCH              1
99#define CALLING_OVERHEAD_SIGNAL_SEND               1
100#define CALLING_OVERHEAD_PARTITION_CREATE          3
101#define CALLING_OVERHEAD_PARTITION_IDENT           1
102#define CALLING_OVERHEAD_PARTITION_DELETE          1
103#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      1
104#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   1
105#define CALLING_OVERHEAD_REGION_CREATE             3
106#define CALLING_OVERHEAD_REGION_IDENT              1
107#define CALLING_OVERHEAD_REGION_DELETE             1
108#define CALLING_OVERHEAD_REGION_GET_SEGMENT        2
109#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     1
110#define CALLING_OVERHEAD_PORT_CREATE               2
111#define CALLING_OVERHEAD_PORT_IDENT                1
112#define CALLING_OVERHEAD_PORT_DELETE               1
113#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 1
114#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 2
115
116#define CALLING_OVERHEAD_IO_INITIALIZE             2
117#define CALLING_OVERHEAD_IO_OPEN                   2
118#define CALLING_OVERHEAD_IO_CLOSE                  2
119#define CALLING_OVERHEAD_IO_READ                   2
120#define CALLING_OVERHEAD_IO_WRITE                  2
121#define CALLING_OVERHEAD_IO_CONTROL                2
122#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      1
123#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     1
124#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      1
125#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     1
126#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     1
127#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     1
128#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  1
129
130#ifdef __cplusplus
131}
132#endif
133
134#endif
135/* end of include file */
Note: See TracBrowser for help on using the repository browser.