source: rtems/c/src/lib/libbsp/powerpc/mbx8xx/include/coverhd.h @ 88ee071

4.104.114.84.95
Last change on this file since 88ee071 was 182712f7, checked in by Joel Sherrill <joel.sherrill@…>, on 10/12/01 at 21:07:01

2001-10-12 Joel Sherrill <joel@…>

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