source: rtems/c/src/lib/libbsp/powerpc/gen405/include/coverhd.h @ 57ed393

4.104.114.84.95
Last change on this file since 57ed393 was 57ed393, checked in by Joel Sherrill <joel.sherrill@…>, on Nov 8, 2001 at 11:46:58 PM

2001-11-08 Dennis Ehlin (ECS) <Dennis.Ehlin@…>

This modification is part of the submitted modifications necessary to
support the IBM PPC405 family. This submission was reviewed by
Thomas Doerfler <Thomas.Doerfler@…> who ensured it did
not negatively impact the ppc403 BSPs. The submission and tracking
process was captured as PR50.

  • ChangeLog?, Makefile.am, README, bsp_specs, bsp_specs.dl, configure.ac, times, dlentry/.cvsignore, dlentry/Makefile.am, dlentry/dlentry.S, include/.cvsignore, include/Makefile.am, include/bsp.h, include/bspopts.h.in, include/coverhd.h, startup/.cvsignore, startup/Makefile.am, startup/bspclean.c, startup/bspstart.c, startup/linkcmds, startup/linkcmds.dl, startup/setvec.c, wrapup/.cvsignore, wrapup/Makefile.am: New files that are part of the new gen405 BSP.
  • 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-1999.
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/*
28 *  Updated for a 25MHz Papyrus by Andrew Bray <andy@i-cubed.co.uk>
29 *
30 *  Units are 100ns.
31 *
32 *  These numbers are of questionable use, as they are developed by calling
33 *  the routine many times, thus getting its entry veneer into the (small)
34 *  cache on the 403GA.  This in general is not true of the RTEMS timing
35 *  tests, which usually call a routine only once, thus having no cache loaded
36 *  advantage.
37 *
38 *  Whether the directive times are useful after deducting the function call
39 *  overhead is also questionable.  The user is more interested generally
40 *  in the total cost of a directive, not the cost if the procedure call
41 *  is inlined!  (In general this is not true).
42 *
43 *  Andrew Bray 18/08/1995
44 *
45 */
46
47#ifndef __COVERHD_h
48#define __COVERHD_h
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      1
55#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        1
56#define CALLING_OVERHEAD_TASK_CREATE               3
57#define CALLING_OVERHEAD_TASK_IDENT                1
58#define CALLING_OVERHEAD_TASK_START                1
59#define CALLING_OVERHEAD_TASK_RESTART              1
60#define CALLING_OVERHEAD_TASK_DELETE               1
61#define CALLING_OVERHEAD_TASK_SUSPEND              1
62#define CALLING_OVERHEAD_TASK_RESUME               1
63#define CALLING_OVERHEAD_TASK_SET_PRIORITY         1
64#define CALLING_OVERHEAD_TASK_MODE                 1
65#define CALLING_OVERHEAD_TASK_GET_NOTE             1
66#define CALLING_OVERHEAD_TASK_SET_NOTE             1
67#define CALLING_OVERHEAD_TASK_WAKE_WHEN            4
68#define CALLING_OVERHEAD_TASK_WAKE_AFTER           1
69#define CALLING_OVERHEAD_INTERRUPT_CATCH           1
70#define CALLING_OVERHEAD_CLOCK_GET                 4
71#define CALLING_OVERHEAD_CLOCK_SET                 3
72#define CALLING_OVERHEAD_CLOCK_TICK                1
73
74#define CALLING_OVERHEAD_TIMER_CREATE              1
75#define CALLING_OVERHEAD_TIMER_IDENT               1
76#define CALLING_OVERHEAD_TIMER_DELETE              1
77#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          2
78#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           5
79#define CALLING_OVERHEAD_TIMER_RESET               1
80#define CALLING_OVERHEAD_TIMER_CANCEL              1
81#define CALLING_OVERHEAD_SEMAPHORE_CREATE          2
82#define CALLING_OVERHEAD_SEMAPHORE_IDENT           1
83#define CALLING_OVERHEAD_SEMAPHORE_DELETE          1
84#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          1
85#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         1
86#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      2
87#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       1
88#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      1
89#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        1
90#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      1
91#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   1
92#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     2
93#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       1
94
95#define CALLING_OVERHEAD_EVENT_SEND                1
96#define CALLING_OVERHEAD_EVENT_RECEIVE             2
97#define CALLING_OVERHEAD_SIGNAL_CATCH              1
98#define CALLING_OVERHEAD_SIGNAL_SEND               1
99#define CALLING_OVERHEAD_PARTITION_CREATE          3
100#define CALLING_OVERHEAD_PARTITION_IDENT           1
101#define CALLING_OVERHEAD_PARTITION_DELETE          1
102#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      1
103#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   1
104#define CALLING_OVERHEAD_REGION_CREATE             3
105#define CALLING_OVERHEAD_REGION_IDENT              1
106#define CALLING_OVERHEAD_REGION_DELETE             1
107#define CALLING_OVERHEAD_REGION_GET_SEGMENT        2
108#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     1
109#define CALLING_OVERHEAD_PORT_CREATE               2
110#define CALLING_OVERHEAD_PORT_IDENT                1
111#define CALLING_OVERHEAD_PORT_DELETE               1
112#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 1
113#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 2
114
115#define CALLING_OVERHEAD_IO_INITIALIZE             2
116#define CALLING_OVERHEAD_IO_OPEN                   2
117#define CALLING_OVERHEAD_IO_CLOSE                  2
118#define CALLING_OVERHEAD_IO_READ                   2
119#define CALLING_OVERHEAD_IO_WRITE                  2
120#define CALLING_OVERHEAD_IO_CONTROL                2
121#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      1
122#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     1
123#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      1
124#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     1
125#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     1
126#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     1
127#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  1
128
129#ifdef __cplusplus
130}
131#endif
132
133#endif
134/* end of include file */
Note: See TracBrowser for help on using the repository browser.