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
32extern "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