annotate packages/infra/current/include/cyg_trac.h @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children c38311975d4f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_INFRA_CYG_TRAC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_INFRA_CYG_TRAC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
6 // cyg_trac.h
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
8 // Macros and prototypes for the tracing system
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
10 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
11 //####COPYRIGHTBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
12 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
13 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
14 // The contents of this file are subject to the Cygnus eCos Public License
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
15 // Version 1.0 (the "License"); you may not use this file except in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
16 // compliance with the License. You may obtain a copy of the License at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
17 // http://sourceware.cygnus.com/ecos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
18 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
19 // Software distributed under the License is distributed on an "AS IS"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
21 // License for the specific language governing rights and limitations under
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
22 // the License.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
23 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
24 // The Original Code is eCos - Embedded Cygnus Operating System, released
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
25 // September 30, 1998.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
26 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
27 // The Initial Developer of the Original Code is Cygnus. Portions created
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
28 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
29 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
30 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
31 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
32 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
34 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
35 // Author(s): nickg from an original by hmt
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
36 // Contributors: nickg
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
37 // Date: 1998-04-23
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
38 // Purpose: Use traces to log procedure entry, and "print" stuff
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
39 // Description: Runtime logging messages that compile to nothing in
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 // release versions of the code, to allow
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 // as-you-go tracing of alternate builds.
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
42 // Usage: #include <cyg/infra/cyg_trac.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
43 // ...
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
44 // CYG_TRACE2( PIPE_TRACE, "pipe %x, data %d", ppipe, oword );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 // which can result, for example, in a message of the form:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47 // "TRACE: pipemgr.cxx:1340, write_pipe(): pipe 0x8004c, data 17"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 /****************************************************************************
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 Explicit tracing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55 ================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57 CYG_TRACE0( bool, msg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 CYG_TRACE1( bool, msg, arg1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59 CYG_TRACE2( bool, msg, arg1, arg2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 ....
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 CYG_TRACE8( bool, msg, .... [with 8 args] );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 In general, the bool controls whether or not the tracing occurs for a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 particular invocation of the macro. The msg is a printf-style string,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65 though exactly which formats are supported depends on the underlying
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 implementation. Typically, at least %d, %x, %08x, %c and %s will be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 supported. Of course a most compact implementation might print
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 TRACE:z1dbuff.c[92]get_nextdata(): data pointer %x offset %d: 42BD8 1C
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 or some such, leaving you to work it out for yourself.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 It is expected that the boolean would rarely actually be a complex
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 expression; it is more likely that it would either be "1", tracing being
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 controlled for the whole compilation unit or subsystem by means of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 CYGDBG_USE_TRACING symbol, or a local symbol for tracing over the whole
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77 file, defined to 0 or to 1. For runtime control of tracing in a debugging
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 session, it is typical to use symbols defined to expressions such as:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 static int xxx_trace = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 #define TL1 (0 < xxx_trace)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 #define TL2 (1 < xxx_trace)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 so you set xxx_trace to 1 to enable those messages conditioned by TL1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85 (trace level 1) and so on.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 CYG_TRACE1( TL1, "Major argument is %d", zz );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 CYG_TRACE4( TL2, "...minor details %d %d %d %d", m1, m2, m3 ,m4 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 To assist with the case where the same symbol or expression is used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 throughout a compilation unit, the programmer can define the symbol
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 CYG_TRACE_USER_BOOL as they choose and then use convenience macros with the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 suffix 'B' in the obvious manner:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 #define CYG_TRACE_USER_BOOL (xxx_trace > 0)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 CYG_TRACE2B( "Counters are %d, %d", countlo, counthi );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98 For the case where you just want to print a load of numbers in hex, or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 decimal, convenience suffices X, D and Y are provided. X uses %08x, D %d
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 and Y an unadorned %x for each argument.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 CYG_TRACE3D( TL2, m1, m2, d );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 If you want to do something similar but with a little more comment, the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 names (strictly spellings) of the variables you are printing can be used by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 appending a V to the X, D or Y.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 CYG_TRACE3DV( TL2, m1, m2, d );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 might output:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 TRACE:z1dbuff.c[92]get_nextdata(): m1=23 m2=-4 d=55
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 These conveniences can be combined, and they apply equally to tracing with
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 up to 8 variables; the B for Bool goes last:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 CYG_TRACE4DVB( i, i*i, i*i*i, i*i*i*i );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 might output:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 TRACE:table.c[12]main(): i=3 i*i=9 i*i*i=27 i*i*i*i=81
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 Function Tracing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125 ================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 There are also facities for easily reporting function entry and exit,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128 printing the function arguments, and detecting returns without logging (or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129 without a value!).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131 The basic facility is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
133 CYG_REPORT_FUNCTION();
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135 In C, place this between the local variable declarations and the first
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 statement or errors will ensue. C++ is more flexible; place the macro as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137 the first line of all functions you wish to trace. The following
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 variations are also provided:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 CYG_REPORT_FUNCTYPE( exitmsg ) provide a printf string for the type
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
141 of the returned value
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142 CYG_REPORT_FUNCNAME( name ) supply a function name explicitly, for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143 if __FUNCTION__ is not supported
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both of the above extensions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 These are unconditional; the assumption is that if function reporting is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147 used at all it will be used for all functions within a compilation unit.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148 However, it is useful to be able to control function reporting at finer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 grain without editing the source files concerned, at compile time or at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150 runtime. To support this, conditioned versions (with suffix 'C') are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 provided for the above four macros, which only procduce trace output if the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 macro CYG_REPORT_USER_BOOL evaluates true.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 CYG_REPORT_FUNCTIONC()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155 CYG_REPORT_FUNCNAMEC( name )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 CYG_REPORT_FUNCTYPEC( exitmsg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 CYG_REPORT_FUNCNAMETYPEC( name, exitmsg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 You can define CYG_REPORT_USER_BOOL to anything you like before invoking
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160 these macros; using a simple -DCYG_REPORT_USER_BOOL=0 or ...=1 on the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 compiler command line would do the trick, but there is more flexibility to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
162 be gained by something like:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
163
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
164 #define CYG_REPORT_USER_BOOL (reporting_bool_FOO)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
165 #ifdef TRACE_FOO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166 int reporting_bool_FOO = 1;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
168 int reporting_bool_FOO = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
169 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
170
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
171 where FOO relates to the module name. Thus an external symbol sets the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
172 default, but it can be overridden in a debugging session by setting the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173 variable reporting_bool_FOO.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
174
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
175 Note that the condition applied to the initial CYG_REPORT_FUNC...() macro
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
176 controls all function-related reporting (not tracing) from that function;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
177 the underlying mechanisms still operate even if no output is created. Thus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178 no conditioned variants of CYG_REPORT_FUNCARG[s] nor of CYG_REPORT_RETURN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
179 are needed.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 Examples:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
182 int myfunction()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
184 CYG_REPORT_FUNCTYPE( "recode is %d" );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 A function return is traced using
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
188 CYG_REPORT_RETURN() a void return
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
189 CYG_REPORT_RETVAL( value ) returning a value
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
190
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 With the CYG_REPORT_FUNCTYPE example, the latter might produce a message
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192 like:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194 TRACE:myprog.c[40]fact(): enter
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 TRACE:myprog.c[53]fact(): retcode is 24
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197 It is also useful to trace the values of the arguments to a function:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
198 CYG_REPORT_FUNCARGVOID confirms that the function is void
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
199 CYG_REPORT_FUNCARG1( format, arg ) printf-style
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
200 to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
201 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203 The CYG_REPORT_FUNCARG[1-8] macros are also offered with the convenience
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204 extensions: D, X, or Y, and V like the explicit tracing macros. For
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 example:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 int fact( int number )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
209 CYG_REPORT_FUNCTYPE( "recode is %d" );
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
210 CYG_REPORT_FUNCARG1DV( number );
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
211 int result = number;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
212 while ( --number > 1 ) result *= number
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
213 CYG_REPORT_RETVAL( result );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214 return result;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 might produce:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219 TRACE:myprog.c[40]fact(): enter
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 TRACE:myprog.c[40]fact(): number=4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221 TRACE:myprog.c[53]fact(): retcode is 24
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223 If no exit message is provided, a default of %08x is used.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 General Configury
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227 =================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229 If CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO is *not* defined, it is assumed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 that __PRETTY_FUNCTION__ or equivalents do not exist, so no function name
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231 tracing is possible; only file and line number.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 If CYGDBG_INFRA_DEBUG_TRACE_MESSAGE is *not* defined, the message and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 arguments to all tracing macros are not used; only "execution was here"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 type information, by file, function and line number, is available. This
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236 can greatly reduce the size of an image with tracing disabled, which may be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237 crucial in debugging on actual shipped hardware with limited memory.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 C/C++: in C++ the function reporting is implemented using a class object
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240 with a destructor; this allows reporting of a return which has not been
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 explicitly reported, and detection of accidental multiple return reports.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242 This helps you write the function reporting correctly. In C it is not
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243 possible to be so sophisticated, so the implementation is not so helpful in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 detecting errors in the use of the tracing system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 Note that for all of the above variations, the internal API to the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247 functions which are called in consequence of tracing remains the same, so
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 these variations can be mixed in the same executable, by configuring the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249 tracing macros differently in different compilation units or subsystems.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 Summary
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 =======
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255 Explicit tracing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
256 ----------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
257
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
258 CYG_TRACE0( bool, msg ) if bool, print msg
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
259 CYG_TRACE1( bool, msg, arg ) if bool, printf-style
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
260 to
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
261 CYG_TRACE8( bool, msg, arg1...arg8 ) if bool, printf-style
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
262
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
263 CYG_TRACE0B( msg, args... ) to CYG_TRACE8B() use CYG_TRACE_USER_BOOL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
264
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
265 CYG_TRACE1X( bool, args... ) to CYG_TRACE8X() print args using %08x
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
266 CYG_TRACE1Y( bool, args... ) to CYG_TRACE8Y() print args using %x
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
267 CYG_TRACE1D( bool, args... ) to CYG_TRACE8D() print args using %d
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
268
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
269 CYG_TRACE1XV( bool, args... ) to CYG_TRACE8XV() print args using "arg=%08x"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
270 CYG_TRACE1YV( bool, args... ) to CYG_TRACE8YV() print args using "arg=%x"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
271 CYG_TRACE1DV( bool, args... ) to CYG_TRACE8DV() print args using "arg=%d"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
272
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
273 CYG_TRACE1XB( args... ) to CYG_TRACE8XB() print using %08x, no bool
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
274 CYG_TRACE1YB( args... ) to CYG_TRACE8YB() print using %x, no bool
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
275 CYG_TRACE1DB( args... ) to CYG_TRACE8DB() print using %d, no bool
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
276
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
277 CYG_TRACE1XVB( args... ) to CYG_TRACE8XVB() use "arg=%08x", no bool
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
278 CYG_TRACE1YVB( args... ) to CYG_TRACE8YVB() use "arg=%x", no bool
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
279 CYG_TRACE1DVB( args... ) to CYG_TRACE8DVB() use "arg=%d", no bool
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281 Function tracing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 ----------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
284 CYG_REPORT_FUNCTION() default function entry
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
285 CYG_REPORT_FUNCNAME( name ) name the function
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
286 CYG_REPORT_FUNCTYPE( exitmsg ) printf for retval
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
287 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
289 CYG_REPORT_FUNCTIONC() as above, but conditional
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
290 CYG_REPORT_FUNCNAMEC( name ) on CYG_REPORT_USER_BOOL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
291 CYG_REPORT_FUNCTYPEC( exitmsg ) however it is defined
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
292 CYG_REPORT_FUNCNAMETYPEC( name, exitmsg ) ...
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
293
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
294 CYG_REPORT_RETURN() void function exit
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
295 CYG_REPORT_RETVAL( value ) returning value
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
296
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
297 CYG_REPORT_FUNCARGVOID() void function entry
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
298 CYG_REPORT_FUNCARG1( format, arg ) printf-style
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
299 to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
300 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
301
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
302 CYG_REPORT_FUNCARG1X( arg )
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
303 to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
304 CYG_REPORT_FUNCARG8X( arg1...arg8 ) use %08x
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
305 CYG_REPORT_FUNCARG1Y... use %x
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
306 CYG_REPORT_FUNCARG1D... use %d
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
307
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
308 CYG_REPORT_FUNCARG1XV... use "arg=%08x"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
309 CYG_REPORT_FUNCARG1YV... use "arg=%x"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
310 CYG_REPORT_FUNCARG1DV... use "arg=%d"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
311
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
312
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
313 ---------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
314
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
315 Internal Documentation
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
316 ======================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
317
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
318 The required functions which are used by the tracing macros are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
319
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
320 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
321 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
322
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 cyg_tracemsg( cyg_uint32 what,
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
325 char *psz_func, char *psz_file, cyg_uint32 linenum,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
326 char *psz_msg );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
327
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
329 cyg_tracemsg2( cyg_uint32 what,
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
330 char *psz_func, char *psz_file, cyg_uint32 linenum,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
331 char *psz_msg,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
332 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
333 // extended in the obvious way for 4,6,8 arguments
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
334
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335 These functions should expect psz_func and psz_file to possibly be NULL in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 case those facilities are not available in the compilation environment, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 do something safe in such cases. A NULL message should really be dealt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338 with safely also, just logging "execution here" info like cyg_tracenomsg().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340 Discussion of possible underlying implementations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 -------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 It is intended that the functions that get called can simply print the info
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 they are given in as fancy a format as you like, or they could do the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345 printf-type formatting and log the resulting text in a buffer. They get
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 told the type of event (function-entry, function-arguments, function-exit
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347 or plain tracing info) and so can perform fancy indenting, for example, to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 make call stack inspection more obvious to humans. It is also intended
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349 that a more compact logging arrangement be possible, for example one which
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 records, in 32-bit words (CYG_ADDRWORDs), the addresses of the file,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 function and msg strings, the line number and the arguments. This has the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352 implication that the msg string should not be constructed dynamically but
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 be static ie. a plain quoted C string. The number of arguments also must
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
354 be recorded, and if it is chosen to save string arguments in the buffer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
355 rather than just their addresses (which could be invalid by the time the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 logged information is processed) some flagging of which arguments are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357 strings must be provided. The system could also be extended to deal with
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 floats of whichever size fir in a CYG_ADDRWORD; these would probably
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359 require special treatment also. With these considerations in mind, the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 maximum number of parameters in a single trace message has been set to 8,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361 so that a byte bitset could be used to indicate which arguments are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 strings, another for those which are floats, and the count of arguments
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363 also fits in a byte as number or a bitset.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 ****************************************************************************/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 #include <pkgconf/infra.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370 #include <cyg/infra/cyg_ass.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 // CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO is dealt with in cyg_ass.h.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 #ifdef CYGDBG_USE_TRACING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 // We define macros and appropriate prototypes for the trace/fail
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 // system. These are:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
381 // CYG_TRACE0..8 - trace if boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
382 // CYG_TRACEPROC - default no comment proc entry
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
383 // CYG_TRACEPROCOUT - default no comment proc exit
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
385 // these are executed to deal with tracing - breakpoint?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
389
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 // provide every other one of these as a space/caller bloat compromise.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 # ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 enum cyg_trace_what{
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 cyg_trace_trace = 0,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396 cyg_trace_enter,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
397 cyg_trace_args,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
398 cyg_trace_return,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
399 // cyg_trace_,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
400 // cyg_trace_,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
401 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
402
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404 cyg_tracemsg( cyg_uint32 what,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 char *psz_func, char *psz_file, cyg_uint32 linenum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406 char *psz_msg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409 cyg_tracemsg2( cyg_uint32 what,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410 char *psz_func, char *psz_file, cyg_uint32 linenum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 char *psz_msg,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 cyg_tracemsg4( cyg_uint32 what,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
415 char *psz_func, char *psz_file, cyg_uint32 linenum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 char *psz_msg,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 CYG_ADDRWORD arg2, CYG_ADDRWORD arg3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 cyg_tracemsg6( cyg_uint32 what,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421 char *psz_func, char *psz_file, cyg_uint32 linenum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422 char *psz_msg,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424 CYG_ADDRWORD arg2, CYG_ADDRWORD arg3,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425 CYG_ADDRWORD arg4, CYG_ADDRWORD arg5 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427 cyg_tracemsg8( cyg_uint32 what,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 char *psz_func, char *psz_file, cyg_uint32 linenum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 char *psz_msg,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431 CYG_ADDRWORD arg2, CYG_ADDRWORD arg3,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 CYG_ADDRWORD arg4, CYG_ADDRWORD arg5,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433 CYG_ADDRWORD arg6, CYG_ADDRWORD arg7 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435 #endif // CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 # ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441 # define CYG_TRACE_docall0( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
442 cyg_tracemsg( cyg_trace_trace, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445 # define CYG_TRACE_docall2( _msg_, _arg0_, _arg1_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
446 cyg_tracemsg2( cyg_trace_trace, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
447 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
448 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_ );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
451 cyg_tracemsg4( cyg_trace_trace, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
457 _arg4_, _arg5_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
458 cyg_tracemsg6( cyg_trace_trace, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
461 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
464 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
465 _arg4_, _arg5_, _arg6_, _arg7_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
466 cyg_tracemsg8( cyg_trace_trace, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
468 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
469 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
470 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471 (CYG_ADDRWORD)_arg6_, (CYG_ADDRWORD)_arg7_ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 # else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 # define CYG_TRACE_docall0( _msg_ ) \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 # define CYG_TRACE_docall2( _msg_, _arg0_, _arg1_ ) \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
485 _arg4_, _arg5_ ) \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
487
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
488 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_, _arg2_, _arg3_, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
489 _arg4_, _arg5_, _arg6_, _arg7_ ) \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
492 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
493
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
494 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
495 // Conditioned trace; if the condition is false, fail.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
496
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
497 #define CYG_TRACE0( _bool_, _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
498 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
499 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
500 CYG_TRACE_docall0( _msg_ ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
501 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
502
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
503 #define CYG_TRACE1( _bool_, _msg_, a ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
504 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
505 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
506 CYG_TRACE_docall2( _msg_, a, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
507 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
508
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
509 #define CYG_TRACE2( _bool_, _msg_, a, b ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
510 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
511 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
512 CYG_TRACE_docall2( _msg_, a, b ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
513 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
514
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
515 #define CYG_TRACE3( _bool_, _msg_, a, b, c ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
516 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
517 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
518 CYG_TRACE_docall4( _msg_, a, b, c, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
519 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
520
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
521 #define CYG_TRACE4( _bool_, _msg_, a, b, c, d ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
522 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
523 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
524 CYG_TRACE_docall4( _msg_, a, b, c, d ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
525 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
526
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
527 #define CYG_TRACE5( _bool_, _msg_, a, b, c, d, e ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
528 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
529 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
530 CYG_TRACE_docall6( _msg_, a, b, c, d, e, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
531 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
532
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
533 #define CYG_TRACE6( _bool_, _msg_, a, b, c, d, e, f ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
534 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
535 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
536 CYG_TRACE_docall6( _msg_, a, b, c, d, e, f ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
537 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
538
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
539 #define CYG_TRACE7( _bool_, _msg_, a, b, c, d, e, f, g ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
540 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
541 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
542 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
543 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
544
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
545 #define CYG_TRACE8( _bool_, _msg_, a, b, c, d, e, f, g, h ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
546 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
547 if ( ( _bool_ ) ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
548 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, h ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
549 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
550
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
551 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
552 // Report function entry and exit.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
553 // In C++ the macro CYG_REPORT_FUNCTION should appear as the first line of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
554 // any function. It will generate a message whenever the function is entered
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
555 // and when it is exited.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
556 // In C the macro should appear as the first statement after any local variable
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
557 // definitions. No exit message will be generated unless CYG_REPORT_RETURN is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
558 // placed just before each return.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
559 // Where a piece of code is to be compiled with both C and C++, the above
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
560 // rules for C should be followed.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
561
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
562 #ifdef CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
563
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
564 #ifdef __cplusplus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
565
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
566 class Cyg_TraceFunction_Report_
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
567 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
568 public:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
569 int cond;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
570 char *func;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
571 char *file;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
572 cyg_uint32 lnum;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
573 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
574 char *exitmsg;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
575 CYG_ADDRWORD exitvalue;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
576 enum { UNSET = 0, SET, VOID } exitset;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
577 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
578
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
579 Cyg_TraceFunction_Report_(
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
580 int condition, char *psz_func, char *psz_file,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
581 cyg_uint32 linenum)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
582 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
583 cond = condition;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
584 func = psz_func;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
585 file = psz_file;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
586 lnum = linenum;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
587
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
588 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
589 exitmsg = NULL;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
590 exitset = UNSET;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
591 if ( cond )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
592 cyg_tracemsg( cyg_trace_enter, func, file, lnum, "enter");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
593 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
594 if ( cond )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
595 cyg_tracenomsg( func, file, lnum );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
596 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
597 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
598
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
599 Cyg_TraceFunction_Report_(
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
600 int condition, char *psz_func, char *psz_file,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
601 cyg_uint32 linenum, char *psz_exitmsg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
602 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
603 cond = condition;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
604 func = psz_func;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
605 file = psz_file;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
606 lnum = linenum;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
607 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
608 exitmsg = psz_exitmsg;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
609 exitset = UNSET;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
610 if ( cond )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
611 cyg_tracemsg( cyg_trace_enter, func, file, lnum, "enter");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
612 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
613 CYG_UNUSED_PARAM( char *, psz_exitmsg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
614 if ( cond )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
615 cyg_tracenomsg( func, file, lnum );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
616 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
617 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
618
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
619 inline void set_exitvoid( cyg_uint32 linenum )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
620 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
621 lnum = linenum;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
622 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
623 CYG_ASSERT( NULL == exitmsg, "exitvoid used in typed function" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
624 CYG_ASSERT( UNSET == exitset, "exitvoid used when arg already set" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
625 exitset = VOID;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
626 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
627 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
628
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
629 inline void set_exitvalue( cyg_uint32 linenum, CYG_ADDRWORD retcode )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
630 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
631 lnum = linenum;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
632 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
633 CYG_ASSERT( UNSET == exitset, "exitvalue used when arg already set" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
634 exitvalue = retcode;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
635 exitset = SET;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
636 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
637 CYG_UNUSED_PARAM( CYG_ADDRWORD, retcode );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
638 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
639 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
640
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
641 ~Cyg_TraceFunction_Report_()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
642 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
643 if ( cond ) {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
644 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
645 if ( VOID == exitset )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
646 cyg_tracemsg( cyg_trace_return, func, file, lnum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
647 "return void");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
648 else if ( UNSET == exitset )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
649 cyg_tracemsg( cyg_trace_return, func, file, lnum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
650 "RETURNING UNSET!");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
651 else if ( NULL == exitmsg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
652 cyg_tracemsg2( cyg_trace_return, func, file, lnum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
653 "return %08x", exitvalue, 0 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
654 else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
655 cyg_tracemsg2( cyg_trace_return, func, file, lnum,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
656 exitmsg, exitvalue, 0 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
657 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
658 cyg_tracenomsg( func, file, lnum );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
659 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
660 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
661 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
662 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
663
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
664 // These have no CYG_MACRO_START,END around because it is required
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
665 // that the scope of the object be the whole function body. Get it?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
666
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
667 // These are the unconditional versions:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
668 #define CYG_REPORT_FUNCTION() \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
669 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
670 1, __PRETTY_FUNCTION__, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
671 __FILE__, __LINE__ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
672
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
673 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
674 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
675 1, __PRETTY_FUNCTION__, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
676 __FILE__, __LINE__, _exitmsg_ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
677
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
678 #define CYG_REPORT_FUNCNAME( _name_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
679 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
680 1, _name_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
681 __FILE__, __LINE__ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
682
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
683 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
684 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
685 1, _name_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
686 __FILE__, __LINE__, _exitmsg_ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
687
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
688 // These are conditioned on macro CYG_REPORT_USER_BOOL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
689 // (which you better have defined)
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
690 #define CYG_REPORT_FUNCTIONC() \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
691 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
692 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
693 __FILE__, __LINE__ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
694
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
695 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
696 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
697 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
698 __FILE__, __LINE__, _exitmsg_ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
699
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
700 #define CYG_REPORT_FUNCNAMEC( _name_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
701 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
702 CYG_REPORT_USER_BOOL, _name_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
703 __FILE__, __LINE__ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
704
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
705 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
706 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
707 CYG_REPORT_USER_BOOL, _name_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
708 __FILE__, __LINE__, _exitmsg_ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
709
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
710
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
711 #define CYG_REPORT_RETURN() CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
712 cyg_tracefunction_report_.set_exitvoid( __LINE__ ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
713 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
714
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
715 #define CYG_REPORT_RETVAL( _value_) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
716 cyg_tracefunction_report_.set_exitvalue( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
717 __LINE__, (CYG_ADDRWORD)(_value_) ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
718 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
719
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
720
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
721 #else // not __cplusplus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
722
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
723
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
724 struct Cyg_TraceFunction_Report_
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
725 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
726 int cond;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
727 char *func;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
728 char *file; /* not strictly needed in plain 'C' */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
729 cyg_uint32 lnum; /* nor this */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
730 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
731 char *exitmsg;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
732 CYG_ADDRWORD exitvalue;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
733 int exitset;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
734 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
735
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
736 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
737
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
738 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
739
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
740 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
741 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
742 cyg_tracemsg( cyg_trace_enter, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
743 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
744 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
745 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
746 "enter" ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
747 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
748
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
749 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
750 { _c_, _fn_, _fl_, _l_, _xm_, _xv_, _xs_ }
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
751
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
752 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
753
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
754 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
755 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
756 cyg_tracenomsg( cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
757 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
758 cyg_tracefunction_report_.lnum ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
759 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
760
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
761 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
762 { _c_, _fn_, _fl_, _l_ }
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
763
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
764 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
765
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
766 // These have no CYG_MACRO_START,END around because it is required
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
767 // that the scope of the object be the whole function body. Get it?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
768
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
769 // These are the unconditional versions:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
770 #define CYG_REPORT_FUNCTION() \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
771 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
772 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
773 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
774 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
775
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
776 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
777 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
778 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
779 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
780 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
781
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
782 #define CYG_REPORT_FUNCNAME( _name_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
783 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
784 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
785 1, _name_, __FILE__, __LINE__, NULL, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
786 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
787
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
788 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
789 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
790 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
791 1, _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
792 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
793
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
794 // These are conditioned on macro CYG_REPORT_USER_BOOL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
795 // (which you better have defined)
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
796 #define CYG_REPORT_FUNCTIONC() \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
797 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
798 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
799 CYG_REPORT_USER_BOOL, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
800 __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
801 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
802
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
803 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
804 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
805 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
806 CYG_REPORT_USER_BOOL, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
807 __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
808 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
809
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
810 #define CYG_REPORT_FUNCNAMEC( _name_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
811 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
812 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
813 CYG_REPORT_USER_BOOL, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
814 _name_, __FILE__, __LINE__, NULL, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
815 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
816
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
817 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
818 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
819 CYG_REPORT_FUNCTION_CONSTRUCT( \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
820 CYG_REPORT_USER_BOOL, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
821 _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
822 CYG_REPORT_FUNCTION_ENTER_INTERNAL()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
823
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
824 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
825
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
826 #define CYG_REPORT_RETURN() CYG_MACRO_START \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
827 CYG_ASSERT( NULL == cyg_tracefunction_report_.exitmsg, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
828 "exitvoid used in typed function" ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
829 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
830 "exitvoid used when arg already set" ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
831 cyg_tracefunction_report_.lnum = __LINE__; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
832 cyg_tracefunction_report_.exitset = 2; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
833 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
834 cyg_tracemsg( cyg_trace_return, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
835 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
836 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
837 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
838 "return void" ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
839 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
840
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
841 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
842 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
843 "exitvalue used when arg already set" ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
844 cyg_tracefunction_report_.lnum = __LINE__; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
845 cyg_tracefunction_report_.exitvalue = (CYG_ADDRWORD)(_value_); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
846 cyg_tracefunction_report_.exitset = 1; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
847 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
848 cyg_tracemsg2( cyg_trace_return, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
849 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
850 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
851 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
852 cyg_tracefunction_report_.exitmsg ? \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
853 cyg_tracefunction_report_.exitmsg : \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
854 "return %08x", \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
855 cyg_tracefunction_report_.exitvalue, 0 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
856 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
857
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
858 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
859
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
860 #define CYG_REPORT_RETURN() CYG_MACRO_START \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
861 cyg_tracefunction_report_.lnum = __LINE__; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
862 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
863 cyg_tracenomsg( cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
864 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
865 cyg_tracefunction_report_.lnum ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
866 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
867
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
868 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
869 CYG_REPORT_RETURN(); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
870 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
871
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
872 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
873
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
874 #endif // not __cplusplus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
875
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
876 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
877
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
878 #define CYG_REPORT_FUNCARGVOID() CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
879 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
880 cyg_tracemsg( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
881 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
882 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
883 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
884 "(void)" \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
885 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
886 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
887
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
888 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
889 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
890 cyg_tracemsg2( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
891 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
892 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
893 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
894 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
895 (CYG_ADDRWORD)a , 0 \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
896 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
897 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
898
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
899 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
900 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
901 cyg_tracemsg2( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
902 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
903 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
904 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
905 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
906 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
907 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
908 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
909
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
910 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
911 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
912 cyg_tracemsg4( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
913 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
914 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
915 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
916 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
917 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
918 (CYG_ADDRWORD)c , 0 \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
919 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
920 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
921
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
922 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
923 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
924 cyg_tracemsg4( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
925 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
926 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
927 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
928 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
929 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
930 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
931 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
932 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
933
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
934 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
935 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
936 cyg_tracemsg6( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
937 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
938 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
939 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
940 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
941 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
942 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
943 (CYG_ADDRWORD)e , 0 \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
944 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
945 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
946
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
947 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
948 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
949 cyg_tracemsg6( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
950 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
951 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
952 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
953 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
954 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
955 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
956 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
957 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
958 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
959
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
960 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
961 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
962 cyg_tracemsg8( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
963 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
964 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
965 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
966 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
967 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
968 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
969 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
970 (CYG_ADDRWORD)g , 0 \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
971 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
972 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
973
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
974 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_MACRO_START\
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
975 if ( cyg_tracefunction_report_.cond ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
976 cyg_tracemsg8( cyg_trace_args, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
977 cyg_tracefunction_report_.func, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
978 cyg_tracefunction_report_.file, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
979 cyg_tracefunction_report_.lnum, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
980 (_format_), \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
981 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
982 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
983 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
984 (CYG_ADDRWORD)g, (CYG_ADDRWORD)h \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
985 ); \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
986 CYG_MACRO_END
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
987
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
988
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
989 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
990
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
991 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
992 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
993 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
994 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
995 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
996 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
997 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
998 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
999 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1001 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1002
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1003 #else // no CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1004
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1005 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1006 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1007 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1008 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1009
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1010 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1011 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1012 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1013 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1014
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1015 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1016 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1017 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1018 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1019 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1020 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1021 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1022 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1023 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1024
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1025 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1026 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1027
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1028 #endif // CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1029
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1030 #else // ! CYGDBG_USE_TRACING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1031
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1032 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1033 // No traces: we define empty statements for trace macros.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1034
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1035 #define CYG_TRACE0( _bool_, _msg_ ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1036 #define CYG_TRACE1( _bool_, _msg_, a ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1037 #define CYG_TRACE2( _bool_, _msg_, a,b ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1038 #define CYG_TRACE3( _bool_, _msg_, a,b,c ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1039 #define CYG_TRACE4( _bool_, _msg_, a,b,c,d ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1040 #define CYG_TRACE5( _bool_, _msg_, a,b,c,d,e ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1041 #define CYG_TRACE6( _bool_, _msg_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1042 #define CYG_TRACE7( _bool_, _msg_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1043 #define CYG_TRACE8( _bool_, _msg_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1044
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1045 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1046 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1047 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1048 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1049
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1050 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1051 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1052 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1053 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1054
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1055 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1056 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1057 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1058 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1059 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1060 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1061 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1062 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1063 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1064
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1065 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1066 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1067
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1068 #endif // ! CYGDBG_USE_TRACING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1069
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1070 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1071 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1072 // CYG_TRACEn{[XDY]{V}}{B}
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1073 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1074 // Convenience macros: these fall into a few dimensions, with suffix letters:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1075 // First option:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1076 // X: user need not supply a format string, %08x is used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1077 // D: ditto but signed decimal, %d
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1078 // Y: ditto but just plain %x
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1079 // Second option, only meaningful with one of XDY:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1080 // V: "<var> = %..." is used, by stringifying the argument
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1081 // Third option:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1082 // B: user need not supply a bool; the symbol CYG_TRACE_USER_BOOL is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1083 // used (which we do not define, user must do this)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1084
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1085 #define CYG_TRACE0B( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1086 CYG_TRACE0( CYG_TRACE_USER_BOOL, _msg_ )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1087 #define CYG_TRACE1B( _msg_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1088 CYG_TRACE1( CYG_TRACE_USER_BOOL, _msg_, a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1089 #define CYG_TRACE2B( _msg_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1090 CYG_TRACE2( CYG_TRACE_USER_BOOL, _msg_, a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1091 #define CYG_TRACE3B( _msg_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1092 CYG_TRACE3( CYG_TRACE_USER_BOOL, _msg_, a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1093 #define CYG_TRACE4B( _msg_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1094 CYG_TRACE4( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1095 #define CYG_TRACE5B( _msg_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1096 CYG_TRACE5( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1097 #define CYG_TRACE6B( _msg_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1098 CYG_TRACE6( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1099 #define CYG_TRACE7B( _msg_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1100 CYG_TRACE7( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1101 #define CYG_TRACE8B( _msg_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1102 CYG_TRACE8( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g,h )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1103
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1104 // long hex versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1105
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1106 #define CYG_TRACE1X( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1107 CYG_TRACE1( _bool_, "%08x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1108 #define CYG_TRACE2X( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1109 CYG_TRACE2( _bool_, "%08x %08x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1110 #define CYG_TRACE3X( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1111 CYG_TRACE3( _bool_, "%08x %08x %08x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1112 #define CYG_TRACE4X( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1113 CYG_TRACE4( _bool_, "%08x %08x %08x %08x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1114 #define CYG_TRACE5X( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1115 CYG_TRACE5( _bool_, "%08x %08x %08x %08x %08x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1116 #define CYG_TRACE6X( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1117 CYG_TRACE6( _bool_, "%08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1118 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1119 #define CYG_TRACE7X( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1120 CYG_TRACE7( _bool_, "%08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1121 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1122 #define CYG_TRACE8X( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1123 CYG_TRACE8( _bool_, "%08x %08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1124 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1125
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1126 #define CYG_TRACE1XV( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1127 CYG_TRACE1( _bool_, # a "=%08x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1128 #define CYG_TRACE2XV( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1129 CYG_TRACE2( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1130 # a "=%08x " # b "=%08x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1131 #define CYG_TRACE3XV( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1132 CYG_TRACE3( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1133 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1134 #define CYG_TRACE4XV( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1135 CYG_TRACE4( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1136 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1137 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1138 #define CYG_TRACE5XV( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1139 CYG_TRACE5( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1140 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1141 # e "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1142 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1143 #define CYG_TRACE6XV( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1144 CYG_TRACE6( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1145 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1146 # e "=%08x " # f "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1147 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1148 #define CYG_TRACE7XV( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1149 CYG_TRACE7( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1150 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1151 # e "=%08x " # f "=%08x " # g "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1152 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1153 #define CYG_TRACE8XV( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1154 CYG_TRACE8( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1155 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1156 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1157 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1158
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1159 #define CYG_TRACE1XB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1160 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%08x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1161 #define CYG_TRACE2XB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1162 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%08x %08x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1163 #define CYG_TRACE3XB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1164 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%08x %08x %08x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1165 #define CYG_TRACE4XB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1166 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1167 #define CYG_TRACE5XB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1168 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1169 #define CYG_TRACE6XB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1170 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1171 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1172 #define CYG_TRACE7XB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1173 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1174 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1175 #define CYG_TRACE8XB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1176 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1177 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1178
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1179 #define CYG_TRACE1XVB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1180 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%08x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1181 #define CYG_TRACE2XVB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1182 CYG_TRACE2( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1183 # a "=%08x " # b "=%08x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1184 #define CYG_TRACE3XVB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1185 CYG_TRACE3( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1186 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1187 #define CYG_TRACE4XVB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1188 CYG_TRACE4( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1189 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1190 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1191 #define CYG_TRACE5XVB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1192 CYG_TRACE5( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1193 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1194 # e "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1195 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1196 #define CYG_TRACE6XVB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1197 CYG_TRACE6( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1198 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1199 # e "=%08x " # f "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1200 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1201 #define CYG_TRACE7XVB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1202 CYG_TRACE7( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1203 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1204 # e "=%08x " # f "=%08x " # g "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1205 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1206 #define CYG_TRACE8XVB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1207 CYG_TRACE8( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1208 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1209 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1210 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1211
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1212 // decimal versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1213
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1214 #define CYG_TRACE1D( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1215 CYG_TRACE1( _bool_, "%d", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1216 #define CYG_TRACE2D( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1217 CYG_TRACE2( _bool_, "%d %d", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1218 #define CYG_TRACE3D( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1219 CYG_TRACE3( _bool_, "%d %d %d", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1220 #define CYG_TRACE4D( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1221 CYG_TRACE4( _bool_, "%d %d %d %d", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1222 #define CYG_TRACE5D( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1223 CYG_TRACE5( _bool_, "%d %d %d %d %d", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1224 #define CYG_TRACE6D( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1225 CYG_TRACE6( _bool_, "%d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1226 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1227 #define CYG_TRACE7D( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1228 CYG_TRACE7( _bool_, "%d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1229 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1230 #define CYG_TRACE8D( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1231 CYG_TRACE8( _bool_, "%d %d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1232 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1233
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1234 #define CYG_TRACE1DV( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1235 CYG_TRACE1( _bool_, # a "=%d ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1236 #define CYG_TRACE2DV( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1237 CYG_TRACE2( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1238 # a "=%d " # b "=%d " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1239 #define CYG_TRACE3DV( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1240 CYG_TRACE3( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1241 # a "=%d " # b "=%d " # c "=%d " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1242 #define CYG_TRACE4DV( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1243 CYG_TRACE4( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1244 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1245 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1246 #define CYG_TRACE5DV( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1247 CYG_TRACE5( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1248 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1249 # e "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1250 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1251 #define CYG_TRACE6DV( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1252 CYG_TRACE6( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1253 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1254 # e "=%d " # f "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1255 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1256 #define CYG_TRACE7DV( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1257 CYG_TRACE7( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1258 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1259 # e "=%d " # f "=%d " # g "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1260 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1261 #define CYG_TRACE8DV( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1262 CYG_TRACE8( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1263 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1264 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1265 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1266
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1267 #define CYG_TRACE1DB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1268 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%d", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1269 #define CYG_TRACE2DB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1270 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%d %d", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1271 #define CYG_TRACE3DB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1272 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%d %d %d", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1273 #define CYG_TRACE4DB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1274 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%d %d %d %d", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1275 #define CYG_TRACE5DB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1276 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%d %d %d %d %d", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1277 #define CYG_TRACE6DB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1278 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1279 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1280 #define CYG_TRACE7DB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1281 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1282 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1283 #define CYG_TRACE8DB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1284 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1285 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1286
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1287 #define CYG_TRACE1DVB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1288 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%d ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1289 #define CYG_TRACE2DVB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1290 CYG_TRACE2( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1291 # a "=%d " # b "=%d " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1292 #define CYG_TRACE3DVB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1293 CYG_TRACE3( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1294 # a "=%d " # b "=%d " # c "=%d " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1295 #define CYG_TRACE4DVB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1296 CYG_TRACE4( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1297 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1298 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1299 #define CYG_TRACE5DVB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1300 CYG_TRACE5( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1301 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1302 # e "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1303 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1304 #define CYG_TRACE6DVB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1305 CYG_TRACE6( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1306 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1307 # e "=%d " # f "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1308 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1309 #define CYG_TRACE7DVB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1310 CYG_TRACE7( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1311 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1312 # e "=%d " # f "=%d " # g "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1313 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1314 #define CYG_TRACE8DVB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1315 CYG_TRACE8( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1316 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1317 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1318 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1319
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1320 // short hex versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1321
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1322 #define CYG_TRACE1Y( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1323 CYG_TRACE1( _bool_, "%x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1324 #define CYG_TRACE2Y( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1325 CYG_TRACE2( _bool_, "%x %x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1326 #define CYG_TRACE3Y( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1327 CYG_TRACE3( _bool_, "%x %x %x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1328 #define CYG_TRACE4Y( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1329 CYG_TRACE4( _bool_, "%x %x %x %x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1330 #define CYG_TRACE5Y( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1331 CYG_TRACE5( _bool_, "%x %x %x %x %x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1332 #define CYG_TRACE6Y( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1333 CYG_TRACE6( _bool_, "%x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1334 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1335 #define CYG_TRACE7Y( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1336 CYG_TRACE7( _bool_, "%x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1337 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1338 #define CYG_TRACE8Y( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1339 CYG_TRACE8( _bool_, "%x %x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1340 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1341
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1342 #define CYG_TRACE1YV( _bool_, a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1343 CYG_TRACE1( _bool_, # a "=%x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1344 #define CYG_TRACE2YV( _bool_, a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1345 CYG_TRACE2( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1346 # a "=%x " # b "=%x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1347 #define CYG_TRACE3YV( _bool_, a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1348 CYG_TRACE3( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1349 # a "=%x " # b "=%x " # c "=%x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1350 #define CYG_TRACE4YV( _bool_, a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1351 CYG_TRACE4( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1352 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1353 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1354 #define CYG_TRACE5YV( _bool_, a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1355 CYG_TRACE5( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1356 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1357 # e "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1358 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1359 #define CYG_TRACE6YV( _bool_, a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1360 CYG_TRACE6( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1361 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1362 # e "=%x " # f "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1363 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1364 #define CYG_TRACE7YV( _bool_, a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1365 CYG_TRACE7( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1366 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1367 # e "=%x " # f "=%x " # g "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1368 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1369 #define CYG_TRACE8YV( _bool_, a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1370 CYG_TRACE8( _bool_, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1371 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1372 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1373 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1374
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1375 #define CYG_TRACE1YB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1376 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1377 #define CYG_TRACE2YB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1378 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%x %x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1379 #define CYG_TRACE3YB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1380 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%x %x %x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1381 #define CYG_TRACE4YB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1382 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%x %x %x %x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1383 #define CYG_TRACE5YB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1384 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%x %x %x %x %x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1385 #define CYG_TRACE6YB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1386 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1387 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1388 #define CYG_TRACE7YB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1389 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1390 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1391 #define CYG_TRACE8YB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1392 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1393 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1394
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1395 #define CYG_TRACE1YVB( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1396 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1397 #define CYG_TRACE2YVB( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1398 CYG_TRACE2( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1399 # a "=%x " # b "=%x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1400 #define CYG_TRACE3YVB( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1401 CYG_TRACE3( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1402 # a "=%x " # b "=%x " # c "=%x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1403 #define CYG_TRACE4YVB( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1404 CYG_TRACE4( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1405 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1406 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1407 #define CYG_TRACE5YVB( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1408 CYG_TRACE5( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1409 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1410 # e "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1411 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1412 #define CYG_TRACE6YVB( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1413 CYG_TRACE6( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1414 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1415 # e "=%x " # f "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1416 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1417 #define CYG_TRACE7YVB( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1418 CYG_TRACE7( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1419 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1420 # e "=%x " # f "=%x " # g "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1421 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1422 #define CYG_TRACE8YVB( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1423 CYG_TRACE8( CYG_TRACE_USER_BOOL, \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1424 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1425 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1426 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1427
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1428 // -------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1429 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1430 // CYG_REPORT_FUNCARGn{[XDY]{V}}
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1431 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1432 // Convenience macros two: these fall into a few dimensions, with suffix letters:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1433 // First option:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1434 // X: user need not supply a format string, %08x is used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1435 // D: ditto but signed decimal, %d
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1436 // Y: ditto but just plain %x
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1437 // Second option, only meaningful with one of XDY:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1438 // V: "<var> = %..." is used, by stringifying the argument
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1439
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1440 // long hex versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1441
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1442 #define CYG_REPORT_FUNCARG1X( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1443 CYG_REPORT_FUNCARG1( "%08x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1444 #define CYG_REPORT_FUNCARG2X( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1445 CYG_REPORT_FUNCARG2( "%08x %08x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1446 #define CYG_REPORT_FUNCARG3X( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1447 CYG_REPORT_FUNCARG3( "%08x %08x %08x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1448 #define CYG_REPORT_FUNCARG4X( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1449 CYG_REPORT_FUNCARG4( "%08x %08x %08x %08x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1450 #define CYG_REPORT_FUNCARG5X( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1451 CYG_REPORT_FUNCARG5( "%08x %08x %08x %08x %08x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1452 #define CYG_REPORT_FUNCARG6X( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1453 CYG_REPORT_FUNCARG6( "%08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1454 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1455 #define CYG_REPORT_FUNCARG7X( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1456 CYG_REPORT_FUNCARG7( "%08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1457 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1458 #define CYG_REPORT_FUNCARG8X( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1459 CYG_REPORT_FUNCARG8( "%08x %08x %08x %08x %08x %08x %08x %08x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1460 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1461
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1462 #define CYG_REPORT_FUNCARG1XV( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1463 CYG_REPORT_FUNCARG1( # a "=%08x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1464 #define CYG_REPORT_FUNCARG2XV( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1465 CYG_REPORT_FUNCARG2( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1466 # a "=%08x " # b "=%08x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1467 #define CYG_REPORT_FUNCARG3XV( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1468 CYG_REPORT_FUNCARG3( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1469 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1470 #define CYG_REPORT_FUNCARG4XV( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1471 CYG_REPORT_FUNCARG4( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1472 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1473 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1474 #define CYG_REPORT_FUNCARG5XV( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1475 CYG_REPORT_FUNCARG5( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1476 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1477 # e "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1478 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1479 #define CYG_REPORT_FUNCARG6XV( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1480 CYG_REPORT_FUNCARG6( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1481 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1482 # e "=%08x " # f "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1483 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1484 #define CYG_REPORT_FUNCARG7XV( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1485 CYG_REPORT_FUNCARG7( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1486 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1487 # e "=%08x " # f "=%08x " # g "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1488 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1489 #define CYG_REPORT_FUNCARG8XV( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1490 CYG_REPORT_FUNCARG8( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1491 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1492 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1493 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1494
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1495 // decimal versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1496
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1497
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1498 #define CYG_REPORT_FUNCARG1D( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1499 CYG_REPORT_FUNCARG1( "%d", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1500 #define CYG_REPORT_FUNCARG2D( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1501 CYG_REPORT_FUNCARG2( "%d %d", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1502 #define CYG_REPORT_FUNCARG3D( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1503 CYG_REPORT_FUNCARG3( "%d %d %d", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1504 #define CYG_REPORT_FUNCARG4D( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1505 CYG_REPORT_FUNCARG4( "%d %d %d %d", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1506 #define CYG_REPORT_FUNCARG5D( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1507 CYG_REPORT_FUNCARG5( "%d %d %d %d %d", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1508 #define CYG_REPORT_FUNCARG6D( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1509 CYG_REPORT_FUNCARG6( "%d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1510 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1511 #define CYG_REPORT_FUNCARG7D( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1512 CYG_REPORT_FUNCARG7( "%d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1513 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1514 #define CYG_REPORT_FUNCARG8D( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1515 CYG_REPORT_FUNCARG8( "%d %d %d %d %d %d %d %d", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1516 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1517
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1518 #define CYG_REPORT_FUNCARG1DV( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1519 CYG_REPORT_FUNCARG1( # a "=%d ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1520 #define CYG_REPORT_FUNCARG2DV( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1521 CYG_REPORT_FUNCARG2( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1522 # a "=%d " # b "=%d " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1523 #define CYG_REPORT_FUNCARG3DV( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1524 CYG_REPORT_FUNCARG3( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1525 # a "=%d " # b "=%d " # c "=%d " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1526 #define CYG_REPORT_FUNCARG4DV( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1527 CYG_REPORT_FUNCARG4( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1528 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1529 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1530 #define CYG_REPORT_FUNCARG5DV( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1531 CYG_REPORT_FUNCARG5( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1532 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1533 # e "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1534 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1535 #define CYG_REPORT_FUNCARG6DV( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1536 CYG_REPORT_FUNCARG6( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1537 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1538 # e "=%d " # f "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1539 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1540 #define CYG_REPORT_FUNCARG7DV( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1541 CYG_REPORT_FUNCARG7( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1542 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1543 # e "=%d " # f "=%d " # g "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1544 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1545 #define CYG_REPORT_FUNCARG8DV( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1546 CYG_REPORT_FUNCARG8( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1547 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1548 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1549 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1550
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1551 // short hex versions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1552
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1553 #define CYG_REPORT_FUNCARG1Y( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1554 CYG_REPORT_FUNCARG1( "%x", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1555 #define CYG_REPORT_FUNCARG2Y( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1556 CYG_REPORT_FUNCARG2( "%x %x", a,b )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1557 #define CYG_REPORT_FUNCARG3Y( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1558 CYG_REPORT_FUNCARG3( "%x %x %x", a,b,c )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1559 #define CYG_REPORT_FUNCARG4Y( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1560 CYG_REPORT_FUNCARG4( "%x %x %x %x", a,b,c,d )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1561 #define CYG_REPORT_FUNCARG5Y( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1562 CYG_REPORT_FUNCARG5( "%x %x %x %x %x", a,b,c,d,e )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1563 #define CYG_REPORT_FUNCARG6Y( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1564 CYG_REPORT_FUNCARG6( "%x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1565 a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1566 #define CYG_REPORT_FUNCARG7Y( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1567 CYG_REPORT_FUNCARG7( "%x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1568 a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1569 #define CYG_REPORT_FUNCARG8Y( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1570 CYG_REPORT_FUNCARG8( "%x %x %x %x %x %x %x %x", \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1571 a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1572
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1573 #define CYG_REPORT_FUNCARG1YV( a ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1574 CYG_REPORT_FUNCARG1( # a "=%x ", a )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1575 #define CYG_REPORT_FUNCARG2YV( a,b ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1576 CYG_REPORT_FUNCARG2( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1577 # a "=%x " # b "=%x " , a,b )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1578 #define CYG_REPORT_FUNCARG3YV( a,b,c ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1579 CYG_REPORT_FUNCARG3( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1580 # a "=%x " # b "=%x " # c "=%x " , a,b,c )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1581 #define CYG_REPORT_FUNCARG4YV( a,b,c,d ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1582 CYG_REPORT_FUNCARG4( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1583 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1584 , a,b,c,d )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1585 #define CYG_REPORT_FUNCARG5YV( a,b,c,d,e ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1586 CYG_REPORT_FUNCARG5( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1587 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1588 # e "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1589 , a,b,c,d,e )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1590 #define CYG_REPORT_FUNCARG6YV( a,b,c,d,e,f ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1591 CYG_REPORT_FUNCARG6( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1592 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1593 # e "=%x " # f "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1594 , a,b,c,d,e,f )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1595 #define CYG_REPORT_FUNCARG7YV( a,b,c,d,e,f,g ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1596 CYG_REPORT_FUNCARG7( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1597 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1598 # e "=%x " # f "=%x " # g "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1599 , a,b,c,d,e,f,g )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1600 #define CYG_REPORT_FUNCARG8YV( a,b,c,d,e,f,g,h ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1601 CYG_REPORT_FUNCARG8( \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1602 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1603 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1604 , a,b,c,d,e,f,g,h )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1605
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1606
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1607 #endif // CYGONCE_INFRA_CYG_TRAC_H multiple inclusion protection
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1608 // EOF cyg_trac.h