source: rtems/c/src/lib/libbsp/powerpc/mbx8xx/include/coverhd.h @ 1e7cbc5

4.104.114.84.9
Last change on this file since 1e7cbc5 was 1e7cbc5, checked in by Joel Sherrill <joel.sherrill@…>, on Sep 4, 2003 at 6:52:26 PM

2003-09-04 Joel Sherrill <joel@…>

  • clock/p_clock.c, ide/pcmcia_ide.c, include/bsp.h, include/coverhd.h, irq/irq.c, irq/irq.h, irq/irq_asm.S, irq/irq_init.c, startup/bspstart.c, startup/bspstart.c.nocache, startup/imbx8xx.c, startup/mmutlbtab.c, startup/setvec.c, startup/start.S, vectors/vectors.h, vectors/vectors_init.c: URL for license changed.
  • Property mode set to 100644
File size: 16.3 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
15 *         all calling overhead including passing of arguments.
16 *
17 *  COPYRIGHT (c) 1989-1998.
18 *  On-Line Applications Research Corporation (OAR).
19 *
20 *  The license and distribution terms for this file may be
21 *  found in the file LICENSE in this distribution or at
22 *  http://www.rtems.com/license/LICENSE.
23 *
24 *  $Id$
25 */
26
27#ifndef __COVERHD_h
28#define __COVERHD_h
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#if ( defined(mbx821_001) || defined(mbx821_001b) || defined(mbx860_001b) )
35#if defined( INSTRUCTION_CACHE_ENABLE )
36/*
37 * 50 MHz processor, cache enabled.
38 */
39#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      0
40#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        0
41#define CALLING_OVERHEAD_TASK_CREATE               1
42#define CALLING_OVERHEAD_TASK_IDENT                0
43#define CALLING_OVERHEAD_TASK_START                0
44#define CALLING_OVERHEAD_TASK_RESTART              0
45#define CALLING_OVERHEAD_TASK_DELETE               0
46#define CALLING_OVERHEAD_TASK_SUSPEND              0
47#define CALLING_OVERHEAD_TASK_RESUME               0
48#define CALLING_OVERHEAD_TASK_SET_PRIORITY         0
49#define CALLING_OVERHEAD_TASK_MODE                 0
50#define CALLING_OVERHEAD_TASK_GET_NOTE             0
51#define CALLING_OVERHEAD_TASK_SET_NOTE             0
52#define CALLING_OVERHEAD_TASK_WAKE_WHEN            1
53#define CALLING_OVERHEAD_TASK_WAKE_AFTER           0
54#define CALLING_OVERHEAD_INTERRUPT_CATCH           0
55#define CALLING_OVERHEAD_CLOCK_GET                 1
56#define CALLING_OVERHEAD_CLOCK_SET                 1
57#define CALLING_OVERHEAD_CLOCK_TICK                0
58
59#define CALLING_OVERHEAD_TIMER_CREATE              0
60#define CALLING_OVERHEAD_TIMER_IDENT               0
61#define CALLING_OVERHEAD_TIMER_DELETE              0
62#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          0
63#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           1
64#define CALLING_OVERHEAD_TIMER_RESET               0
65#define CALLING_OVERHEAD_TIMER_CANCEL              0
66#define CALLING_OVERHEAD_SEMAPHORE_CREATE          0
67#define CALLING_OVERHEAD_SEMAPHORE_IDENT           0
68#define CALLING_OVERHEAD_SEMAPHORE_DELETE          0
69#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          0
70#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         0
71#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      0
72#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       0
73#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      0
74#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        0
75#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      0
76#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   0
77#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     0
78#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       0
79
80#define CALLING_OVERHEAD_EVENT_SEND                0
81#define CALLING_OVERHEAD_EVENT_RECEIVE             0
82#define CALLING_OVERHEAD_SIGNAL_CATCH              0
83#define CALLING_OVERHEAD_SIGNAL_SEND               0
84#define CALLING_OVERHEAD_PARTITION_CREATE          1
85#define CALLING_OVERHEAD_PARTITION_IDENT           0
86#define CALLING_OVERHEAD_PARTITION_DELETE          0
87#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      0
88#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   0
89#define CALLING_OVERHEAD_REGION_CREATE             1
90#define CALLING_OVERHEAD_REGION_IDENT              0
91#define CALLING_OVERHEAD_REGION_DELETE             0
92#define CALLING_OVERHEAD_REGION_GET_SEGMENT        0
93#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     0
94#define CALLING_OVERHEAD_PORT_CREATE               0
95#define CALLING_OVERHEAD_PORT_IDENT                0
96#define CALLING_OVERHEAD_PORT_DELETE               0
97#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0
98#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0
99
100#define CALLING_OVERHEAD_IO_INITIALIZE             0
101#define CALLING_OVERHEAD_IO_OPEN                   0
102#define CALLING_OVERHEAD_IO_CLOSE                  0
103#define CALLING_OVERHEAD_IO_READ                   0
104#define CALLING_OVERHEAD_IO_WRITE                  0
105#define CALLING_OVERHEAD_IO_CONTROL                0
106#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      0
107#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     0
108#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      0
109#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     0
110#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     0
111#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     0
112#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  0
113
114#else
115/*
116 * 50 MHz processor, cache disabled.
117 */
118#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      4
119#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        4
120#define CALLING_OVERHEAD_TASK_CREATE               7
121#define CALLING_OVERHEAD_TASK_IDENT                6
122#define CALLING_OVERHEAD_TASK_START                5
123#define CALLING_OVERHEAD_TASK_RESTART              5
124#define CALLING_OVERHEAD_TASK_DELETE               4
125#define CALLING_OVERHEAD_TASK_SUSPEND              4
126#define CALLING_OVERHEAD_TASK_RESUME               4
127#define CALLING_OVERHEAD_TASK_SET_PRIORITY         5
128#define CALLING_OVERHEAD_TASK_MODE                 5
129#define CALLING_OVERHEAD_TASK_GET_NOTE             5
130#define CALLING_OVERHEAD_TASK_SET_NOTE             5
131#define CALLING_OVERHEAD_TASK_WAKE_WHEN           19
132#define CALLING_OVERHEAD_TASK_WAKE_AFTER           4
133#define CALLING_OVERHEAD_INTERRUPT_CATCH           5
134#define CALLING_OVERHEAD_CLOCK_GET                20
135#define CALLING_OVERHEAD_CLOCK_SET                19
136#define CALLING_OVERHEAD_CLOCK_TICK                3
137
138#define CALLING_OVERHEAD_TIMER_CREATE              5
139#define CALLING_OVERHEAD_TIMER_IDENT               4
140#define CALLING_OVERHEAD_TIMER_DELETE              5
141#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          6
142#define CALLING_OVERHEAD_TIMER_FIRE_WHEN          21
143#define CALLING_OVERHEAD_TIMER_RESET               4
144#define CALLING_OVERHEAD_TIMER_CANCEL              4
145#define CALLING_OVERHEAD_SEMAPHORE_CREATE          6
146#define CALLING_OVERHEAD_SEMAPHORE_IDENT           4
147#define CALLING_OVERHEAD_SEMAPHORE_DELETE          6
148#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          5
149#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         4
150#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      6
151#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       6
152#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      4
153#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        5
154#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      5
155#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   5
156#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     6
157#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       5
158
159#define CALLING_OVERHEAD_EVENT_SEND                5
160#define CALLING_OVERHEAD_EVENT_RECEIVE             5
161#define CALLING_OVERHEAD_SIGNAL_CATCH              4
162#define CALLING_OVERHEAD_SIGNAL_SEND               5
163#define CALLING_OVERHEAD_PARTITION_CREATE          7
164#define CALLING_OVERHEAD_PARTITION_IDENT           6
165#define CALLING_OVERHEAD_PARTITION_DELETE          4
166#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      5
167#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   5
168#define CALLING_OVERHEAD_REGION_CREATE             7
169#define CALLING_OVERHEAD_REGION_IDENT              5
170#define CALLING_OVERHEAD_REGION_DELETE             4
171#define CALLING_OVERHEAD_REGION_GET_SEGMENT        6
172#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     5
173#define CALLING_OVERHEAD_PORT_CREATE               6
174#define CALLING_OVERHEAD_PORT_IDENT                5
175#define CALLING_OVERHEAD_PORT_DELETE               4
176#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 6
177#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 6
178
179#define CALLING_OVERHEAD_IO_INITIALIZE             6
180#define CALLING_OVERHEAD_IO_OPEN                   6
181#define CALLING_OVERHEAD_IO_CLOSE                  6
182#define CALLING_OVERHEAD_IO_READ                   6
183#define CALLING_OVERHEAD_IO_WRITE                  6
184#define CALLING_OVERHEAD_IO_CONTROL                6
185#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      4
186#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     5
187#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      5
188#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     4
189#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     4
190#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     5
191#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  3
192
193#endif /* defined( INSTRUCTION_CACHE_ENABLE ) */
194
195#else
196#if defined( INSTRUCTION_CACHE_ENABLE )
197/*
198 * 40 MHz processor, cache enabled.
199 */
200#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      0
201#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        1
202#define CALLING_OVERHEAD_TASK_CREATE               1
203#define CALLING_OVERHEAD_TASK_IDENT                0
204#define CALLING_OVERHEAD_TASK_START                0
205#define CALLING_OVERHEAD_TASK_RESTART              0
206#define CALLING_OVERHEAD_TASK_DELETE               0
207#define CALLING_OVERHEAD_TASK_SUSPEND              0
208#define CALLING_OVERHEAD_TASK_RESUME               0
209#define CALLING_OVERHEAD_TASK_SET_PRIORITY         0
210#define CALLING_OVERHEAD_TASK_MODE                 0
211#define CALLING_OVERHEAD_TASK_GET_NOTE             0
212#define CALLING_OVERHEAD_TASK_SET_NOTE             0
213#define CALLING_OVERHEAD_TASK_WAKE_WHEN            1
214#define CALLING_OVERHEAD_TASK_WAKE_AFTER           0
215#define CALLING_OVERHEAD_INTERRUPT_CATCH           0
216#define CALLING_OVERHEAD_CLOCK_GET                 1
217#define CALLING_OVERHEAD_CLOCK_SET                 1
218#define CALLING_OVERHEAD_CLOCK_TICK                0
219
220#define CALLING_OVERHEAD_TIMER_CREATE              0
221#define CALLING_OVERHEAD_TIMER_IDENT               0
222#define CALLING_OVERHEAD_TIMER_DELETE              0
223#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          0
224#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           1
225#define CALLING_OVERHEAD_TIMER_RESET               0
226#define CALLING_OVERHEAD_TIMER_CANCEL              0
227#define CALLING_OVERHEAD_SEMAPHORE_CREATE          0
228#define CALLING_OVERHEAD_SEMAPHORE_IDENT           0
229#define CALLING_OVERHEAD_SEMAPHORE_DELETE          0
230#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          0
231#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         0
232#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      0
233#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       0
234#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      0
235#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        0
236#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      0
237#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   0
238#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     0
239#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       0
240
241#define CALLING_OVERHEAD_EVENT_SEND                0
242#define CALLING_OVERHEAD_EVENT_RECEIVE             0
243#define CALLING_OVERHEAD_SIGNAL_CATCH              0
244#define CALLING_OVERHEAD_SIGNAL_SEND               0
245#define CALLING_OVERHEAD_PARTITION_CREATE          1
246#define CALLING_OVERHEAD_PARTITION_IDENT           0
247#define CALLING_OVERHEAD_PARTITION_DELETE          0
248#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      0
249#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   0
250#define CALLING_OVERHEAD_REGION_CREATE             1
251#define CALLING_OVERHEAD_REGION_IDENT              0
252#define CALLING_OVERHEAD_REGION_DELETE             0
253#define CALLING_OVERHEAD_REGION_GET_SEGMENT        0
254#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     0
255#define CALLING_OVERHEAD_PORT_CREATE               2
256#define CALLING_OVERHEAD_PORT_IDENT                0
257#define CALLING_OVERHEAD_PORT_DELETE               0
258#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0
259#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0
260
261#define CALLING_OVERHEAD_IO_INITIALIZE             0
262#define CALLING_OVERHEAD_IO_OPEN                   0
263#define CALLING_OVERHEAD_IO_CLOSE                  0
264#define CALLING_OVERHEAD_IO_READ                   0
265#define CALLING_OVERHEAD_IO_WRITE                  0
266#define CALLING_OVERHEAD_IO_CONTROL                0
267#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      0
268#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     0
269#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      0
270#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     0
271#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     0
272#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     0
273#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  0
274
275#else
276/*
277 * 40 MHz processor, cache disabled.
278 */
279#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      4
280#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        3
281#define CALLING_OVERHEAD_TASK_CREATE               6
282#define CALLING_OVERHEAD_TASK_IDENT                5
283#define CALLING_OVERHEAD_TASK_START                5
284#define CALLING_OVERHEAD_TASK_RESTART              4
285#define CALLING_OVERHEAD_TASK_DELETE               4
286#define CALLING_OVERHEAD_TASK_SUSPEND              4
287#define CALLING_OVERHEAD_TASK_RESUME               4
288#define CALLING_OVERHEAD_TASK_SET_PRIORITY         5
289#define CALLING_OVERHEAD_TASK_MODE                 4
290#define CALLING_OVERHEAD_TASK_GET_NOTE             5
291#define CALLING_OVERHEAD_TASK_SET_NOTE             5
292#define CALLING_OVERHEAD_TASK_WAKE_WHEN           17
293#define CALLING_OVERHEAD_TASK_WAKE_AFTER           3
294#define CALLING_OVERHEAD_INTERRUPT_CATCH           5
295#define CALLING_OVERHEAD_CLOCK_GET                17
296#define CALLING_OVERHEAD_CLOCK_SET                17
297#define CALLING_OVERHEAD_CLOCK_TICK                3
298
299#define CALLING_OVERHEAD_TIMER_CREATE              4
300#define CALLING_OVERHEAD_TIMER_IDENT               4
301#define CALLING_OVERHEAD_TIMER_DELETE              5
302#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          5
303#define CALLING_OVERHEAD_TIMER_FIRE_WHEN          19
304#define CALLING_OVERHEAD_TIMER_RESET               4
305#define CALLING_OVERHEAD_TIMER_CANCEL              4
306#define CALLING_OVERHEAD_SEMAPHORE_CREATE          6
307#define CALLING_OVERHEAD_SEMAPHORE_IDENT           4
308#define CALLING_OVERHEAD_SEMAPHORE_DELETE          5
309#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          5
310#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         4
311#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      5
312#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       5
313#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      4
314#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        4
315#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      4
316#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   5
317#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     5
318#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       4
319
320#define CALLING_OVERHEAD_EVENT_SEND                5
321#define CALLING_OVERHEAD_EVENT_RECEIVE             5
322#define CALLING_OVERHEAD_SIGNAL_CATCH              4
323#define CALLING_OVERHEAD_SIGNAL_SEND               4
324#define CALLING_OVERHEAD_PARTITION_CREATE          6
325#define CALLING_OVERHEAD_PARTITION_IDENT           5
326#define CALLING_OVERHEAD_PARTITION_DELETE          4
327#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      5
328#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   5
329#define CALLING_OVERHEAD_REGION_CREATE             6
330#define CALLING_OVERHEAD_REGION_IDENT              5
331#define CALLING_OVERHEAD_REGION_DELETE             4
332#define CALLING_OVERHEAD_REGION_GET_SEGMENT        6
333#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     5
334#define CALLING_OVERHEAD_PORT_CREATE               6
335#define CALLING_OVERHEAD_PORT_IDENT                5
336#define CALLING_OVERHEAD_PORT_DELETE               4
337#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 5
338#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 5
339
340#define CALLING_OVERHEAD_IO_INITIALIZE             5
341#define CALLING_OVERHEAD_IO_OPEN                   5
342#define CALLING_OVERHEAD_IO_CLOSE                  5
343#define CALLING_OVERHEAD_IO_READ                   5
344#define CALLING_OVERHEAD_IO_WRITE                  5
345#define CALLING_OVERHEAD_IO_CONTROL                5
346#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      3
347#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     4
348#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      5
349#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     4
350#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     4
351#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     4
352#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  3
353
354#endif /* defined( INSTRUCTION_CACHE_ENABLE ) */
355
356#endif
357
358#ifdef __cplusplus
359}
360#endif
361
362#endif
363/* end of include file */
Note: See TracBrowser for help on using the repository browser.