xref: /illumos-gate/usr/src/uts/common/sys/fm/io/pci.h (revision 2d6eb4a5)
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 2008 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25 
26 #ifndef _SYS_FM_IO_PCI_H
27 #define	_SYS_FM_IO_PCI_H
28 
29 #ifdef	__cplusplus
30 extern "C" {
31 #endif
32 
33 #define	PCI_ERROR_SUBCLASS	"pci"
34 #define	PCI_SEC_ERROR_SUBCLASS	"sec"
35 
36 /* Common PCI ereport classes */
37 #define	PCI_DET_PERR		"dpe"
38 #define	PCI_MDPE		"mdpe"
39 #define	PCI_REC_SERR		"rserr"
40 #define	PCI_SIG_SERR		"sserr"
41 #define	PCI_MA			"ma"
42 #define	PCI_REC_TA		"rta"
43 #define	PCI_SIG_TA		"sta"
44 #define	PCI_DTO			"dto"
45 #define	PCI_TARG_MDPE		"target-mdpe"
46 #define	PCI_TARG_MA		"target-ma"
47 #define	PCI_TARG_REC_TA		"target-rta"
48 #define	PCI_NR			"nr"
49 
50 /* PCI Error payload name fields */
51 #define	PCI_CONFIG_STATUS	"pci-status"
52 #define	PCI_CONFIG_COMMAND	"pci-command"
53 #define	PCI_SEC_CONFIG_STATUS	"pci-sec-status"
54 #define	PCI_BCNTRL		"pci-bdg-ctrl"
55 #define	PCI_PA			"pci-pa"
56 
57 /*
58  * PCI-X extensions
59  */
60 #define	PCIX_ERROR_SUBCLASS	"pcix"
61 #define	PCIX_SEC_ERROR_SUBCLASS "sec-"
62 
63 /* Common PCI-X ereport classes */
64 #define	PCIX_ECC_CE_ADDR	"ecc.ce-addr"
65 #define	PCIX_ECC_CE_ATTR	"ecc.ce-attr"
66 #define	PCIX_ECC_CE_DATA	"ecc.ce-data"
67 #define	PCIX_ECC_UE_ADDR	"ecc.ue-addr"
68 #define	PCIX_ECC_UE_ATTR	"ecc.ue-attr"
69 #define	PCIX_ECC_UE_DATA	"ecc.ue-data"
70 #define	PCIX_RX_SPL_MSG		"rx-spl"
71 #define	PCIX_ECC_S_CE		"s-ce"
72 #define	PCIX_ECC_S_UE		"s-ue"
73 #define	PCIX_SPL_DIS		"spl-dis"
74 #define	PCIX_BSS_SPL_DLY	"spl-dly"
75 #define	PCIX_BSS_SPL_OR		"spl-or"
76 #define	PCIX_UNEX_SPL		"unex-spl"
77 
78 #define	PCIX_SEC_STATUS		"pcix-sec-status"
79 #define	PCIX_BDG_STAT		"pcix-bdg-stat"
80 #define	PCIX_COMMAND		"pcix-command"
81 #define	PCIX_STATUS		"pcix-status"
82 #define	PCIX_ECC_CTLSTAT	"pcix-ecc-ctlstat"
83 #define	PCIX_ECC_ATTR		"pcix-ecc-attr"
84 
85 /*
86  * PCI Express extensions
87  */
88 #define	PCIEX_ERROR_SUBCLASS		"pciex"
89 
90 /* Common PCI Express ereport classes */
91 #define	PCIEX_RE		"pl.re"
92 #define	PCIEX_TE		"pl.te"
93 
94 #define	PCIEX_SD		"dl.sd"
95 #define	PCIEX_BDP		"dl.bdllp"
96 #define	PCIEX_BTP		"dl.btlp"
97 #define	PCIEX_DLP		"dl.dllp"
98 #define	PCIEX_RNR		"dl.rnr"
99 #define	PCIEX_RTO		"dl.rto"
100 
101 #define	PCIEX_CA		"tl.ca"
102 #define	PCIEX_CTO		"tl.cto"
103 #define	PCIEX_ECRC		"tl.ecrc"
104 #define	PCIEX_FCP		"tl.fcp"
105 #define	PCIEX_MFP		"tl.mtlp"
106 #define	PCIEX_POIS		"tl.ptlp"
107 #define	PCIEX_ROF		"tl.rof"
108 #define	PCIEX_UC		"tl.uc"
109 #define	PCIEX_UR		"tl.ur"
110 
111 #define	PCIEX_INTERR		"bdg.sec-interr"
112 #define	PCIEX_S_MA_SC		"bdg.sec-ma-sc"
113 #define	PCIEX_S_PERR		"bdg.sec-perr"
114 #define	PCIEX_S_RMA		"bdg.sec-rma"
115 #define	PCIEX_S_RTA		"bdg.sec-rta"
116 #define	PCIEX_S_SERR		"bdg.sec-serr"
117 #define	PCIEX_S_TA_SC		"bdg.sec-ta-sc"
118 #define	PCIEX_S_TEX		"bdg.sec-tex"
119 #define	PCIEX_S_UADR		"bdg.sec-uadr"
120 #define	PCIEX_S_UAT		"bdg.sec-uat"
121 #define	PCIEX_S_UDE		"bdg.sec-ude"
122 #define	PCIEX_S_USC		"bdg.usc"
123 #define	PCIEX_S_USCMD		"bdg.uscmd"
124 
125 #define	PCIEX_RC_FE_MSG		"rc.fe-msg"
126 #define	PCIEX_RC_NFE_MSG	"rc.nfe-msg"
127 #define	PCIEX_RC_CE_MSG		"rc.ce-msg"
128 #define	PCIEX_RC_MCE_MSG	"rc.mce-msg"
129 #define	PCIEX_RC_MUE_MSG	"rc.mue-msg"
130 
131 #define	PCIEX_CORR		"correctable"
132 #define	PCIEX_FAT		"fatal"
133 #define	PCIEX_NONFAT		"nonfatal"
134 #define	PCIEX_NADV		"noadverr"
135 #define	PCIEX_ANFE		"a-nonfatal"
136 
137 /* PCI Express payload name fields */
138 #define	PCIEX_DEVSTS_REG	"dev-status"
139 #define	PCIEX_LINKSTS_REG	"link-status"
140 #define	PCIEX_ROOT_ERRSTS_REG	"rc-status"
141 #define	PCIEX_CE_STATUS_REG	"ce-status"
142 #define	PCIEX_UE_STATUS_REG	"ue-status"
143 #define	PCIEX_UE_SEV_REG	"ue-severity"
144 #define	PCIEX_SEC_UE_STATUS	"sue-status"
145 #define	PCIEX_SRC_ID		"source-id"
146 #define	PCIEX_SRC_VALID		"source-valid"
147 #define	PCIEX_ADV_CTL		"adv-ctl"
148 #define	PCIEX_UE_HDR0		"ue_hdr0"
149 #define	PCIEX_UE_HDR1		"ue_hdr1"
150 #define	PCIEX_UE_HDR2		"ue_hdr2"
151 #define	PCIEX_UE_HDR3		"ue_hdr3"
152 #define	PCIEX_SUE_HDR0		"sue_hdr0"
153 #define	PCIEX_SUE_HDR1		"sue_hdr1"
154 #define	PCIEX_SUE_HDR2		"sue_hdr2"
155 #define	PCIEX_SUE_HDR3		"sue_hdr3"
156 
157 /* Common fabric class names */
158 #define	PCIEX_FABRIC		"fabric"
159 
160 #ifdef	__cplusplus
161 }
162 #endif
163 
164 #endif	/* _SYS_FM_IO_PCI_H */
165