source: rtems/c/src/lib/libbsp/sh/gensh2/include/coverhd.h @ df49c60

4.104.114.84.95
Last change on this file since df49c60 was 4a238002, checked in by Joel Sherrill <joel.sherrill@…>, on 11/18/99 at 21:22:58

Patch from "John M. Mills" <jmills@…> with subsequent cleanup from
Ralf Corsepius <corsepiu@…> that adds initial Hitachi SH-2
support to RTEMS. Ralf's comments are:

Changes:
------

  1. SH-Port:
  • Many files renamed.
  • CONSOLE_DEVNAME and MHZ defines removed from libcpu.
  • console.c moved to libbsp/sh/shared, build in libbsp/sh/<BSP>/console applying VPATH.
  • CONSOLE_DEVNAME made BSP-specific, replacement is defined in bsp.h
  • MHZ define replaced with HZ (extendent resolution) in custom/*.cfg
  • -DHZ=HZ used in bspstart.c, only
  • Makefile variable HZ used in bsp-dependent directories only.
  1. SH1-Port
  • clock-driver rewritten to provide better resolution for odd CPU frequencies. This driver is only partially tested on hardware, ie. sightly experimental, but I don't expect severe problems with it.
  • Polling SCI-driver added. This driver is experimental and completly untested yet. Therefore it is not yet used for the console (/dev/console is still pointing to /dev/null, cf. gensh1/bsp.h).
  • minor changes to the timer driver
  • SH1 specific delay()/CPU_delay() now is implemented as a function
  1. SH2-Port
  • Merged
  • IMO, the code is still in its infancy. Therefore I have interspersed comments (FIXME) it for items which I think John should look after.
  • sci and console drivers partially rewritten and extended (John, I hope you don't mind).
  • Copyright notices are not yet adapted
  • Property mode set to 100644
File size: 5.5 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 all
15 *         all calling overhead including passing of arguments.
16 *
17 *
18 * These are the figures tmoverhd.exe reported with gcc-2.95.1 -O4
19 * on a Hitachi SH7045F Evaluation Board with SH7045F at 29 MHz
20 *
21 * These results are assumed to be applicable to most SH7045/29MHz boards
22 *
23 *  Author: John M.Mills (jmills@tga.com)
24 *
25 *  COPYRIGHT (c) 1999. TGA Technologies, Inc., Norcross, GA, USA
26 *
27 *  This program is distributed in the hope that it will be useful,
28 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
29 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
30 *
31 *  The license and distribution terms for this file may be
32 *  found in the file LICENSE in this distribution or at
33 *  http://www.OARcorp.com/rtems/license.html.
34 *
35 *  This file may be copied and distributed in accordance
36 *  the above-referenced license. It is provided for critique and
37 *  developmental purposes without any warranty nor representation
38 *  by the authors or by TGA Technologies.
39 *
40 *  $Id$
41 */
42
43#ifndef __COVERHD_h
44#define __COVERHD_h
45
46#ifdef __cplusplus
47extern "C" {
48#endif
49
50#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      1
51#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        1
52#define CALLING_OVERHEAD_TASK_CREATE               2
53#define CALLING_OVERHEAD_TASK_IDENT                1
54#define CALLING_OVERHEAD_TASK_START                1
55#define CALLING_OVERHEAD_TASK_RESTART              1
56#define CALLING_OVERHEAD_TASK_DELETE               1
57#define CALLING_OVERHEAD_TASK_SUSPEND              1
58#define CALLING_OVERHEAD_TASK_RESUME               1
59#define CALLING_OVERHEAD_TASK_SET_PRIORITY         1
60#define CALLING_OVERHEAD_TASK_MODE                 1
61#define CALLING_OVERHEAD_TASK_GET_NOTE             1
62#define CALLING_OVERHEAD_TASK_SET_NOTE             1
63#define CALLING_OVERHEAD_TASK_WAKE_WHEN            2
64#define CALLING_OVERHEAD_TASK_WAKE_AFTER           1
65#define CALLING_OVERHEAD_INTERRUPT_CATCH           1
66#define CALLING_OVERHEAD_CLOCK_GET                 3
67#define CALLING_OVERHEAD_CLOCK_SET                 2
68#define CALLING_OVERHEAD_CLOCK_TICK                1
69
70#define CALLING_OVERHEAD_TIMER_CREATE              1
71#define CALLING_OVERHEAD_TIMER_IDENT               1
72#define CALLING_OVERHEAD_TIMER_DELETE              1
73#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          1
74#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           3
75#define CALLING_OVERHEAD_TIMER_RESET               1
76#define CALLING_OVERHEAD_TIMER_CANCEL              1
77#define CALLING_OVERHEAD_SEMAPHORE_CREATE          1
78#define CALLING_OVERHEAD_SEMAPHORE_IDENT           1
79#define CALLING_OVERHEAD_SEMAPHORE_DELETE          1
80#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          1
81#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         1
82#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      1
83#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       1
84#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      1
85#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        1
86#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      1
87#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   1
88#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     1
89#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       1
90
91#define CALLING_OVERHEAD_EVENT_SEND                1
92#define CALLING_OVERHEAD_EVENT_RECEIVE             1
93#define CALLING_OVERHEAD_SIGNAL_CATCH              1
94#define CALLING_OVERHEAD_SIGNAL_SEND               1
95#define CALLING_OVERHEAD_PARTITION_CREATE          2
96#define CALLING_OVERHEAD_PARTITION_IDENT           1
97#define CALLING_OVERHEAD_PARTITION_DELETE          1
98#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      1
99#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   1
100#define CALLING_OVERHEAD_REGION_CREATE             2
101#define CALLING_OVERHEAD_REGION_IDENT              1
102#define CALLING_OVERHEAD_REGION_DELETE             1
103#define CALLING_OVERHEAD_REGION_GET_SEGMENT        2
104#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     1
105#define CALLING_OVERHEAD_PORT_CREATE               2
106#define CALLING_OVERHEAD_PORT_IDENT                1
107#define CALLING_OVERHEAD_PORT_DELETE               1
108#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 1
109#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 1
110
111#define CALLING_OVERHEAD_IO_INITIALIZE             1
112#define CALLING_OVERHEAD_IO_OPEN                   1
113#define CALLING_OVERHEAD_IO_CLOSE                  1
114#define CALLING_OVERHEAD_IO_READ                   1
115#define CALLING_OVERHEAD_IO_WRITE                  1
116#define CALLING_OVERHEAD_IO_CONTROL                1
117#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      1
118#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     1
119#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      1
120#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     1
121#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     1
122#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     1
123#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  1
124
125#ifdef __cplusplus
126}
127#endif
128
129#endif
130/* end of include file */
Note: See TracBrowser for help on using the repository browser.