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_IO_SUN4_FIRE_H
27#define	_SYS_FM_IO_SUN4_FIRE_H
28
29#pragma ident	"%Z%%M%	%I%	%E% SMI"
30
31#ifdef	__cplusplus
32extern "C" {
33#endif
34
35
36/*
37 * Fire Ereport Classes
38 */
39
40#define	PCIEX_FIRE		"fire"
41#define	PCIEX_OBERON		"oberon"
42
43/* FIRE's JBUS ereport classes */
44#define	FIRE_JBC_MB_PEA			"jbc.mb_pea"
45#define	FIRE_JBC_CPE			"jbc.cpe"
46#define	FIRE_JBC_APE			"jbc.ape"
47#define	FIRE_JBC_PIO_CPE		"jbc.pio_cpe"
48#define	FIRE_JBC_JTCEEW			"jbc.jtceew"
49#define	FIRE_JBC_JTCEEI			"jbc.jtceei"
50#define	FIRE_JBC_JTCEER			"jbc.jtceer"
51#define	FIRE_JBC_MB_PER			"jbc.mb_per"
52#define	FIRE_JBC_MB_PEW			"jbc.mb_pew"
53#define	FIRE_JBC_UE_ASYN		"jbc.ue_asyn"
54#define	FIRE_JBC_CE_ASYN		"jbc.ce_asyn"
55#define	FIRE_JBC_JTE			"jbc.jte"
56#define	FIRE_JBC_JBE			"jbc.jbe"
57#define	FIRE_JBC_JUE			"jbc.jue"
58#define	FIRE_JBC_ICISE			"jbc.icise"
59#define	FIRE_JBC_WR_DPE			"jbc.wr_dpe"
60#define	FIRE_JBC_RD_DPE			"jbc.rd_dpe"
61#define	FIRE_JBC_ILL_BMW		"jbc.ill_bmw"
62#define	FIRE_JBC_ILL_BMR		"jbc.ill_bmr"
63#define	FIRE_JBC_BJC			"jbc.bjc"
64#define	FIRE_JBC_IJP			"jbc.ijp"
65#define	FIRE_JBC_PIO_UNMAP_RD		"jbc.pio_unmap_rd"
66#define	FIRE_JBC_PIO_UNMAP		"jbc.pio_unmap"
67#define	FIRE_JBC_PIO_DPE		"jbc.pio_dpe"
68#define	FIRE_JBC_ILL_ACC		"jbc.ill_acc"
69#define	FIRE_JBC_ILL_ACC_RD		"jbc.ill_acc_rd"
70#define	FIRE_JBC_UNSOL_RD		"jbc.unsol_rd"
71#define	FIRE_JBC_UNSOL_INTR		"jbc.unsol_intr"
72#define	FIRE_JBC_EBUS_TO		"jbc.ebus_to"
73
74/* OBERON's UBC ereport classes */
75#define	FIRE_UBC_DMARDUEA		"ubc.dmarduea"
76#define	FIRE_UBC_DMAWTUEA		"ubc.dmawtuea"
77#define	FIRE_UBC_MEMRDAXA		"ubc.memrdaxa"
78#define	FIRE_UBC_MEMWTAXA		"ubc.memwtaxa"
79#define	FIRE_UBC_DMARDUEB		"ubc.dmardueb"
80#define	FIRE_UBC_DMAWTUEB		"ubc.dmawtueb"
81#define	FIRE_UBC_MEMRDAXB		"ubc.memrdaxb"
82#define	FIRE_UBC_MEMWTAXB		"ubc.memwtaxb"
83#define	FIRE_UBC_PIOWTUE		"ubc.piowtue"
84#define	FIRE_UBC_PIOWBEUE		"ubc.piowbeue"
85#define	FIRE_UBC_PIORBEUE		"ubc.piorbeue"
86
87/* FIRE's DMC ereport classes */
88#define	FIRE_DMC_MSI_NOT_EN		"dmc.msi_not_en"
89#define	FIRE_DMC_MSI_PAR_ERR		"dmc.msi_par_err"
90#define	FIRE_DMC_MSI_MAL_ERR		"dmc.msi_mal_err"
91#define	FIRE_DMC_COR_MES_NOT_EN		"dmc.cor_not_en"
92#define	FIRE_DMC_NONFATAL_MES_NOT_EN	"dmc.nonfatal_not_en"
93#define	FIRE_DMC_FATAL_MES_NOT_EN	"dmc.fatal_not_en"
94#define	FIRE_DMC_PMPME_MES_NOT_EN	"dmc.pmpme_not_en"
95#define	FIRE_DMC_PMEACK_MES_NOT_EN	"dmc.pmeack_not_en"
96#define	FIRE_DMC_EQ_NOT_EN		"dmc.eq_not_en"
97#define	FIRE_DMC_EQ_OVER		"dmc.eq_over"
98#define	FIRE_DMC_BYP_ERR		"dmc.byp_err"
99#define	FIRE_DMC_BYP_OOR		"dmc.byp_oor"
100#define	FIRE_DMC_TRN_ERR		"dmc.trn_err"
101#define	FIRE_DMC_TRN_OOR		"dmc.trn_oor"
102#define	FIRE_DMC_TTE_INV		"dmc.tte_inv"
103#define	FIRE_DMC_TTE_PRT		"dmc.tte_prt"
104#define	FIRE_DMC_TTC_DPE		"dmc.ttc_dpe"
105#define	FIRE_DMC_TBW_DME		"dmc.tbw_dme"
106#define	FIRE_DMC_TBW_UDE		"dmc.tbw_ude"
107#define	FIRE_DMC_TBW_ERR		"dmc.tbw_err"
108#define	FIRE_DMC_TBW_DPE		"dmc.tbw_dpe"
109#define	FIRE_DMC_TTC_CAE		"dmc.ttc_cae"
110#define	FIRE_DMC_TTC_DUE		"dmc.ttc_due"
111
112
113/* FIRE's PEC ereport classes */
114#define	FIRE_PEC_IHB_PE			"pec.ihb_pe"
115#define	FIRE_PEC_MRC			"pec.mrc"
116#define	FIRE_PEC_WUC			"pec.wuc"
117#define	FIRE_PEC_RUC			"pec.ruc"
118#define	FIRE_PEC_CRS			"pec.crs"
119#define	FIRE_PEC_IIP			"pec.iip"
120#define	FIRE_PEC_EDP			"pec.edp"
121#define	FIRE_PEC_EHP			"pec.ehp"
122#define	FIRE_PEC_LIN			"pec.lin"
123#define	FIRE_PEC_LRS			"pec.lrs"
124#define	FIRE_PEC_LDN			"pec.ldn"
125#define	FIRE_PEC_LUP			"pec.lup"
126#define	FIRE_PEC_ERU			"pec.eru"
127#define	FIRE_PEC_ERO			"pec.ero"
128#define	FIRE_PEC_EMP			"pec.emp"
129#define	FIRE_PEC_EPE			"pec.epe"
130#define	FIRE_PEC_ERP			"pec.erp"
131#define	FIRE_PEC_EIP			"pec.eip"
132#define	FIRE_PEC_UR			"pec.ur"
133#define	FIRE_PEC_ROF			"pec.rof"
134#define	FIRE_PEC_UC			"pec.uc"
135#define	FIRE_PEC_CTO			"pec.cto"
136#define	FIRE_PEC_MFP			"pec.mfp"
137#define	FIRE_PEC_PP			"pec.pois"
138#define	FIRE_PEC_FCP			"pec.fcp"
139#define	FIRE_PEC_DLP			"pec.dlp"
140#define	FIRE_PEC_TE			"pec.te"
141#define	FIRE_PEC_CA			"pec.ca"
142#define	FIRE_PEC_RTO			"pec.rto"
143#define	FIRE_PEC_RNR			"pec.rnr"
144#define	FIRE_PEC_BDP			"pec.bdp"
145#define	FIRE_PEC_BTP			"pec.btp"
146#define	FIRE_PEC_RE			"pec.re"
147#define	FIRE_PEC_IHB_UE			"pec.ihb_ue"
148#define	FIRE_PEC_ECRC			"pec.ecrc"
149#define	FIRE_PEC_EIUE			"pec.eiue"
150#define	FIRE_PEC_ERBUE			"pec.erbue"
151#define	FIRE_PEC_EHBUE			"pec.ehbue"
152#define	FIRE_PEC_EDBUE			"pec.edbue"
153#define	FIRE_PEC_TLUEITMO		"pec.tlueitmo"
154
155/* Primary error */
156#define	FIRE_PRIMARY			"primary"
157
158/* PEC ereport payload */
159#define	FIRE_ILU_ELE			"ilu-ele"
160#define	FIRE_ILU_ESS			"ilu-ess"
161#define	FIRE_ILU_IE			"ilu-ie"
162#define	FIRE_ILU_IS			"ilu-is"
163#define	FIRE_TLU_CELE			"tlu-cele"
164#define	FIRE_TLU_CESS			"tlu-cess"
165#define	FIRE_TLU_CIE			"tlu-cie"
166#define	FIRE_TLU_CIS			"tlu-cis"
167#define	FIRE_TLU_OEELE			"tlu-oeele"
168#define	FIRE_TLU_OEESS			"tlu-oeess"
169#define	FIRE_TLU_OEIE			"tlu-oeie"
170#define	FIRE_TLU_OEIS			"tlu-oeis"
171#define	FIRE_TLU_ROEEH1L		"tlu-roeeh1l"
172#define	FIRE_TLU_ROEEH2L		"tlu-roeeh2l"
173#define	FIRE_TLU_RUEH1L			"tlu-rueh1l"
174#define	FIRE_TLU_RUEH2L			"tlu-rueh2l"
175#define	FIRE_TLU_TOEEH1L		"tlu-toeeh1l"
176#define	FIRE_TLU_TOEEH2L		"tlu-toeeh2l"
177#define	FIRE_TLU_TUEH1L			"tlu-tueh1l"
178#define	FIRE_TLU_TUEH2L			"tlu-tueh2l"
179#define	FIRE_TLU_UELE			"tlu-uele"
180#define	FIRE_TLU_UESS			"tlu-uess"
181#define	FIRE_TLU_UIE			"tlu-uie"
182#define	FIRE_TLU_UIS			"tlu-uis"
183
184/* DMC ereport payload */
185#define	FIRE_IMU_ELE			"imu-ele"
186#define	FIRE_IMU_ESS			"imu-ess"
187#define	FIRE_IMU_IE			"imu-ie"
188#define	FIRE_IMU_IS			"imu-is"
189#define	FIRE_IMU_RDS			"imu-rds"
190#define	FIRE_IMU_SCS			"imu-scs"
191#define	FIRE_MMU_ELE			"mmu-ele"
192#define	FIRE_MMU_ESS			"mmu-ess"
193#define	FIRE_MMU_IE			"mmu-ie"
194#define	FIRE_MMU_IS			"mmu-is"
195#define	FIRE_MMU_TFAR			"mmu-tfar"
196#define	FIRE_MMU_TFSR			"mmu-tfsr"
197
198/* JBC ereport payload */
199#define	FIRE_JBC_DMC_IDC		"jbc-dmc-idc"
200#define	FIRE_JBC_DMC_ODCD		"jbc-dmc-odcd"
201#define	FIRE_JBC_ELE			"jbc-ele"
202#define	FIRE_JBC_ESS			"jbc-ess"
203#define	FIRE_JBC_FEL1			"jbc-fel1"
204#define	FIRE_JBC_FEL2			"jbc-fel2"
205#define	FIRE_JBC_IE			"jbc-ie"
206#define	FIRE_JBC_IS			"jbc-is"
207#define	FIRE_JBC_JITEL1			"jbc-jitel1"
208#define	FIRE_JBC_JITEL2			"jbc-jitel2"
209#define	FIRE_JBC_JOTEL1			"jbc-jotel1"
210#define	FIRE_JBC_JOTEL2			"jbc-jotel2"
211#define	FIRE_JBC_MTEL			"jbc-mtel"
212
213/* UBC ereport payload */
214#define	OBERON_UBC_ELE			"ubc-ele"
215#define	OBERON_UBC_IE			"ubc-ie"
216#define	OBERON_UBC_IS			"ubc-is"
217#define	OBERON_UBC_ESS			"ubc-ess"
218#define	OBERON_UBC_MUE			"ubc-mue"
219#define	OBERON_UBC_UNUM			"ubc-unum"
220#define	OBERON_UBC_DID			"ubc-did"
221#define	OBERON_UBC_CPUV			"ubc-cpuv"
222#define	OBERON_UBC_RESOURCE		"resource"
223
224#ifdef	__cplusplus
225}
226#endif
227
228#endif	/* _SYS_FM_IO_SUN4_FIRE_H */
229