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, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#ifndef	_SYS_FM_IO_SUN4UPCI_H
28#define	_SYS_FM_IO_SUN4UPCI_H
29
30#pragma ident	"%Z%%M%	%I%	%E% SMI"
31
32#ifdef	__cplusplus
33extern "C" {
34#endif
35
36/* Sun4u PCI FMA Event Protocol definitions */
37
38#define	PCI_PSYCHO			"psy"
39#define	PCI_SCHIZO			"sch"
40#define	PCI_TOMATILLO			"tom"
41#define	PCI_XMITS			"xmits"
42
43/* PBM ereport classes */
44#define	PCI_PBM_TTO			"pbm.tto"
45#define	PCI_PBM_RETRY			"pbm.rl"
46#define	PCI_SEC_PBM_TTO			"pbm.s-tto"
47#define	PCI_SEC_PBM_RETRY		"pbm.s-rl"
48#define	PCI_SEC_MA			"pbm.s-ma"
49#define	PCI_SEC_REC_TA			"pbm.s-rta"
50#define	PCI_SEC_MDPE			"pbm.s-mdpe"
51#define	PCI_PBM_TARG_TTO		"pbm.target-tto"
52#define	PCI_PBM_TARG_RETRY		"pbm.target-rl"
53
54/* Schizo/Tomatillo ereport classes */
55#define	PCI_SCH_MMU_ERR			"mmu"
56#define	PCI_SCH_BUS_UNUSABLE_ERR	"bu"
57#define	PCI_SEC_SCH_BUS_UNUSABLE_ERR	"s-bu"
58#define	PCI_SCH_SLOT_LOCK_ERR		"sl"
59#define	PCI_SCH_SBH			"sbh"
60
61#define	PCI_TOM_MMU_BAD_TSBTBW		"mmu.btt"
62#define	PCI_TOM_MMU_BAD_VA		"mmu.bva"
63#define	PCI_TOM_MMU_PROT_ERR		"mmu.prot"
64#define	PCI_TOM_MMU_INVAL_ERR		"mmu.inval"
65#define	PCI_TOM_MMU_TO_ERR		"mmu.to"
66#define	PCI_TOM_MMU_UE			"mmu.ue"
67
68/* Psycho ereport classes */
69
70#define	PCI_PSY_SBH			"sbh"
71
72/* IO detected memory ereport classes */
73#define	PCI_ECC_DRD_UE			"ecc.drue"
74#define	PCI_ECC_DRD_CE			"ecc.drce"
75#define	PCI_ECC_DWR_UE			"ecc.dwue"
76#define	PCI_ECC_DWR_CE			"ecc.dwce"
77#define	PCI_ECC_PIO_UE			"ecc.pue"
78#define	PCI_ECC_PIO_CE			"ecc.pce"
79#define	PCI_ECC_SEC_DRD_UE		"ecc.s-drue"
80#define	PCI_ECC_SEC_DRD_CE		"ecc.s-drce"
81#define	PCI_ECC_SEC_DWR_UE		"ecc.s-dwue"
82#define	PCI_ECC_SEC_DWR_CE		"ecc.s-dwce"
83#define	PCI_ECC_SEC_PIO_UE		"ecc.s-pue"
84#define	PCI_ECC_SEC_PIO_CE		"ecc.s-pce"
85
86
87/* Safari ereport classes */
88#define	SAFARI_APERR			"saf.ape"
89#define	SAFARI_UNMAP_ERR		"saf.um"
90#define	SAFARI_TO_ERR			"saf.to"
91#define	SAFARI_BUS_ERR			"saf.bus"
92#define	SAFARI_DSTAT_ERR		"saf.dstat"
93#define	SAFARI_BAD_CMD			"saf.bc"
94#define	SAFARI_SSM_DIS			"saf.smm-dis"
95#define	SAFARI_BAD_CMD_PCIA		"saf.bca"
96#define	SAFARI_BAD_CMD_PCIB		"saf.bcb"
97#define	SAFARI_PAR_ERR_INT_PCIB		"saf.parb"
98#define	SAFARI_PAR_ERR_INT_PCIA		"saf.para"
99#define	SAFARI_PAR_ERR_INT_SAF		"saf.pars"
100#define	SAFARI_PLL_ERR_PCIB		"saf.pllb"
101#define	SAFARI_PLL_ERR_PCIA		"saf.plla"
102#define	SAFARI_PLL_ERR_SAF		"saf.plls"
103#define	SAFARI_SAF_CIQ_TO		"saf.ciq-to"
104#define	SAFARI_SAF_LPQ_TO		"saf.lpq-to"
105#define	SAFARI_SAF_SFPQ_TO		"saf.sfpq-to"
106#define	SAFARI_SAF_UFPQ_TO		"saf.ufpq-to"
107#define	SAFARI_CPU0_PAR_SINGLE		"saf.cpu0-par"
108#define	SAFARI_CPU0_PAR_BIDI		"saf.cpu0-bidi"
109#define	SAFARI_CPU1_PAR_SINGLE		"saf.cpu1-par"
110#define	SAFARI_CPU1_PAR_BIDI		"saf.cpu1-bidi"
111
112/* Jbus ereport classes */
113#define	JBUS_APERR			"jbus.ape"
114#define	JBUS_PWR_DATA_PERR		"jbus.pwpe"
115#define	JBUS_DRD_DATA_PERR		"jbus.drpe"
116#define	JBUS_DWR_DATA_PERR		"jbus.dwpe"
117#define	JBUS_CTL_PERR			"jbus.cpe"
118#define	JBUS_ILL_BYTE_EN		"jbus.ibe"
119#define	JBUS_ILL_COH_IN			"jbus.iis"
120#define	JBUS_SNOOP_ERR_RD		"jbus.srd"
121#define	JBUS_SNOOP_ERR_RDS		"jbus.srds"
122#define	JBUS_SNOOP_ERR_RDSA		"jbus.srdsa"
123#define	JBUS_SNOOP_ERR_OWN		"jbus.sown"
124#define	JBUS_SNOOP_ERR_RDO		"jbus.srdo"
125#define	JBUS_BAD_CMD			"jbus.bc"
126#define	JBUS_UNMAP_ERR			"jbus.um"
127#define	JBUS_TO_ERR			"jbus.to"
128#define	JBUS_BUS_ERR			"jbus.bus"
129#define	JBUS_TO_EXP_ERR			"jbus.to-exp"
130#define	JBUS_SNOOP_ERR_GR		"jbus.sgr"
131#define	JBUS_SNOOP_ERR_PCI		"jbus.spci"
132#define	JBUS_SNOOP_ERR			"jbus.snp"
133
134/* PBM ereport payload */
135#define	PCI_PBM_CSR			"pbm-csr"
136#define	PCI_PBM_AFSR			"pbm-afsr"
137#define	PCI_PBM_AFAR			"pbm-afar"
138#define	PCI_PBM_SLOT			"errant-slot"
139#define	PCI_PBM_VALOG			"pbm-valog"
140
141/* IOMMU ereport payload */
142#define	PCI_PBM_IOMMU_CTRL		"iommu-csr"
143#define	PCI_PBM_IOMMU_TFAR		"iommu-tfar"
144
145/* IO detected memory error payload */
146#define	PCI_ECC_AFSR			"ecc-afsr"
147#define	PCI_ECC_AFAR			"ecc-afar"
148#define	PCI_ECC_CTRL			"ecc-ctrl"
149#define	PCI_ECC_SYND			"ecc-syndrome"
150#define	PCI_ECC_TYPE			"ecc-err-type"
151#define	PCI_ECC_DISP			"ecc-err-disposition"
152#define	PCI_ECC_UNUM			"mem-unum"
153#define	PCI_ECC_RESOURCE		"mem-resource"
154
155/* Safari ereport payload */
156#define	SAFARI_CSR			"safari-csr"
157#define	SAFARI_ERR			"safari-err"
158#define	SAFARI_INTR			"safari-intr"
159#define	SAFARI_ELOG			"safari-elog"
160#define	SAFARI_PCR			"safari-pcr"
161#define	SAFARI_RESOURCE			"safari-resource"
162#define	PCI_PBM_LOG_1			"pbm-log1"
163#define	PCI_PBM_LOG_2			"pbm-log2"
164
165/* Jbus ereport payload */
166#define	JBUS_CSR			"jbus-csr"
167#define	JBUS_ERR			"jbus-err"
168#define	JBUS_INTR			"jbus-intr"
169#define	JBUS_ELOG			"jbus-elog"
170#define	JBUS_PCR			"jbus-pcr"
171#define	JBUS_RESOURCE			"jbus-resource"
172
173#ifdef	__cplusplus
174}
175#endif
176
177#endif	/* _SYS_FM_IO_SUN4UPCI_H */
178