1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25 
26 #ifndef	_SYS_FM_ULTRASPARC_III_H
27 #define	_SYS_FM_ULTRASPARC_III_H
28 
29 #pragma ident	"%Z%%M%	%I%	%E% SMI"
30 
31 #ifdef	__cplusplus
32 extern "C" {
33 #endif
34 
35 /* Ereport class subcategories for UltraSPARC III and IV families */
36 #define	FM_EREPORT_CPU_USIII		"ultraSPARC-III"
37 #define	FM_EREPORT_CPU_USIIIplus	"ultraSPARC-IIIplus"
38 #define	FM_EREPORT_CPU_USIIIi		"ultraSPARC-IIIi"
39 #define	FM_EREPORT_CPU_USIIIiplus	"ultraSPARC-IIIiplus"
40 #define	FM_EREPORT_CPU_USIV		"ultraSPARC-IV"
41 #define	FM_EREPORT_CPU_USIVplus		"ultraSPARC-IVplus"
42 #define	FM_EREPORT_CPU_UNSUPPORTED	"unsupported"
43 
44 /*
45  * Ereport payload definitions.
46  */
47 #define	FM_EREPORT_PAYLOAD_NAME_AFSR		"afsr"
48 #define	FM_EREPORT_PAYLOAD_NAME_AFAR		"afar"
49 #define	FM_EREPORT_PAYLOAD_NAME_AFAR_STATUS	"afar-status"
50 #define	FM_EREPORT_PAYLOAD_NAME_PC		"pc"
51 #define	FM_EREPORT_PAYLOAD_NAME_TL		"tl"
52 #define	FM_EREPORT_PAYLOAD_NAME_TT		"tt"
53 #define	FM_EREPORT_PAYLOAD_NAME_PRIV		"privileged"
54 #define	FM_EREPORT_PAYLOAD_NAME_ME		"multiple"
55 #define	FM_EREPORT_PAYLOAD_NAME_SYND		"syndrome"
56 #define	FM_EREPORT_PAYLOAD_NAME_SYND_STATUS	"syndrome-status"
57 #define	FM_EREPORT_PAYLOAD_NAME_EMU_EMR_SIZE	"emu-mask-size"
58 #define	FM_EREPORT_PAYLOAD_NAME_EMU_EMR_DATA	"emu-mask-data"
59 #define	FM_EREPORT_PAYLOAD_NAME_EMU_ESR_SIZE	"emu-shadow-size"
60 #define	FM_EREPORT_PAYLOAD_NAME_EMU_ESR_DATA	"emu-shadow-data"
61 #define	FM_EREPORT_PAYLOAD_NAME_L2_WAYS		"l2-cache-ways"
62 #define	FM_EREPORT_PAYLOAD_NAME_L2_DATA		"l2-cache-data"
63 #define	FM_EREPORT_PAYLOAD_NAME_L3_WAYS		"l3-cache-ways"
64 #define	FM_EREPORT_PAYLOAD_NAME_L3_DATA		"l3-cache-data"
65 #define	FM_EREPORT_PAYLOAD_NAME_L1D_WAYS	"dcache-ways"
66 #define	FM_EREPORT_PAYLOAD_NAME_L1D_DATA	"dcache-data"
67 #define	FM_EREPORT_PAYLOAD_NAME_L1I_WAYS	"icache-ways"
68 #define	FM_EREPORT_PAYLOAD_NAME_L1I_DATA	"icache-data"
69 #define	FM_EREPORT_PAYLOAD_NAME_L1P_WAYS	"pcache-ways"
70 #define	FM_EREPORT_PAYLOAD_NAME_L1P_DATA	"pcache-data"
71 #define	FM_EREPORT_PAYLOAD_NAME_ITLB_ENTRIES	"itlb-entries"
72 #define	FM_EREPORT_PAYLOAD_NAME_ITLB_DATA	"itlb-data"
73 #define	FM_EREPORT_PAYLOAD_NAME_DTLB_ENTRIES	"dtlb-entries"
74 #define	FM_EREPORT_PAYLOAD_NAME_DTLB_DATA	"dtlb-data"
75 #define	FM_EREPORT_PAYLOAD_NAME_ERR_TYPE	"error-type"
76 #define	FM_EREPORT_PAYLOAD_NAME_RESOURCE	"resource"
77 #define	FM_EREPORT_PAYLOAD_NAME_VA		"va"
78 #define	FM_EREPORT_PAYLOAD_NAME_AFSR_EXT	"afsr-ext"
79 #define	FM_EREPORT_PAYLOAD_NAME_COPYFUNCTION	"copy-function"
80 #define	FM_EREPORT_PAYLOAD_NAME_INSTRBLOCK	"instr-block"
81 #define	FM_EREPORT_PAYLOAD_NAME_HOWDETECTED	"how-detected"
82 #define	FM_EREPORT_PAYLOAD_NAME_ERR_DISP	"error-disposition"
83 
84 #define	FM_EREPORT_PAYLOAD_FLAG_AFSR		0x0000000000000001
85 #define	FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS	0x0000000000000002
86 #define	FM_EREPORT_PAYLOAD_FLAG_AFAR		0x0000000000000004
87 #define	FM_EREPORT_PAYLOAD_FLAG_PC		0x0000000000000008
88 #define	FM_EREPORT_PAYLOAD_FLAG_TL		0x0000000000000010
89 #define	FM_EREPORT_PAYLOAD_FLAG_TT		0x0000000000000020
90 #define	FM_EREPORT_PAYLOAD_FLAG_PRIV		0x0000000000000040
91 #define	FM_EREPORT_PAYLOAD_FLAG_ME		0x0000000000000080
92 #define	FM_EREPORT_PAYLOAD_FLAG_SYND		0x0000000000000100
93 #define	FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS	0x0000000000000200
94 #define	FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE	0x0000000000000400
95 #define	FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA	0x0000000000000800
96 #define	FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE	0x0000000000001000
97 #define	FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA	0x0000000000002000
98 #define	FM_EREPORT_PAYLOAD_FLAG_L2_WAYS		0x0000000000004000
99 #define	FM_EREPORT_PAYLOAD_FLAG_L2_DATA		0x0000000000008000
100 #define	FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS	0x0000000000010000
101 #define	FM_EREPORT_PAYLOAD_FLAG_L1D_DATA	0x0000000000020000
102 #define	FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS	0x0000000000040000
103 #define	FM_EREPORT_PAYLOAD_FLAG_L1I_DATA	0x0000000000080000
104 #define	FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE	0x0000000000100000
105 #define	FM_EREPORT_PAYLOAD_FLAG_RESOURCE	0x0000000000200000
106 #define	FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT	0x0000000000400000
107 #define	FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS	0x0000000000800000
108 #define	FM_EREPORT_PAYLOAD_FLAG_L1P_DATA	0x0000000001000000
109 #define	FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES	0x0000000002000000
110 #define	FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA	0x0000000004000000
111 #define	FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES	0x0000000008000000
112 #define	FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA	0x0000000010000000
113 #define	FM_EREPORT_PAYLOAD_FLAG_FAULT_VA	0x0000000020000000
114 #define	FM_EREPORT_PAYLOAD_FLAG_L3_WAYS		0x0000000040000000
115 #define	FM_EREPORT_PAYLOAD_FLAG_L3_DATA		0x0000000080000000
116 #define	FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION	0x0000000100000000
117 #define	FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK	0x0000000200000000
118 #define	FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED	0x0000000400000000
119 #define	FM_EREPORT_PAYLOAD_FLAG_ERR_DISP	0x0000000800000000
120 
121 #define	FM_EREPORT_PAYLOAD_FLAGS_AFAR \
122 				(FM_EREPORT_PAYLOAD_FLAG_AFAR | \
123 				    FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS)
124 #define	FM_EREPORT_PAYLOAD_FLAGS_TRAP \
125 				(FM_EREPORT_PAYLOAD_FLAG_TL | \
126 				    FM_EREPORT_PAYLOAD_FLAG_TT)
127 #define	FM_EREPORT_PAYLOAD_FLAGS_SYND \
128 				(FM_EREPORT_PAYLOAD_FLAG_SYND | \
129 				    FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS)
130 #define	FM_EREPORT_PAYLOAD_FLAGS_EMU \
131 				(FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE | \
132 				    FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA | \
133 				    FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE | \
134 				    FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA)
135 #define	FM_EREPORT_PAYLOAD_FLAGS_L2 \
136 				(FM_EREPORT_PAYLOAD_FLAG_L2_WAYS | \
137 				    FM_EREPORT_PAYLOAD_FLAG_L2_DATA)
138 #define	FM_EREPORT_PAYLOAD_FLAGS_L3 \
139 				(FM_EREPORT_PAYLOAD_FLAG_L3_WAYS | \
140 				    FM_EREPORT_PAYLOAD_FLAG_L3_DATA)
141 #define	FM_EREPORT_PAYLOAD_FLAGS_L1D \
142 				(FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS | \
143 				    FM_EREPORT_PAYLOAD_FLAG_L1D_DATA)
144 #define	FM_EREPORT_PAYLOAD_FLAGS_L1I \
145 				(FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS | \
146 				    FM_EREPORT_PAYLOAD_FLAG_L1I_DATA)
147 #define	FM_EREPORT_PAYLOAD_FLAGS_L1P \
148 				(FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS | \
149 				    FM_EREPORT_PAYLOAD_FLAG_L1P_DATA)
150 #define	FM_EREPORT_PAYLOAD_FLAGS_L1 \
151 				(FM_EREPORT_PAYLOAD_FLAGS_L1D | \
152 				    FM_EREPORT_PAYLOAD_FLAGS_L1I)
153 #define	FM_EREPORT_PAYLOAD_FLAGS_L1L2 \
154 				(FM_EREPORT_PAYLOAD_FLAGS_L1 | \
155 				    FM_EREPORT_PAYLOAD_FLAGS_L2)
156 #define	FM_EREPORT_PAYLOAD_FLAGS_ITLB \
157 				(FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES | \
158 				    FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA)
159 #define	FM_EREPORT_PAYLOAD_FLAGS_DTLB \
160 				(FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES | \
161 				    FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA)
162 #define	FM_EREPORT_PAYLOAD_FLAGS_TLB \
163 				(FM_EREPORT_PAYLOAD_FLAGS_ITLB | \
164 				    FM_EREPORT_PAYLOAD_FLAGS_DTLB)
165 #define	FM_EREPORT_PAYLOAD_FLAG_AFSRS \
166 				(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
167 				    FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT)
168 
169 
170 #define	FM_EREPORT_PAYLOAD_UNKNOWN	0
171 #define	FM_EREPORT_PAYLOAD_INVALID_AFSR	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
172 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
173 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
174 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
175 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
176 					    FM_EREPORT_PAYLOAD_FLAG_ME)
177 #define	FM_EREPORT_PAYLOAD_SYSTEM1	 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
178 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
179 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
180 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
181 					    FM_EREPORT_PAYLOAD_FLAG_ME)
182 #define	FM_EREPORT_PAYLOAD_SYSTEM2	 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
183 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
184 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
185 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
186 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
187 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
188 					    FM_EREPORT_PAYLOAD_FLAGS_EMU)
189 #define	FM_EREPORT_PAYLOAD_SYSTEM3	 (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
190 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
191 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
192 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
193 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
194 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
195 					    FM_EREPORT_PAYLOAD_FLAGS_L2)
196 #define	FM_EREPORT_PAYLOAD_IO		(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
197 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
198 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
199 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
200 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
201 					    FM_EREPORT_PAYLOAD_FLAG_ME)
202 #define	FM_EREPORT_PAYLOAD_L2_TAG_PE	(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
203 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
204 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
205 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
206 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
207 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
208 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
209 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
210 #define	FM_EREPORT_PAYLOAD_L2_TAG_ECC	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
211 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
212 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
213 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
214 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
215 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
216 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
217 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
218 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
219 #define	FM_EREPORT_PAYLOAD_L3_TAG_ECC	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
220 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
221 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
222 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
223 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
224 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
225 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
226 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
227 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
228 #define	FM_EREPORT_PAYLOAD_L2_DATA	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
229 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
230 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
231 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
232 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
233 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
234 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
235 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
236 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
237 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
238 #define	FM_EREPORT_PAYLOAD_L3_DATA	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
239 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
240 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
241 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
242 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
243 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
244 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
245 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
246 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
247 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
248 #define	FM_EREPORT_PAYLOAD_MEMORY	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
249 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
250 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
251 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
252 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
253 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
254 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
255 					    FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE | \
256 					    FM_EREPORT_PAYLOAD_FLAG_ERR_DISP | \
257 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
258 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
259 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
260 #define	FM_EREPORT_PAYLOAD_ICACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
261 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
262 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
263 					    FM_EREPORT_PAYLOAD_FLAGS_L1I| \
264 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
265 #define	FM_EREPORT_PAYLOAD_DCACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
266 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
267 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
268 					    FM_EREPORT_PAYLOAD_FLAGS_L1D| \
269 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
270 #define	FM_EREPORT_PAYLOAD_PCACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
271 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
272 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
273 					    FM_EREPORT_PAYLOAD_FLAGS_L1P| \
274 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
275 #define	FM_EREPORT_PAYLOAD_ITLB_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
276 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
277 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
278 					    FM_EREPORT_PAYLOAD_FLAGS_ITLB| \
279 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
280 #define	FM_EREPORT_PAYLOAD_DTLB_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
281 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
282 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
283 					    FM_EREPORT_PAYLOAD_FLAGS_DTLB | \
284 					    FM_EREPORT_PAYLOAD_FLAG_FAULT_VA| \
285 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
286 #define	FM_EREPORT_PAYLOAD_FPU_HWCOPY	(FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION |\
287 					    FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK|\
288 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
289 					    FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED)
290 /*
291  * FM_EREPORT_PAYLOAD_UNKNOWN
292  */
293 #define	FM_EREPORT_CPU_USIII_UNKNOWN		"unknown"
294 
295 /*
296  * FM_EREPORT_PAYLOAD_INVALID_AFSR
297  */
298 #define	FM_EREPORT_CPU_USIII_INVALID_AFSR	"invalid-afsr"
299 
300 /*
301  * FM_EREPORT_PAYLOAD_SYSTEM1
302  */
303 #define	FM_EREPORT_CPU_USIII_IVC		"ivc"
304 #define	FM_EREPORT_CPU_USIII_IVU		"ivu"
305 #define	FM_EREPORT_CPU_USIII_IMC		"imc"
306 #define	FM_EREPORT_CPU_USIII_IMU		"imu"
307 #define	FM_EREPORT_CPU_USIII_JETO		"jeto"
308 #define	FM_EREPORT_CPU_USIII_SCE		"sce"
309 #define	FM_EREPORT_CPU_USIII_JEIC		"jeic"
310 #define	FM_EREPORT_CPU_USIII_JEIT		"jeit"
311 #define	FM_EREPORT_CPU_USIII_JEIS		"jeis"
312 #define	FM_EREPORT_CPU_USIII_ISAP		"isap"
313 #define	FM_EREPORT_CPU_USIII_IVPE		"ivpe"
314 
315 /*
316  * FM_EREPORT_PAYLOAD_SYSTEM2
317  */
318 #define	FM_EREPORT_CPU_USIII_PERR		"perr"
319 #define	FM_EREPORT_CPU_USIII_IERR		"ierr"
320 
321 /*
322  * FM_EREPORT_PAYLOAD_SYSTEM3
323  */
324 #define	FM_EREPORT_CPU_USIII_BP			"bp"
325 #define	FM_EREPORT_CPU_USIII_WBP		"wbp"
326 
327 /*
328  * FM_EREPORT_PAYLOAD_IO
329  */
330 #define	FM_EREPORT_CPU_USIII_TO			"to"
331 #define	FM_EREPORT_CPU_USIII_BERR		"berr"
332 #define	FM_EREPORT_CPU_USIII_DTO		"dto"
333 #define	FM_EREPORT_CPU_USIII_DBERR		"dberr"
334 #define	FM_EREPORT_CPU_USIII_OM			"om"
335 #define	FM_EREPORT_CPU_USIII_UMS		"ums"
336 
337 /*
338  * FM_EREPORT_PAYLOAD_L2_TAG_PE
339  */
340 #define	FM_EREPORT_CPU_USIII_ETP		"etp"
341 
342 /*
343  * FM_EREPORT_PAYLOAD_L2_TAG_ECC
344  */
345 #define	FM_EREPORT_CPU_USIII_THCE		"thce"
346 #define	FM_EREPORT_CPU_USIII_TSCE		"tsce"
347 #define	FM_EREPORT_CPU_USIII_TUE		"tue"
348 #define	FM_EREPORT_CPU_USIII_TUE_SH		"tue-sh"
349 #define	FM_EREPORT_CPU_USIII_ETU		"etu"
350 #define	FM_EREPORT_CPU_USIII_ETC		"etc"
351 #define	FM_EREPORT_CPU_USIII_ETI		"eti"
352 #define	FM_EREPORT_CPU_USIII_ETS		"ets"
353 
354 /*
355  * FM_EREPORT_PAYLOAD_L3_TAG_ECC
356  */
357 #define	FM_EREPORT_CPU_USIII_L3_THCE		"l3-thce"
358 #define	FM_EREPORT_CPU_USIII_L3_TUE		"l3-tue"
359 #define	FM_EREPORT_CPU_USIII_L3_TUE_SH		"l3-tue-sh"
360 
361 /*
362  * FM_EREPORT_PAYLOAD_L2_DATA
363  */
364 #define	FM_EREPORT_CPU_USIII_UCC		"ucc"
365 #define	FM_EREPORT_CPU_USIII_UCU		"ucu"
366 #define	FM_EREPORT_CPU_USIII_CPC		"cpc"
367 #define	FM_EREPORT_CPU_USIII_CPU		"cpu"
368 #define	FM_EREPORT_CPU_USIII_WDC		"wdc"
369 #define	FM_EREPORT_CPU_USIII_WDU		"wdu"
370 #define	FM_EREPORT_CPU_USIII_EDC		"edc"
371 #define	FM_EREPORT_CPU_USIII_EDUBL		"edu-bl"
372 #define	FM_EREPORT_CPU_USIII_EDUST		"edu-st"
373 
374 /*
375  * FM_EREPORT_PAYLOAD_L3_DATA
376  */
377 #define	FM_EREPORT_CPU_USIII_L3_UCC		"l3-ucc"
378 #define	FM_EREPORT_CPU_USIII_L3_UCU		"l3-ucu"
379 #define	FM_EREPORT_CPU_USIII_L3_CPC		"l3-cpc"
380 #define	FM_EREPORT_CPU_USIII_L3_CPU		"l3-cpu"
381 #define	FM_EREPORT_CPU_USIII_L3_WDC		"l3-wdc"
382 #define	FM_EREPORT_CPU_USIII_L3_WDU		"l3-wdu"
383 #define	FM_EREPORT_CPU_USIII_L3_EDC		"l3-edc"
384 #define	FM_EREPORT_CPU_USIII_L3_EDUBL		"l3-edu-bl"
385 #define	FM_EREPORT_CPU_USIII_L3_EDUST		"l3-edu-st"
386 #define	FM_EREPORT_CPU_USIII_L3_MECC		"l3-mecc"
387 
388 /*
389  * FM_EREPORT_PAYLOAD_MEMORY
390  */
391 #define	FM_EREPORT_CPU_USIII_CE			"ce"
392 #define	FM_EREPORT_CPU_USIII_RCE		"rce"
393 #define	FM_EREPORT_CPU_USIII_FRC		"frc"
394 #define	FM_EREPORT_CPU_USIII_EMC		"emc"
395 #define	FM_EREPORT_CPU_USIII_UE			"ue"
396 #define	FM_EREPORT_CPU_USIII_DUE		"due"
397 #define	FM_EREPORT_CPU_USIII_RUE		"rue"
398 #define	FM_EREPORT_CPU_USIII_FRU		"fru"
399 #define	FM_EREPORT_CPU_USIII_EMU		"emu"
400 
401 /*
402  * FM_EREPORT_PAYLOAD_ICACHE_PE
403  */
404 #define	FM_EREPORT_CPU_USIII_IPE		"ipe"
405 #define	FM_EREPORT_CPU_USIII_IDSPE		"idspe"
406 #define	FM_EREPORT_CPU_USIII_ITSPE		"itspe"
407 
408 /*
409  * FM_EREPORT_PAYLOAD_DCACHE_PE
410  */
411 #define	FM_EREPORT_CPU_USIII_DPE		"dpe"
412 #define	FM_EREPORT_CPU_USIII_DDSPE		"ddspe"
413 #define	FM_EREPORT_CPU_USIII_DTSPE		"dtspe"
414 
415 /*
416  * FM_EREPORT_PAYLOAD_PCACHE_PE
417  */
418 #define	FM_EREPORT_CPU_USIII_PDSPE		"pdspe"
419 
420 
421 /*
422  * FM_EREPORT_PAYLOAD_DTLB_PE
423  */
424 #define	FM_EREPORT_CPU_USIII_DTLBPE		"dtlbpe"
425 
426 /*
427  * FM_EREPORT_PAYLOAD_ITLB_PE
428  */
429 #define	FM_EREPORT_CPU_USIII_ITLBPE		"itlbpe"
430 
431 /*
432  * FM_EREPORT_PAYLOAD_FPU_HWCOPY
433  */
434 #define	FM_EREPORT_CPU_USIII_FPU_HWCOPY		"fpu.hwcopy"
435 
436 /*
437  * Magic values for cache dump logflags.
438  * These flags are used to indicate that the structures
439  * defined in cheetahregs.h to capture cache data contain
440  * valid information.
441  */
442 #define	EC_LOGFLAG_MAGIC	0xEC0106F1A6	/* =~ EC_LOGFLAG */
443 #define	DC_LOGFLAG_MAGIC	0xDC0106F1A6	/* =~ DC_LOGFLAG */
444 #define	IC_LOGFLAG_MAGIC	0x1C0106F1A6	/* =~ IC_LOGFLAG */
445 #define	PC_LOGFLAG_MAGIC	0x9C0106F1A6	/* =~ PC_LOGFLAG */
446 #define	IT_LOGFLAG_MAGIC	0x170106F1A6	/* =~ IT_LOGFLAG */
447 #define	DT_LOGFLAG_MAGIC	0xD70106F1A6	/* =~ DT_LOGFLAG */
448 
449 
450 #ifdef	__cplusplus
451 }
452 #endif
453 
454 #endif	/* _SYS_FM_ULTRASPARC_III_H */
455