source: rtems/c/src/lib/libbsp/powerpc/haleakala/include/coverhd.h @ 279d83d3

4.115
Last change on this file since 279d83d3 was 279d83d3, checked in by Cynthia Rempel <cynt6007@…>, on 01/14/14 at 23:33:48

libbsp powerpc: Add Doxygen file header to coverhd.h

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