pci.h revision f41150baf74bdaf964ddfe42d865d3c2380b3623
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson/*
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * CDDL HEADER START
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson *
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * The contents of this file are subject to the terms of the
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * Common Development and Distribution License (the "License").
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * You may not use this file except in compliance with the License.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson *
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * or http://www.opensolaris.org/os/licensing.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * See the License for the specific language governing permissions
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * and limitations under the License.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson *
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * When distributing Covered Code, include this CDDL HEADER in each
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * If applicable, add the following below this CDDL HEADER, with the
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * fields enclosed by brackets "[]" replaced with your own identifying
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * information: Portions Copyright [yyyy] [name of copyright owner]
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson *
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * CDDL HEADER END
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson */
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson/*
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson * Use is subject to license terms.
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson */
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#ifndef _SYS_FM_IO_PCI_H
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define _SYS_FM_IO_PCI_H
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#pragma ident "%Z%%M% %I% %E% SMI"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#ifdef __cplusplus
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleesonextern "C" {
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#endif
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_ERROR_SUBCLASS "pci"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_SEC_ERROR_SUBCLASS "sec"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson/* Common PCI ereport classes */
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_DET_PERR "dpe"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_MDPE "mdpe"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_REC_SERR "rserr"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_SIG_SERR "sserr"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_MA "ma"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_REC_TA "rta"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_SIG_TA "sta"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_DTO "dto"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_TARG_MDPE "target-mdpe"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_TARG_MA "target-ma"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_TARG_REC_TA "target-rta"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_NR "nr"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson/* PCI Error payload name fields */
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_CONFIG_STATUS "pci-status"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_CONFIG_COMMAND "pci-command"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_SEC_CONFIG_STATUS "pci-sec-status"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_BCNTRL "pci-bdg-ctrl"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson#define PCI_PA "pci-pa"
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson
1bdd6c0e3710e91cb1f31aa78de33cb638494480Sue Gleeson/*
* PCI-X extensions
*/
#define PCIX_ERROR_SUBCLASS "pcix"
#define PCIX_SEC_ERROR_SUBCLASS "sec-"
/* Common PCI-X ereport classes */
#define PCIX_ECC_CE_ADDR "ecc.ce-addr"
#define PCIX_ECC_CE_ATTR "ecc.ce-attr"
#define PCIX_ECC_CE_DATA "ecc.ce-data"
#define PCIX_ECC_UE_ADDR "ecc.ue-addr"
#define PCIX_ECC_UE_ATTR "ecc.ue-attr"
#define PCIX_ECC_UE_DATA "ecc.ue-data"
#define PCIX_RX_SPL_MSG "rx-spl"
#define PCIX_ECC_S_CE "s-ce"
#define PCIX_ECC_S_UE "s-ue"
#define PCIX_SPL_DIS "spl-dis"
#define PCIX_BSS_SPL_DLY "spl-dly"
#define PCIX_BSS_SPL_OR "spl-or"
#define PCIX_UNEX_SPL "unex-spl"
#define PCIX_SEC_STATUS "pcix-sec-status"
#define PCIX_BDG_STAT "pcix-bdg-stat"
#define PCIX_COMMAND "pcix-command"
#define PCIX_STATUS "pcix-status"
#define PCIX_ECC_CTLSTAT "pcix-ecc-ctlstat"
#define PCIX_ECC_ATTR "pcix-ecc-attr"
/*
* PCI Express extensions
*/
#define PCIEX_ERROR_SUBCLASS "pciex"
/* Common PCI Express ereport classes */
#define PCIEX_RE "pl.re"
#define PCIEX_TE "pl.te"
#define PCIEX_SD "dl.sd"
#define PCIEX_BDP "dl.bdllp"
#define PCIEX_BTP "dl.btlp"
#define PCIEX_DLP "dl.dllp"
#define PCIEX_RNR "dl.rnr"
#define PCIEX_RTO "dl.rto"
#define PCIEX_CA "tl.ca"
#define PCIEX_CTO "tl.cto"
#define PCIEX_ECRC "tl.ecrc"
#define PCIEX_FCP "tl.fcp"
#define PCIEX_MFP "tl.mtlp"
#define PCIEX_POIS "tl.ptlp"
#define PCIEX_ROF "tl.rof"
#define PCIEX_UC "tl.uc"
#define PCIEX_UR "tl.ur"
#define PCIEX_INTERR "bdg.sec-interr"
#define PCIEX_S_MA_SC "bdg.sec-ma-sc"
#define PCIEX_S_PERR "bdg.sec-perr"
#define PCIEX_S_RMA "bdg.sec-rma"
#define PCIEX_S_RTA "bdg.sec-rta"
#define PCIEX_S_SERR "bdg.sec-serr"
#define PCIEX_S_TA_SC "bdg.sec-ta-sc"
#define PCIEX_S_TEX "bdg.sec-tex"
#define PCIEX_S_UADR "bdg.sec-uadr"
#define PCIEX_S_UAT "bdg.sec-uat"
#define PCIEX_S_UDE "bdg.sec-ude"
#define PCIEX_S_USC "bdg.usc"
#define PCIEX_S_USCMD "bdg.uscmd"
#define PCIEX_RC_FE_MSG "rc.fe-msg"
#define PCIEX_RC_NFE_MSG "rc.nfe-msg"
#define PCIEX_RC_CE_MSG "rc.ce-msg"
#define PCIEX_RC_MCE_MSG "rc.mce-msg"
#define PCIEX_RC_MUE_MSG "rc.mue-msg"
#define PCIEX_CORR "correctable"
#define PCIEX_FAT "fatal"
#define PCIEX_NONFAT "nonfatal"
#define PCIEX_NADV "noadverr"
#define PCIEX_ANFE "a-nonfatal"
/* PCI Express payload name fields */
#define PCIEX_DEVSTS_REG "dev-status"
#define PCIEX_LINKSTS_REG "link-status"
#define PCIEX_ROOT_ERRSTS_REG "rc-status"
#define PCIEX_CE_STATUS_REG "ce-status"
#define PCIEX_UE_STATUS_REG "ue-status"
#define PCIEX_UE_SEV_REG "ue-severity"
#define PCIEX_SEC_UE_STATUS "sue-status"
#define PCIEX_SRC_ID "source-id"
#define PCIEX_SRC_VALID "source-valid"
#define PCIEX_ADV_CTL "adv-ctl"
#define PCIEX_UE_HDR0 "ue_hdr0"
#define PCIEX_UE_HDR1 "ue_hdr1"
#define PCIEX_UE_HDR2 "ue_hdr2"
#define PCIEX_UE_HDR3 "ue_hdr3"
#define PCIEX_SUE_HDR0 "sue_hdr0"
#define PCIEX_SUE_HDR1 "sue_hdr1"
#define PCIEX_SUE_HDR2 "sue_hdr2"
#define PCIEX_SUE_HDR3 "sue_hdr3"
/* Common fabric class names */
#define PCIEX_FABRIC "fabric"
#ifdef __cplusplus
}
#endif
#endif /* _SYS_FM_IO_PCI_H */