source: rtems/c/src/lib/libbsp/powerpc/psim/include/coverhd.h @ b6394ae

4.104.114.84.95
Last change on this file since b6394ae was b6394ae, checked in by Joel Sherrill <joel.sherrill@…>, on Apr 15, 1998 at 3:13:01 PM

Transitioned to shared bsp_libc_init() and cleaned up comments.

  • Property mode set to 100644
File size: 5.6 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 *  Copyright assigned to U.S. Government, 1994.
20 *
21 *  The license and distribution terms for this file may be
22 *  found in found in the file LICENSE in this distribution or at
23 *  http://www.OARcorp.com/rtems/license.html.
24 *
25 *  $Id$
26 */
27
28/*
29 *  Updated for a 25MHz Papyrus by Andrew Bray <andy@i-cubed.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.