xref: /onnv-gate/usr/src/uts/sparc/sys/fm/cpu/UltraSPARC-III.h (revision 2381:4515e31b63b8)
11414Scindi /*
21414Scindi  * CDDL HEADER START
31414Scindi  *
41414Scindi  * The contents of this file are subject to the terms of the
5*2381Smikechr  * Common Development and Distribution License (the "License").
6*2381Smikechr  * You may not use this file except in compliance with the License.
71414Scindi  *
81414Scindi  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91414Scindi  * or http://www.opensolaris.org/os/licensing.
101414Scindi  * See the License for the specific language governing permissions
111414Scindi  * and limitations under the License.
121414Scindi  *
131414Scindi  * When distributing Covered Code, include this CDDL HEADER in each
141414Scindi  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151414Scindi  * If applicable, add the following below this CDDL HEADER, with the
161414Scindi  * fields enclosed by brackets "[]" replaced with your own identifying
171414Scindi  * information: Portions Copyright [yyyy] [name of copyright owner]
181414Scindi  *
191414Scindi  * CDDL HEADER END
201414Scindi  */
211414Scindi /*
22*2381Smikechr  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
231414Scindi  * Use is subject to license terms.
241414Scindi  */
251414Scindi 
261414Scindi #ifndef	_SYS_FM_ULTRASPARC_III_H
271414Scindi #define	_SYS_FM_ULTRASPARC_III_H
281414Scindi 
291414Scindi #pragma ident	"%Z%%M%	%I%	%E% SMI"
301414Scindi 
311414Scindi #ifdef	__cplusplus
321414Scindi extern "C" {
331414Scindi #endif
341414Scindi 
351414Scindi /* Ereport class subcategories for UltraSPARC III and IV families */
361414Scindi #define	FM_EREPORT_CPU_USIII		"ultraSPARC-III"
371414Scindi #define	FM_EREPORT_CPU_USIIIplus	"ultraSPARC-IIIplus"
381414Scindi #define	FM_EREPORT_CPU_USIIIi		"ultraSPARC-IIIi"
391414Scindi #define	FM_EREPORT_CPU_USIIIiplus	"ultraSPARC-IIIiplus"
401414Scindi #define	FM_EREPORT_CPU_USIV		"ultraSPARC-IV"
411414Scindi #define	FM_EREPORT_CPU_USIVplus		"ultraSPARC-IVplus"
421414Scindi #define	FM_EREPORT_CPU_UNSUPPORTED	"unsupported"
431414Scindi 
441414Scindi /*
451414Scindi  * Ereport payload definitions.
461414Scindi  */
471414Scindi #define	FM_EREPORT_PAYLOAD_NAME_AFSR		"afsr"
481414Scindi #define	FM_EREPORT_PAYLOAD_NAME_AFAR		"afar"
491414Scindi #define	FM_EREPORT_PAYLOAD_NAME_AFAR_STATUS	"afar-status"
501414Scindi #define	FM_EREPORT_PAYLOAD_NAME_PC		"pc"
511414Scindi #define	FM_EREPORT_PAYLOAD_NAME_TL		"tl"
521414Scindi #define	FM_EREPORT_PAYLOAD_NAME_TT		"tt"
531414Scindi #define	FM_EREPORT_PAYLOAD_NAME_PRIV		"privileged"
541414Scindi #define	FM_EREPORT_PAYLOAD_NAME_ME		"multiple"
551414Scindi #define	FM_EREPORT_PAYLOAD_NAME_SYND		"syndrome"
561414Scindi #define	FM_EREPORT_PAYLOAD_NAME_SYND_STATUS	"syndrome-status"
571414Scindi #define	FM_EREPORT_PAYLOAD_NAME_EMU_EMR_SIZE	"emu-mask-size"
581414Scindi #define	FM_EREPORT_PAYLOAD_NAME_EMU_EMR_DATA	"emu-mask-data"
591414Scindi #define	FM_EREPORT_PAYLOAD_NAME_EMU_ESR_SIZE	"emu-shadow-size"
601414Scindi #define	FM_EREPORT_PAYLOAD_NAME_EMU_ESR_DATA	"emu-shadow-data"
611414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L2_WAYS		"l2-cache-ways"
621414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L2_DATA		"l2-cache-data"
631414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L3_WAYS		"l3-cache-ways"
641414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L3_DATA		"l3-cache-data"
651414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1D_WAYS	"dcache-ways"
661414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1D_DATA	"dcache-data"
671414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1I_WAYS	"icache-ways"
681414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1I_DATA	"icache-data"
691414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1P_WAYS	"pcache-ways"
701414Scindi #define	FM_EREPORT_PAYLOAD_NAME_L1P_DATA	"pcache-data"
711414Scindi #define	FM_EREPORT_PAYLOAD_NAME_ITLB_ENTRIES	"itlb-entries"
721414Scindi #define	FM_EREPORT_PAYLOAD_NAME_ITLB_DATA	"itlb-data"
731414Scindi #define	FM_EREPORT_PAYLOAD_NAME_DTLB_ENTRIES	"dtlb-entries"
741414Scindi #define	FM_EREPORT_PAYLOAD_NAME_DTLB_DATA	"dtlb-data"
751414Scindi #define	FM_EREPORT_PAYLOAD_NAME_ERR_TYPE	"error-type"
761414Scindi #define	FM_EREPORT_PAYLOAD_NAME_RESOURCE	"resource"
771414Scindi #define	FM_EREPORT_PAYLOAD_NAME_VA		"va"
781414Scindi #define	FM_EREPORT_PAYLOAD_NAME_AFSR_EXT	"afsr-ext"
791414Scindi #define	FM_EREPORT_PAYLOAD_NAME_COPYFUNCTION	"copy-function"
801414Scindi #define	FM_EREPORT_PAYLOAD_NAME_INSTRBLOCK	"instr-block"
811414Scindi #define	FM_EREPORT_PAYLOAD_NAME_HOWDETECTED	"how-detected"
821414Scindi #define	FM_EREPORT_PAYLOAD_NAME_ERR_DISP	"error-disposition"
831414Scindi 
841414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_AFSR		0x0000000000000001
851414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS	0x0000000000000002
861414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_AFAR		0x0000000000000004
871414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_PC		0x0000000000000008
881414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_TL		0x0000000000000010
891414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_TT		0x0000000000000020
901414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_PRIV		0x0000000000000040
911414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_ME		0x0000000000000080
921414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_SYND		0x0000000000000100
931414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS	0x0000000000000200
941414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE	0x0000000000000400
951414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA	0x0000000000000800
961414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE	0x0000000000001000
971414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA	0x0000000000002000
981414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L2_WAYS		0x0000000000004000
991414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L2_DATA		0x0000000000008000
1001414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS	0x0000000000010000
1011414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1D_DATA	0x0000000000020000
1021414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS	0x0000000000040000
1031414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1I_DATA	0x0000000000080000
1041414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE	0x0000000000100000
1051414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_RESOURCE	0x0000000000200000
1061414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT	0x0000000000400000
1071414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS	0x0000000000800000
1081414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L1P_DATA	0x0000000001000000
1091414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES	0x0000000002000000
1101414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA	0x0000000004000000
1111414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES	0x0000000008000000
1121414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA	0x0000000010000000
1131414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_FAULT_VA	0x0000000020000000
1141414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L3_WAYS		0x0000000040000000
1151414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_L3_DATA		0x0000000080000000
1161414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION	0x0000000100000000
1171414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK	0x0000000200000000
1181414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED	0x0000000400000000
1191414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_ERR_DISP	0x0000000800000000
1201414Scindi 
1211414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_AFAR \
1221414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_AFAR | \
1231414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS)
1241414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_TRAP \
1251414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_TL | \
1261414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_TT)
1271414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_SYND \
1281414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_SYND | \
1291414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS)
1301414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_EMU \
1311414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE | \
1321414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA | \
1331414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE | \
1341414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA)
1351414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L2 \
1361414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_L2_WAYS | \
1371414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_L2_DATA)
1381414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L3 \
1391414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_L3_WAYS | \
1401414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_L3_DATA)
1411414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L1D \
1421414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS | \
1431414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_L1D_DATA)
1441414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L1I \
1451414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS | \
1461414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_L1I_DATA)
1471414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L1P \
1481414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS | \
1491414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_L1P_DATA)
1501414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L1 \
1511414Scindi 				(FM_EREPORT_PAYLOAD_FLAGS_L1D | \
1521414Scindi 				    FM_EREPORT_PAYLOAD_FLAGS_L1I)
1531414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_L1L2 \
1541414Scindi 				(FM_EREPORT_PAYLOAD_FLAGS_L1 | \
1551414Scindi 				    FM_EREPORT_PAYLOAD_FLAGS_L2)
1561414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_ITLB \
1571414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES | \
1581414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA)
1591414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_DTLB \
1601414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES | \
1611414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA)
1621414Scindi #define	FM_EREPORT_PAYLOAD_FLAGS_TLB \
1631414Scindi 				(FM_EREPORT_PAYLOAD_FLAGS_ITLB | \
1641414Scindi 				    FM_EREPORT_PAYLOAD_FLAGS_DTLB)
1651414Scindi #define	FM_EREPORT_PAYLOAD_FLAG_AFSRS \
1661414Scindi 				(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
1671414Scindi 				    FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT)
1681414Scindi 
1691414Scindi 
1701414Scindi #define	FM_EREPORT_PAYLOAD_UNKNOWN	0
1711414Scindi #define	FM_EREPORT_PAYLOAD_INVALID_AFSR	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
1721414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
1731414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
1741414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
1751414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
1761414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME)
1771414Scindi #define	FM_EREPORT_PAYLOAD_SYSTEM1	 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
1781414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
1791414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
1801414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
1811414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME)
1821414Scindi #define	FM_EREPORT_PAYLOAD_SYSTEM2	 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
1831414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
1841414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
1851414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
1861414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
1871414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
1881414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_EMU)
1891414Scindi #define	FM_EREPORT_PAYLOAD_SYSTEM3	 (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
1901414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
1911414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
1921414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
1931414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
1941414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
1951414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L2)
1961414Scindi #define	FM_EREPORT_PAYLOAD_IO		(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
1971414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
1981414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
1991414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2001414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2011414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME)
2021414Scindi #define	FM_EREPORT_PAYLOAD_L2_TAG_PE	(FM_EREPORT_PAYLOAD_FLAG_AFSR | \
2031414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2041414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2051414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2061414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2071414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
208*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
209*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2101414Scindi #define	FM_EREPORT_PAYLOAD_L2_TAG_ECC	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
2111414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2121414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2131414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2141414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2151414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
2161414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
217*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2181414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
2191414Scindi #define	FM_EREPORT_PAYLOAD_L3_TAG_ECC	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
2201414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2211414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2221414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2231414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2241414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
2251414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
226*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2271414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
2281414Scindi #define	FM_EREPORT_PAYLOAD_L2_DATA	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
2291414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2301414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2311414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2321414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2331414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
2341414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
2351414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
2361414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2371414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
2381414Scindi #define	FM_EREPORT_PAYLOAD_L3_DATA	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
2391414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2401414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2411414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2421414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2431414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
2441414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
2451414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
2461414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2471414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
2481414Scindi #define	FM_EREPORT_PAYLOAD_MEMORY	(FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
2491414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
2501414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PC | \
2511414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2521414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2531414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ME | \
2541414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_SYND | \
2551414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE | \
2561414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_ERR_DISP | \
2571414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
2581414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2591414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_L3)
2601414Scindi #define	FM_EREPORT_PAYLOAD_ICACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
2611414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2621414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
263*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAGS_L1I| \
264*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2651414Scindi #define	FM_EREPORT_PAYLOAD_DCACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
2661414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2671414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
268*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAGS_L1D| \
269*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2701414Scindi #define	FM_EREPORT_PAYLOAD_PCACHE_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
2711414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2721414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
273*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAGS_L1P| \
274*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2751414Scindi #define	FM_EREPORT_PAYLOAD_ITLB_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
2761414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2771414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
278*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAGS_ITLB| \
279*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2801414Scindi #define	FM_EREPORT_PAYLOAD_DTLB_PE	(FM_EREPORT_PAYLOAD_FLAG_PC | \
2811414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
2821414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_PRIV | \
2831414Scindi 					    FM_EREPORT_PAYLOAD_FLAGS_DTLB | \
284*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_FAULT_VA| \
285*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE)
2861414Scindi #define	FM_EREPORT_PAYLOAD_FPU_HWCOPY	(FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION |\
2871414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK|\
288*2381Smikechr 					    FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
2891414Scindi 					    FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED)
2901414Scindi /*
2911414Scindi  * FM_EREPORT_PAYLOAD_UNKNOWN
2921414Scindi  */
2931414Scindi #define	FM_EREPORT_CPU_USIII_UNKNOWN		"unknown"
2941414Scindi 
2951414Scindi /*
2961414Scindi  * FM_EREPORT_PAYLOAD_INVALID_AFSR
2971414Scindi  */
2981414Scindi #define	FM_EREPORT_CPU_USIII_INVALID_AFSR	"invalid-afsr"
2991414Scindi 
3001414Scindi /*
3011414Scindi  * FM_EREPORT_PAYLOAD_SYSTEM1
3021414Scindi  */
3031414Scindi #define	FM_EREPORT_CPU_USIII_IVC		"ivc"
3041414Scindi #define	FM_EREPORT_CPU_USIII_IVU		"ivu"
3051414Scindi #define	FM_EREPORT_CPU_USIII_IMC		"imc"
3061414Scindi #define	FM_EREPORT_CPU_USIII_IMU		"imu"
3071414Scindi #define	FM_EREPORT_CPU_USIII_JETO		"jeto"
3081414Scindi #define	FM_EREPORT_CPU_USIII_SCE		"sce"
3091414Scindi #define	FM_EREPORT_CPU_USIII_JEIC		"jeic"
3101414Scindi #define	FM_EREPORT_CPU_USIII_JEIT		"jeit"
3111414Scindi #define	FM_EREPORT_CPU_USIII_JEIS		"jeis"
3121414Scindi #define	FM_EREPORT_CPU_USIII_ISAP		"isap"
3131414Scindi #define	FM_EREPORT_CPU_USIII_IVPE		"ivpe"
3141414Scindi 
3151414Scindi /*
3161414Scindi  * FM_EREPORT_PAYLOAD_SYSTEM2
3171414Scindi  */
3181414Scindi #define	FM_EREPORT_CPU_USIII_PERR		"perr"
3191414Scindi #define	FM_EREPORT_CPU_USIII_IERR		"ierr"
3201414Scindi 
3211414Scindi /*
3221414Scindi  * FM_EREPORT_PAYLOAD_SYSTEM3
3231414Scindi  */
3241414Scindi #define	FM_EREPORT_CPU_USIII_BP			"bp"
3251414Scindi #define	FM_EREPORT_CPU_USIII_WBP		"wbp"
3261414Scindi 
3271414Scindi /*
3281414Scindi  * FM_EREPORT_PAYLOAD_IO
3291414Scindi  */
3301414Scindi #define	FM_EREPORT_CPU_USIII_TO			"to"
3311414Scindi #define	FM_EREPORT_CPU_USIII_BERR		"berr"
3321414Scindi #define	FM_EREPORT_CPU_USIII_DTO		"dto"
3331414Scindi #define	FM_EREPORT_CPU_USIII_DBERR		"dberr"
3341414Scindi #define	FM_EREPORT_CPU_USIII_OM			"om"
3351414Scindi #define	FM_EREPORT_CPU_USIII_UMS		"ums"
3361414Scindi 
3371414Scindi /*
3381414Scindi  * FM_EREPORT_PAYLOAD_L2_TAG_PE
3391414Scindi  */
3401414Scindi #define	FM_EREPORT_CPU_USIII_ETP		"etp"
3411414Scindi 
3421414Scindi /*
3431414Scindi  * FM_EREPORT_PAYLOAD_L2_TAG_ECC
3441414Scindi  */
3451414Scindi #define	FM_EREPORT_CPU_USIII_THCE		"thce"
3461414Scindi #define	FM_EREPORT_CPU_USIII_TSCE		"tsce"
3471414Scindi #define	FM_EREPORT_CPU_USIII_TUE		"tue"
3481414Scindi #define	FM_EREPORT_CPU_USIII_TUE_SH		"tue-sh"
3491414Scindi #define	FM_EREPORT_CPU_USIII_ETU		"etu"
3501414Scindi #define	FM_EREPORT_CPU_USIII_ETC		"etc"
3511414Scindi #define	FM_EREPORT_CPU_USIII_ETI		"eti"
3521414Scindi #define	FM_EREPORT_CPU_USIII_ETS		"ets"
3531414Scindi 
3541414Scindi /*
3551414Scindi  * FM_EREPORT_PAYLOAD_L3_TAG_ECC
3561414Scindi  */
3571414Scindi #define	FM_EREPORT_CPU_USIII_L3_THCE		"l3-thce"
3581414Scindi #define	FM_EREPORT_CPU_USIII_L3_TUE		"l3-tue"
3591414Scindi #define	FM_EREPORT_CPU_USIII_L3_TUE_SH		"l3-tue-sh"
3601414Scindi 
3611414Scindi /*
3621414Scindi  * FM_EREPORT_PAYLOAD_L2_DATA
3631414Scindi  */
3641414Scindi #define	FM_EREPORT_CPU_USIII_UCC		"ucc"
3651414Scindi #define	FM_EREPORT_CPU_USIII_UCU		"ucu"
3661414Scindi #define	FM_EREPORT_CPU_USIII_CPC		"cpc"
3671414Scindi #define	FM_EREPORT_CPU_USIII_CPU		"cpu"
3681414Scindi #define	FM_EREPORT_CPU_USIII_WDC		"wdc"
3691414Scindi #define	FM_EREPORT_CPU_USIII_WDU		"wdu"
3701414Scindi #define	FM_EREPORT_CPU_USIII_EDC		"edc"
3711414Scindi #define	FM_EREPORT_CPU_USIII_EDUBL		"edu-bl"
3721414Scindi #define	FM_EREPORT_CPU_USIII_EDUST		"edu-st"
3731414Scindi 
3741414Scindi /*
3751414Scindi  * FM_EREPORT_PAYLOAD_L3_DATA
3761414Scindi  */
3771414Scindi #define	FM_EREPORT_CPU_USIII_L3_UCC		"l3-ucc"
3781414Scindi #define	FM_EREPORT_CPU_USIII_L3_UCU		"l3-ucu"
3791414Scindi #define	FM_EREPORT_CPU_USIII_L3_CPC		"l3-cpc"
3801414Scindi #define	FM_EREPORT_CPU_USIII_L3_CPU		"l3-cpu"
3811414Scindi #define	FM_EREPORT_CPU_USIII_L3_WDC		"l3-wdc"
3821414Scindi #define	FM_EREPORT_CPU_USIII_L3_WDU		"l3-wdu"
3831414Scindi #define	FM_EREPORT_CPU_USIII_L3_EDC		"l3-edc"
3841414Scindi #define	FM_EREPORT_CPU_USIII_L3_EDUBL		"l3-edu-bl"
3851414Scindi #define	FM_EREPORT_CPU_USIII_L3_EDUST		"l3-edu-st"
3861414Scindi #define	FM_EREPORT_CPU_USIII_L3_MECC		"l3-mecc"
3871414Scindi 
3881414Scindi /*
3891414Scindi  * FM_EREPORT_PAYLOAD_MEMORY
3901414Scindi  */
3911414Scindi #define	FM_EREPORT_CPU_USIII_CE			"ce"
3921414Scindi #define	FM_EREPORT_CPU_USIII_RCE		"rce"
3931414Scindi #define	FM_EREPORT_CPU_USIII_FRC		"frc"
3941414Scindi #define	FM_EREPORT_CPU_USIII_EMC		"emc"
3951414Scindi #define	FM_EREPORT_CPU_USIII_UE			"ue"
3961414Scindi #define	FM_EREPORT_CPU_USIII_DUE		"due"
3971414Scindi #define	FM_EREPORT_CPU_USIII_RUE		"rue"
3981414Scindi #define	FM_EREPORT_CPU_USIII_FRU		"fru"
3991414Scindi #define	FM_EREPORT_CPU_USIII_EMU		"emu"
4001414Scindi 
4011414Scindi /*
4021414Scindi  * FM_EREPORT_PAYLOAD_ICACHE_PE
4031414Scindi  */
4041414Scindi #define	FM_EREPORT_CPU_USIII_IPE		"ipe"
4051414Scindi #define	FM_EREPORT_CPU_USIII_IDSPE		"idspe"
4061414Scindi #define	FM_EREPORT_CPU_USIII_ITSPE		"itspe"
4071414Scindi 
4081414Scindi /*
4091414Scindi  * FM_EREPORT_PAYLOAD_DCACHE_PE
4101414Scindi  */
4111414Scindi #define	FM_EREPORT_CPU_USIII_DPE		"dpe"
4121414Scindi #define	FM_EREPORT_CPU_USIII_DDSPE		"ddspe"
4131414Scindi #define	FM_EREPORT_CPU_USIII_DTSPE		"dtspe"
4141414Scindi 
4151414Scindi /*
4161414Scindi  * FM_EREPORT_PAYLOAD_PCACHE_PE
4171414Scindi  */
4181414Scindi #define	FM_EREPORT_CPU_USIII_PDSPE		"pdspe"
4191414Scindi 
4201414Scindi 
4211414Scindi /*
4221414Scindi  * FM_EREPORT_PAYLOAD_DTLB_PE
4231414Scindi  */
4241414Scindi #define	FM_EREPORT_CPU_USIII_DTLBPE		"dtlbpe"
4251414Scindi 
4261414Scindi /*
4271414Scindi  * FM_EREPORT_PAYLOAD_ITLB_PE
4281414Scindi  */
4291414Scindi #define	FM_EREPORT_CPU_USIII_ITLBPE		"itlbpe"
4301414Scindi 
4311414Scindi /*
4321414Scindi  * FM_EREPORT_PAYLOAD_FPU_HWCOPY
4331414Scindi  */
4341414Scindi #define	FM_EREPORT_CPU_USIII_FPU_HWCOPY		"fpu.hwcopy"
4351414Scindi 
4361414Scindi /*
4371414Scindi  * Magic values for cache dump logflags.
4381414Scindi  * These flags are used to indicate that the structures
4391414Scindi  * defined in cheetahregs.h to capture cache data contain
4401414Scindi  * valid information.
4411414Scindi  */
4421414Scindi #define	EC_LOGFLAG_MAGIC	0xEC0106F1A6	/* =~ EC_LOGFLAG */
4431414Scindi #define	DC_LOGFLAG_MAGIC	0xDC0106F1A6	/* =~ DC_LOGFLAG */
4441414Scindi #define	IC_LOGFLAG_MAGIC	0x1C0106F1A6	/* =~ IC_LOGFLAG */
4451414Scindi #define	PC_LOGFLAG_MAGIC	0x9C0106F1A6	/* =~ PC_LOGFLAG */
4461414Scindi #define	IT_LOGFLAG_MAGIC	0x170106F1A6	/* =~ IT_LOGFLAG */
4471414Scindi #define	DT_LOGFLAG_MAGIC	0xD70106F1A6	/* =~ DT_LOGFLAG */
4481414Scindi 
4491414Scindi 
4501414Scindi #ifdef	__cplusplus
4511414Scindi }
4521414Scindi #endif
4531414Scindi 
4541414Scindi #endif	/* _SYS_FM_ULTRASPARC_III_H */
455