GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / cfe / cfe / verif / vapi.h
blob6124524811c0e58813ee482be9ba80832b4d5b0c
1 /* *********************************************************************
2 * Broadcom Common Firmware Environment (CFE)
3 *
4 * Verification Test APIs File: vapi.h
6 * This module contains special low-level routines for use
7 * by verification programs.
8 *
9 * Author: Mitch Lichtenberg (mpl@broadcom.com)
11 *********************************************************************
13 * Copyright 2000,2001,2002,2003
14 * Broadcom Corporation. All rights reserved.
16 * This software is furnished under license and may be used and
17 * copied only in accordance with the following terms and
18 * conditions. Subject to these conditions, you may download,
19 * copy, install, use, modify and distribute modified or unmodified
20 * copies of this software in source and/or binary form. No title
21 * or ownership is transferred hereby.
23 * 1) Any source code used, modified or distributed must reproduce
24 * and retain this copyright notice and list of conditions
25 * as they appear in the source file.
27 * 2) No right is granted to use any trade name, trademark, or
28 * logo of Broadcom Corporation. The "Broadcom Corporation"
29 * name may not be used to endorse or promote products derived
30 * from this software without the prior written permission of
31 * Broadcom Corporation.
33 * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
34 * IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
35 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
36 * PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
37 * SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
38 * PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
39 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
40 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
41 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
42 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
43 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
44 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
45 * THE POSSIBILITY OF SUCH DAMAGE.
46 ********************************************************************* */
49 #define VAPI_EPTSEAL 0x56415049
50 #define VAPI_CFESEAL 0xCFE10000
51 #define VAPI_SEAL_MASK 0xFFFF0000
52 #define VAPI_FMT_MASK 0x000000FF
53 #define VAPI_PRID_MASK 0x0000FF00
55 #define VAPI_DIAG_ENTRY 0x80020000
56 #define VAPI_DIAG_ENTRY_UNC 0xA0020000
57 #define VAPI_DIAG_ENTRY_MC 0xBFD00000
58 #define VAPI_MAGIC_NUMBER 0x1CFE2CFE3CFE4CFE
59 #define VAPI_MAGIC_NUMBER_UNC 0x0CFE1CFE2CFE3CFE
60 #define VAPI_MAGIC_NUMBER_MC 0xACFEBCFECCFEDCFE
62 #define VAPI_FMT_GPRS 0
63 #define VAPI_FMT_SOC 1
64 #define VAPI_FMT_DATA 2
65 #define VAPI_FMT_BUFFER 3
66 #define VAPI_FMT_TRACE 4
67 #define VAPI_FMT_EXIT 5
68 #define VAPI_FMT_FPRS 6
70 #define VAPI_PRNUM_SHIFT 8
72 #define VAPI_REC_SIGNATURE 0
73 #define VAPI_REC_SIZE 8
74 #define VAPI_REC_RA 16
75 #define VAPI_REC_DATA 24
77 #define VAPI_IDX_SIGNATURE 0
78 #define VAPI_IDX_SIZE 1
79 #define VAPI_IDX_RA 2
80 #define VAPI_IDX_DATA 3
83 #define VAPI_FUNC_EXIT 0x9fc00510
84 #define VAPI_FUNC_DUMPGPRS 0x9fc00520
85 #define VAPI_FUNC_SETLOG 0x9fc00530
86 #define VAPI_FUNC_LOGVALUE 0x9fc00540
87 #define VAPI_FUNC_LOGDATA 0x9fc00550
88 #define VAPI_FUNC_LOGTRACE 0x9fc00560
89 #define VAPI_FUNC_LOGSOC 0x9fc00570
90 #define VAPI_FUNC_LOGGPRS 0x9fc00580
91 #define VAPI_FUNC_DUMPSTRING 0x9fc00590
92 #define VAPI_FUNC_SETLEDS 0x9fc005a0
93 #define VAPI_FUNC_LOGFPRS 0x9fc005b0
96 #define VAPI_LOG_SETBUF(start,end) \
97 .set push ; \
98 .set reorder ; \
99 la a0, start ; \
100 la a1, end ; \
101 li k0, VAPI_FUNC_SETLOG ; \
102 jalr k0 ; \
103 .set pop
105 #define VAPI_EXIT_CONST(val) \
106 .set push ; \
107 .set reorder ; \
108 li a0, val ; \
109 li k0, VAPI_FUNC_EXIT ; \
110 jr k0 ; \
111 .set pop
113 #define VAPI_EXIT_REG(val) \
114 .set push ; \
115 .set reorder ; \
116 move a0, val ; \
117 li k0, VAPI_FUNC_EXIT ; \
118 jr k0 ; \
119 .set pop
121 #define VAPI_LOG_CONST(id,value) \
122 .set push ; \
123 .set reorder ; \
124 li a0, id ; \
125 li a1, value ; \
126 li k0, VAPI_FUNC_LOGVALUE ; \
127 jalr k0 ; \
128 .set pop
130 #define VAPI_LOG_REG(id,value) \
131 .set push ; \
132 .set reorder ; \
133 li a0, id ; \
134 move a1, value ; \
135 li k0, VAPI_FUNC_LOGVALUE ; \
136 jalr k0 ; \
137 .set pop
139 #define VAPI_LOG_BUFFER(id,addr,nwords) \
140 .set push ; \
141 .set reorder ; \
142 li a0,id ; \
143 la a1,addr ; \
144 li a2,nwords ; \
145 li k0, VAPI_FUNC_LOGDATA ; \
146 jalr k0 ; \
147 .set pop
149 #define VAPI_PUTS(text) \
150 .set push ; \
151 .set reorder ; \
152 b 1f ; \
153 2: .asciz text ; \
154 .align 4 ; \
155 1: la a0, 2b ; \
156 li k0, VAPI_FUNC_DUMPSTRING ; \
157 jalr k0 ; \
158 .set pop
160 #define VAPI_PRINTGPRS() \
161 .set push ; \
162 .set reorder ; \
163 li k0, VAPI_FUNC_DUMPGPRS ; \
164 jalr k0 ; \
165 .set pop
167 #define VAPI_LOG_GPRS(id) \
168 .set push ; \
169 .set reorder ; \
170 li a0, id ; \
171 li k0, VAPI_FUNC_LOGGPRS ; \
172 jalr k0 ; \
173 .set pop
175 #define VAPI_LOG_FPRS(id) \
176 .set push ; \
177 .set reorder ; \
178 li a0, id ; \
179 li k0, VAPI_FUNC_LOGFPRS ; \
180 jalr k0 ; \
181 .set pop
183 #define VAPI_LOG_TRACE(id) \
184 .set push ; \
185 .set reorder ; \
186 li a0, id ; \
187 li k0, VAPI_FUNC_LOGTRACE ; \
188 jalr k0 ; \
189 .set pop
191 #define VAPI_LOG_SOCSTATE(id,bits) \
192 .set push ; \
193 .set reorder ; \
194 li a0, id ; \
195 li a1, bits ; \
196 li k0, VAPI_FUNC_LOGSOC ; \
197 jalr k0 ; \
198 .set pop
200 #define VAPI_SETLEDS(a,b,c,d) \
201 .set push ; \
202 .set reorder ; \
203 li a0, ((a) << 24) | ((b) << 16) | ((c) << 8) | (d) ; \
204 li k0, VAPI_FUNC_SETLEDS ; \
205 jalr k0 ; \
206 .set pop
208 #ifndef SOC_AGENT_MC0
209 #define SOC_AGENT_MC0 0x00000001
210 #define SOC_AGENT_MC1 0x00000002
211 #define SOC_AGENT_MC 0x00000003
212 #define SOC_AGENT_L2 0x00000004
213 #define SOC_AGENT_MACDMA0 0x00000008
214 #define SOC_AGENT_MACDMA1 0x00000010
215 #define SOC_AGENT_MACDMA2 0x00000020
216 #define SOC_AGENT_MACDMA 0x00000038
217 #define SOC_AGENT_MACRMON0 0x00000040
218 #define SOC_AGENT_MACRMON1 0x00000080
219 #define SOC_AGENT_MACRMON2 0x00000100
220 #define SOC_AGENT_MACRMON 0x000001C0
221 #define SOC_AGENT_MAC0 0x00000200
222 #define SOC_AGENT_MAC1 0x00000400
223 #define SOC_AGENT_MAC2 0x00000800
224 #define SOC_AGENT_MAC 0x00000E00
225 #define SOC_AGENT_DUART 0x00001000
226 #define SOC_AGENT_GENCS 0x00002000
227 #define SOC_AGENT_GEN 0x00004000
228 #define SOC_AGENT_GPIO 0x00008000
229 #define SOC_AGENT_SMBUS0 0x00010000
230 #define SOC_AGENT_SMBUS1 0x00020000
231 #define SOC_AGENT_SMBUS 0x00030000
232 #define SOC_AGENT_TIMER 0x00040000
233 #define SOC_AGENT_SCD 0x00080000
234 #define SOC_AGENT_BUSERR 0x00100000
235 #define SOC_AGENT_DM 0x00200000
236 #define SOC_AGENT_IMR0 0x00400000
237 #define SOC_AGENT_IMR1 0x00800000
238 #define SOC_AGENT_IMR 0x00C00000
239 #endif