annotate packages/infra/current/include/cyg_trac.h @ 1777:c16341b1bac6 default tip

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