17c478bd9Sstevel@tonic-gate/* 27c478bd9Sstevel@tonic-gate * CDDL HEADER START 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 500d0963fSdilpreet * Common Development and Distribution License (the "License"). 600d0963fSdilpreet * You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate * 87c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate * and limitations under the License. 127c478bd9Sstevel@tonic-gate * 137c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate * 197c478bd9Sstevel@tonic-gate * CDDL HEADER END 207c478bd9Sstevel@tonic-gate */ 217c478bd9Sstevel@tonic-gate/* 22*05dd151bSStephen Hanson * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate * Use is subject to license terms. 247c478bd9Sstevel@tonic-gate */ 257c478bd9Sstevel@tonic-gate 267c478bd9Sstevel@tonic-gate#pragma dictionary "PCI" 277c478bd9Sstevel@tonic-gate 280eb822a1Scindi#include <fm/topo_hc.h> 290eb822a1Scindi 307c478bd9Sstevel@tonic-gate#define PCI_DEV_FIT 1000 317c478bd9Sstevel@tonic-gate#define PCI_BUS_FIT 500 327c478bd9Sstevel@tonic-gate 3300d0963fSdilpreet/* 3400d0963fSdilpreet * SERD parameters. 3500d0963fSdilpreet * 3600d0963fSdilpreet * Nonfatal dpe errors have to be recovered by the hardened driver which may 3700d0963fSdilpreet * cause intermittant performance/responsiveness problems, so we have tighter 3800d0963fSdilpreet * serd parameters for these. These are most likely errors in buffers/caches 3900d0963fSdilpreet * within devices and bridges, so use similar rates to cpu data cache parity 4000d0963fSdilpreet * errors. 4100d0963fSdilpreet * 4200d0963fSdilpreet * We will be more conservative about nonfatal internal errors reported 4300d0963fSdilpreet * by the driver. 4400d0963fSdilpreet */ 4500d0963fSdilpreet#define NONFATAL_COUNT 6 4600d0963fSdilpreet#define NONFATAL_TIME 2h 47b7d3956bSstephh#define NONFATAL_DPE_COUNT 3 48b7d3956bSstephh#define NONFATAL_DPE_TIME 168h 49b7d3956bSstephh 50b7d3956bSstephh#define PCIFN pcibus/pcidev/pcifn 51b7d3956bSstephh#define PCIFNHZ pcibus<>/pcidev<>/pcifn<> 52b7d3956bSstephh 53b7d3956bSstephhengine serd.io.device.nonfatal@PCIFN, 54b7d3956bSstephh N=NONFATAL_COUNT, T=NONFATAL_TIME; 55b7d3956bSstephh 56b7d3956bSstephhengine serd.io.pci.nf-dpe@PCIFN, 57b7d3956bSstephh N=NONFATAL_DPE_COUNT, T=NONFATAL_DPE_TIME; 58b7d3956bSstephh 59b7d3956bSstephhengine serd.io.pci.nf-dpe-bus@pcibus, 60b7d3956bSstephh N=NONFATAL_DPE_COUNT, T=NONFATAL_DPE_TIME; 6100d0963fSdilpreet 6200d0963fSdilpreet#define IS_LEAF \ 63b7d3956bSstephh (confprop_defined(PCIFN, TOPO_PCI_CLASS) && \ 64b7d3956bSstephh confprop(PCIFN, TOPO_PCI_CLASS) != "60400" && \ 65b7d3956bSstephh confprop(PCIFN, TOPO_PCI_CLASS) != "60401") 6600d0963fSdilpreet 6700d0963fSdilpreet#define IS_BDG \ 68b7d3956bSstephh (confprop(PCIFN, TOPO_PCI_CLASS) == "60400" || \ 69b7d3956bSstephh confprop(PCIFN, TOPO_PCI_CLASS) == "60401") 7000d0963fSdilpreet 7100d0963fSdilpreet#define FD_IS_LEAF \ 72b7d3956bSstephh (confprop_defined(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) && \ 73b7d3956bSstephh confprop(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) != "60400" && \ 74b7d3956bSstephh confprop(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) != "60401") 7500d0963fSdilpreet 76b7d3956bSstephh#define IS_LF(f) (confprop_defined(f, TOPO_PCI_CLASS) && \ 77b7d3956bSstephh confprop(f, TOPO_PCI_CLASS) != "60400" && \ 78b7d3956bSstephh confprop(f, TOPO_PCI_CLASS) != "60401") 7900d0963fSdilpreet/* 8000d0963fSdilpreet * note general rule for errors is that for upstream propagations 81b7d3956bSstephh * @PCIFN is the sending device while for downstream 8200d0963fSdilpreet * propagations it is the receiving device. 8300d0963fSdilpreet */ 8400d0963fSdilpreet 85b7d3956bSstephhevent fault.io.pci.device-interr-corr@PCIFN, 86b7d3956bSstephh engine=serd.io.device.nonfatal@PCIFN, FITrate=PCI_DEV_FIT; 877c478bd9Sstevel@tonic-gate 88b7d3956bSstephhevent fault.io.pci.device-interr-unaf@PCIFN, 89b7d3956bSstephh engine=serd.io.pci.nf-dpe@PCIFN, FITrate=PCI_DEV_FIT; 907c478bd9Sstevel@tonic-gate 91b7d3956bSstephhevent fault.io.pci.device-interr-deg@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 927c478bd9Sstevel@tonic-gate 93b7d3956bSstephhevent fault.io.pci.device-interr@PCIFN, FITrate=PCI_DEV_FIT; 94b7d3956bSstephh 95b7d3956bSstephhevent fault.io.pci.device-invreq@PCIFN, FITrate=PCI_DEV_FIT; 96b7d3956bSstephh 97b7d3956bSstephhevent fault.io.pci.device-noresp@PCIFN, FITrate=PCI_DEV_FIT; 987c478bd9Sstevel@tonic-gate 99*05dd151bSStephen Hansonevent fault.io.pci.fw_corrupt@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 100*05dd151bSStephen Hanson 101*05dd151bSStephen Hansonevent fault.io.pci.fw_mismatch@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 102*05dd151bSStephen Hanson 1037c478bd9Sstevel@tonic-gate/* 10400d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10500d0963fSdilpreet * A faulty hostbridge may cause: 10600d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10700d0963fSdilpreet * - nr-pw-d: the device not to respond to an upstream request 10800d0963fSdilpreet * - nr-drw-d: the device not to respond to an upstream request 10900d0963fSdilpreet * - ta-pw-d: the device to send a target abort to an upstream request 11000d0963fSdilpreet * - ta-drw-d: the device to send a target abort to an upstream request 11100d0963fSdilpreet * - serr-u: the device to report itself in error 11200d0963fSdilpreet * - badreq-pw-d:a bad downstream request - not parity error (may cause target 11300d0963fSdilpreet * to target abort or master abort) 11400d0963fSdilpreet * - badreq-drw-d:a bad downstream request - not parity error (may cause 11500d0963fSdilpreet * target to target abort or master abort) 11600d0963fSdilpreet * - ape-d: address/parity to get corrupted during downstream transmission 11700d0963fSdilpreet * - scpe-d: split completion to get corrupted during downstream transmission 11800d0963fSdilpreet * - dpe-d: the device to transfer bad data and/or bad parity downstream 11900d0963fSdilpreet * - retry-to-d: the device to exceed the set timeout for a delayed 12000d0963fSdilpreet * transaction retry. 12100d0963fSdilpreet */ 12200d0963fSdilpreet#define PCI_TO_HB pcibus/pcidev<todev>/pcifn<> {fromdev != 32 && todev == 32} 12300d0963fSdilpreet#define PCI_FROM_HB pcibus/pcidev<todev>/pcifn<> {fromdev == 32 && todev != 32} 12400d0963fSdilpreet 125b7d3956bSstephhevent error.io.pci.retry-to-d@PCIFN; 126b7d3956bSstephhevent error.io.pci.nr-pw-d@PCIFN; 127b7d3956bSstephhevent error.io.pci.nr-drw-d@PCIFN; 128b7d3956bSstephhevent error.io.pci.ta-pw-d@PCIFN; 129b7d3956bSstephhevent error.io.pci.ta-drw-d@PCIFN; 130b7d3956bSstephhevent error.io.pci.badreq-pw-d@PCIFN; 131b7d3956bSstephhevent error.io.pci.badreq-drw-d@PCIFN; 132b7d3956bSstephhevent error.io.pci.f-dpe-d@PCIFN; 133b7d3956bSstephhevent error.io.pci.deg-dpe-d@PCIFN; 134b7d3956bSstephhevent error.io.pci.nf-dpe-d@PCIFN; 135b7d3956bSstephhevent error.io.pci.ape-d@PCIFN; 136b7d3956bSstephhevent error.io.pci.ape-u@PCIFN; 137b7d3956bSstephhevent error.io.pci.dpdata-dw-d@PCIFN; 138b7d3956bSstephhevent error.io.pci.dpdata-pw-d@PCIFN; 139b7d3956bSstephhevent error.io.pci.dpdata-dr-d@PCIFN; 140b7d3956bSstephhevent error.io.pci.dpdata-pw-u@PCIFN; 141b7d3956bSstephhevent error.io.pci.dpdata-dw-u@PCIFN; 142b7d3956bSstephhevent error.io.pci.dpdata-dr-u@PCIFN; 143b7d3956bSstephhevent error.io.pci.ta-u@PCIFN; 144b7d3956bSstephhevent error.io.pci.ma-u@PCIFN; 145b7d3956bSstephhevent error.io.pci.perr-dw-u@PCIFN; 146b7d3956bSstephhevent error.io.pci.perr-pw-u@PCIFN; 147b7d3956bSstephhevent error.io.pci.perr-dr-u@PCIFN; 148b7d3956bSstephhevent error.io.pci.badreq-drw-u@PCIFN; 149b7d3956bSstephhevent error.io.pci.badreq-pw-u@PCIFN; 150b7d3956bSstephhevent error.io.pci.device-serr@PCIFN; 151b7d3956bSstephhevent error.io.pci.device-ta@PCIFN; 152b7d3956bSstephhevent error.io.pci.device-par@PCIFN; 153b7d3956bSstephhevent error.io.pci.serr-u@PCIFN; 154b7d3956bSstephhevent error.io.pcix.scpe-d@PCIFN; 155b7d3956bSstephhevent error.io.pcix.scpe-u@PCIFN; 156b7d3956bSstephhevent error.io.pcix.spl-comp-ma-u@PCIFN; 157b7d3956bSstephhevent error.io.pcix.spl-comp-ta-u@PCIFN; 158b7d3956bSstephhevent error.io.pcix.spl-comp-ma-d@PCIFN; 159b7d3956bSstephhevent error.io.pcix.spl-comp-ta-d@PCIFN; 16000d0963fSdilpreet 161b7d3956bSstephhevent ereport.io.pci.ma@PCIFN{within(5s)}; 162b7d3956bSstephhevent ereport.io.pci.rta@PCIFN{within(5s)}; 163b7d3956bSstephhevent ereport.io.pci.mdpe@PCIFN{within(5s)}; 164b7d3956bSstephhevent ereport.io.pci.sta@PCIFN{within(5s)}; 165b7d3956bSstephhevent ereport.io.pci.sserr@PCIFN{within(5s)}; 166b7d3956bSstephhevent ereport.io.pci.dpe@PCIFN{within(5s)}; 167b7d3956bSstephhevent ereport.io.pci.target-mdpe@PCIFN{within(5s)}; 168b7d3956bSstephhevent ereport.io.pci.target-rta@PCIFN{within(5s)}; 169b7d3956bSstephhevent ereport.io.pci.target-ma@PCIFN{within(5s)}; 170b7d3956bSstephhevent ereport.io.pcix.discard@PCIFN{within(5s)}; 17100d0963fSdilpreet 17200d0963fSdilpreetprop fault.io.pci.device-noresp@pcibus/pcidev[fromdev]/pcifn (0)-> 17300d0963fSdilpreet error.io.pci.nr-pw-d@PCI_FROM_HB, 17400d0963fSdilpreet error.io.pci.nr-drw-d@PCI_FROM_HB, 17500d0963fSdilpreet error.io.pci.retry-to-d@PCI_FROM_HB; 17600d0963fSdilpreet 17700d0963fSdilpreetprop fault.io.pci.device-invreq@pcibus/pcidev[fromdev]/pcifn (0)-> 17800d0963fSdilpreet error.io.pci.badreq-pw-d@PCI_FROM_HB, 17900d0963fSdilpreet error.io.pci.badreq-drw-d@PCI_FROM_HB; 18000d0963fSdilpreet 181b7d3956bSstephhprop fault.io.pci.device-interr-unaf@pcibus/pcidev[fromdev]/pcifn (0)-> 182b7d3956bSstephh error.io.pci.nf-dpe-d@PCI_FROM_HB; 183b7d3956bSstephh 184b7d3956bSstephhprop fault.io.pci.device-interr-deg@pcibus/pcidev[fromdev]/pcifn (0)-> 185b7d3956bSstephh error.io.pci.deg-dpe-d@PCI_FROM_HB; 186b7d3956bSstephh 187b7d3956bSstephhprop fault.io.pci.device-interr@PCIFN (0)-> 188b7d3956bSstephh error.io.pci.device-par@PCIFN, 189b7d3956bSstephh error.io.pci.device-ta@PCIFN, 190b7d3956bSstephh error.io.pci.device-serr@PCIFN; 19100d0963fSdilpreet 19200d0963fSdilpreetprop error.io.pci.device-par@pcibus/pcidev[fromdev]/pcifn (1)-> 19300d0963fSdilpreet error.io.pci.f-dpe-d@PCI_FROM_HB, 19400d0963fSdilpreet error.io.pcix.scpe-d@PCI_FROM_HB, 19500d0963fSdilpreet error.io.pci.ape-d@PCI_FROM_HB; 19600d0963fSdilpreet 19700d0963fSdilpreetprop error.io.pci.device-ta@pcibus/pcidev[fromdev]/pcifn (1)-> 19800d0963fSdilpreet error.io.pci.ta-pw-d@PCI_FROM_HB, 19900d0963fSdilpreet error.io.pci.ta-drw-d@PCI_FROM_HB; 20000d0963fSdilpreet 20100d0963fSdilpreetprop error.io.pci.device-ta@pcibus/pcidev[fromdev]/pcifn (1)-> 20200d0963fSdilpreet ereport.io.pci.sta@pcibus/pcidev<todev>/pcifn { 20300d0963fSdilpreet todev == fromdev && fromdev == 32 }; 20400d0963fSdilpreet 205b7d3956bSstephhprop error.io.pci.device-serr@PCIFN (2)-> 206b7d3956bSstephh error.io.pci.serr-u@PCIFN, 207b7d3956bSstephh ereport.io.pci.sserr@PCIFN; 20800d0963fSdilpreet 20900d0963fSdilpreet/* 21000d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 21100d0963fSdilpreet * ereport generation rules for hostbridge 21200d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 21300d0963fSdilpreet */ 21400d0963fSdilpreetprop error.io.pci.dpdata-pw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 21500d0963fSdilpreet ereport.io.pci.dpe@PCI_TO_HB; 21600d0963fSdilpreet 21700d0963fSdilpreetprop error.io.pci.dpdata-dw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 21800d0963fSdilpreet ereport.io.pci.dpe@PCI_TO_HB; 21900d0963fSdilpreet 22000d0963fSdilpreetprop error.io.pci.dpdata-dr-u@pcibus/pcidev[fromdev]/pcifn (2)-> 22100d0963fSdilpreet ereport.io.pci.mdpe@PCI_TO_HB, 22200d0963fSdilpreet ereport.io.pci.dpe@PCI_TO_HB; 22300d0963fSdilpreet 22400d0963fSdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (3)-> 22500d0963fSdilpreet ereport.io.pci.dpe@PCI_TO_HB, 22600d0963fSdilpreet error.io.pci.serr-u@PCI_TO_HB, 22700d0963fSdilpreet ereport.io.pci.sserr@PCI_TO_HB; 22800d0963fSdilpreet 22900d0963fSdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (0)-> 23000d0963fSdilpreet ereport.io.pci.sta@PCI_TO_HB; 23100d0963fSdilpreet 23200d0963fSdilpreetprop error.io.pci.ma-u@pcibus/pcidev[fromdev]/pcifn (1)-> 23300d0963fSdilpreet ereport.io.pci.ma@PCI_TO_HB; 23400d0963fSdilpreet 23500d0963fSdilpreetprop error.io.pci.ta-u@pcibus/pcidev[fromdev]/pcifn (1)-> 23600d0963fSdilpreet ereport.io.pci.rta@PCI_TO_HB; 23700d0963fSdilpreet 23800d0963fSdilpreetprop error.io.pci.perr-dw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 23900d0963fSdilpreet ereport.io.pci.mdpe@PCI_TO_HB; 24000d0963fSdilpreet 24100d0963fSdilpreetprop error.io.pci.perr-pw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 24200d0963fSdilpreet ereport.io.pci.mdpe@PCI_TO_HB; 24300d0963fSdilpreet 24400d0963fSdilpreetprop error.io.pci.badreq-drw-u@pcibus/pcidev[fromdev]/pcifn (0)-> 24500d0963fSdilpreet ereport.io.pci.sta@PCI_TO_HB; 24600d0963fSdilpreet 24700d0963fSdilpreetprop error.io.pci.badreq-pw-u@pcibus/pcidev[fromdev]/pcifn (0)-> 24800d0963fSdilpreet ereport.io.pci.sta@PCI_TO_HB; 24900d0963fSdilpreet 250b7d3956bSstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 251b7d3956bSstephh error.io.pcix.spl-comp-ma-d@PCIFN, 252b7d3956bSstephh error.io.pcix.spl-comp-ta-d@PCIFN; 25300d0963fSdilpreet 25400d0963fSdilpreetprop error.io.pcix.scpe-u@pcibus/pcidev[fromdev]/pcifn (0)-> 25500d0963fSdilpreet ereport.io.pci.dpe@PCI_TO_HB, 25600d0963fSdilpreet error.io.pci.serr-u@PCI_TO_HB, 25700d0963fSdilpreet ereport.io.pci.sserr@PCI_TO_HB, 25800d0963fSdilpreet ereport.io.pci.sta@PCI_TO_HB; 25900d0963fSdilpreet 26000d0963fSdilpreetprop error.io.pcix.spl-comp-ma-u@pcibus/pcidev[fromdev]/pcifn (3)-> 26100d0963fSdilpreet ereport.io.pcix.discard@PCI_TO_HB, 26200d0963fSdilpreet error.io.pci.serr-u@PCI_TO_HB, 26300d0963fSdilpreet ereport.io.pci.sserr@PCI_TO_HB; 26400d0963fSdilpreet 26500d0963fSdilpreetprop error.io.pcix.spl-comp-ta-u@pcibus/pcidev[fromdev]/pcifn (3)-> 26600d0963fSdilpreet ereport.io.pcix.discard@PCI_TO_HB, 26700d0963fSdilpreet error.io.pci.serr-u@PCI_TO_HB, 26800d0963fSdilpreet ereport.io.pci.sserr@PCI_TO_HB; 26900d0963fSdilpreet 27000d0963fSdilpreet/* 27100d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 27200d0963fSdilpreet * A faulty PCI leaf device or pci-pci bridge may cause: 27300d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 27400d0963fSdilpreet * - nr-pw-u: the device not to respond to a valid downstream request 27500d0963fSdilpreet * - nr-drw-u: the device not to respond to a valid downstream request 27600d0963fSdilpreet * - ta-pw-u: the device responds with a ta to a valid downstream 27700d0963fSdilpreet * request 27800d0963fSdilpreet * - ta-drw-u: the device responds with a ta to a valid downstream 27900d0963fSdilpreet * request 28000d0963fSdilpreet * - serr-u: the device to report itself in error 28100d0963fSdilpreet * - badreq-pw-u: a bad upstream request (may cause target to target 28200d0963fSdilpreet * abort or master abort) 28300d0963fSdilpreet * - badreq-drw-u: a bad upstream request (may cause target to target 28400d0963fSdilpreet * abort or master abort) 28500d0963fSdilpreet * - ape-u: the transfer of bad address/parity upstream. 28600d0963fSdilpreet * - scpe-u: the transfer of bad split completion upstream. 28700d0963fSdilpreet * - dpe-u: the device to deliver bad data/parity upstream. 28800d0963fSdilpreet * - retry-to-u: the device to exceed the set timeout for a delayed 28900d0963fSdilpreet * transaction retry. 2907c478bd9Sstevel@tonic-gate * 29100d0963fSdilpreet * A faulty PCI-X leaf device or bridge may also cause: 2927c478bd9Sstevel@tonic-gate * 2937c478bd9Sstevel@tonic-gate * - tx-oor: the device sends a byte count larger than the completers 2947c478bd9Sstevel@tonic-gate * address range. 29500d0963fSdilpreet * - rx-unex-sc: the device recieved a split completion with a tag 2967c478bd9Sstevel@tonic-gate * which does not match any outstanding transaction. 2977c478bd9Sstevel@tonic-gate */ 2987c478bd9Sstevel@tonic-gate 29900d0963fSdilpreet#define PCI_NOT_HB pcibus/pcidev[fromdev]/pcifn {fromdev != 32} 3007c478bd9Sstevel@tonic-gate 301b7d3956bSstephhevent error.io.pci.retry-to-u@PCIFN; 302b7d3956bSstephhevent error.io.pci.nr-pw-u@PCIFN; 303b7d3956bSstephhevent error.io.pci.nr-drw-u@PCIFN; 304b7d3956bSstephhevent error.io.pci.ta-pw-u@PCIFN; 305b7d3956bSstephhevent error.io.pci.ta-drw-u@PCIFN; 306b7d3956bSstephhevent error.io.pci.f-dpe-u@PCIFN; 307b7d3956bSstephhevent error.io.pci.deg-dpe-u@PCIFN; 308b7d3956bSstephhevent error.io.pci.nf-dpe-u@PCIFN; 309b7d3956bSstephhevent error.io.pci.flt-dpdata-pw-u@PCIFN; 310b7d3956bSstephhevent error.io.pci.flt-dpdata-dw-u@PCIFN; 311b7d3956bSstephhevent error.io.pci.flt-dpdata-dr-u@PCIFN; 312b7d3956bSstephhevent error.io.pci.source-dpdata-u@PCIFN; 313b7d3956bSstephhevent error.io.pci.f-source-dpdata-u@PCIFN; 314b7d3956bSstephhevent error.io.pci.f-source-dpdata-u@PCIFN/PCIFN; 315b7d3956bSstephhevent error.io.pci.deg-source-dpdata-u@PCIFN; 316b7d3956bSstephhevent error.io.pci.deg-source-dpdata-u@PCIFN/PCIFN; 317b7d3956bSstephhevent error.io.pci.nf-source-dpdata-u@PCIFN; 318b7d3956bSstephhevent error.io.pci.nf-source-dpdata-u@PCIFN/PCIFN; 319b7d3956bSstephhevent error.io.pci.perr-d@PCIFN; 320b7d3956bSstephhevent error.io.pci.target-mdpe-d@PCIFN; 321b7d3956bSstephhevent error.io.pci.target-mdpe-d@PCIFN/PCIFN; 322b7d3956bSstephhevent error.io.pci.target-rta-d@PCIFN/PCIFN; 323b7d3956bSstephhevent error.io.pci.target-ma-d@PCIFN/PCIFN; 324b7d3956bSstephhevent error.io.pcix.tx-oor@PCIFN; 325b7d3956bSstephhevent error.io.pcix.rx-unex-sc@PCIFN; 326b7d3956bSstephhevent error.io.device.nf-device@PCIFN; 327b7d3956bSstephhevent error.io.device.f-device@PCIFN; 328b7d3956bSstephhevent error.io.device.deg-device@PCIFN; 329b7d3956bSstephhevent error.io.service.restored@PCIFN; 3307c478bd9Sstevel@tonic-gate 331b7d3956bSstephhevent ereport.io.pcix.oor@PCIFN{within(5s)}; 332b7d3956bSstephhevent ereport.io.pcix.unex-sc@PCIFN{within(5s)}; 333*05dd151bSStephen Hansonevent ereport.io.device.fw_corrupt@PCIFN{within(5s)}; 334*05dd151bSStephen Hansonevent ereport.io.device.fw_mismatch@PCIFN{within(5s)}; 335b7d3956bSstephhevent ereport.io.service.lost@PCIFN{within(5s)}; 336b7d3956bSstephhevent ereport.io.service.degraded@PCIFN{within(5s)}; 337b7d3956bSstephhevent ereport.io.service.unaffected@PCIFN{within(5s)}; 338b7d3956bSstephhevent ereport.io.service.restored@PCIFN{within(30s)}; 3397c478bd9Sstevel@tonic-gate 34000d0963fSdilpreetprop fault.io.pci.device-noresp@pcibus/pcidev[fromdev]/pcifn (0)-> 34100d0963fSdilpreet error.io.pci.nr-pw-u@PCI_NOT_HB, 34200d0963fSdilpreet error.io.pci.nr-drw-u@PCI_NOT_HB, 34300d0963fSdilpreet error.io.pci.retry-to-u@PCI_NOT_HB; 3447c478bd9Sstevel@tonic-gate 345b7d3956bSstephhprop fault.io.pci.device-interr-corr@pcibus/pcidev[fromdev]/pcifn (0)-> 346b7d3956bSstephh error.io.device.nf-device@PCI_NOT_HB; 347b7d3956bSstephh 348b7d3956bSstephhprop fault.io.pci.device-interr-unaf@pcibus/pcidev[fromdev]/pcifn (0)-> 349b7d3956bSstephh error.io.pci.nf-dpe-u@PCI_NOT_HB; 350b7d3956bSstephh 351b7d3956bSstephhprop fault.io.pci.device-interr-deg@pcibus/pcidev[fromdev]/pcifn (0)-> 352b7d3956bSstephh error.io.device.deg-device@PCI_NOT_HB, 353b7d3956bSstephh error.io.pci.deg-dpe-u@PCI_NOT_HB; 354b7d3956bSstephh 35500d0963fSdilpreetprop fault.io.pci.device-interr@pcibus/pcidev[fromdev]/pcifn (0)-> 35600d0963fSdilpreet error.io.pci.ta-pw-u@PCI_NOT_HB, 35700d0963fSdilpreet error.io.pci.ta-drw-u@PCI_NOT_HB, 35800d0963fSdilpreet error.io.pci.serr-u@PCI_NOT_HB, 35900d0963fSdilpreet error.io.pci.ape-u@PCI_NOT_HB, 36000d0963fSdilpreet error.io.pci.f-dpe-u@PCI_NOT_HB, 36100d0963fSdilpreet error.io.device.f-device@PCI_NOT_HB, 36200d0963fSdilpreet error.io.pcix.scpe-u@PCI_NOT_HB, 36300d0963fSdilpreet error.io.pcix.tx-oor@PCI_NOT_HB, 36400d0963fSdilpreet error.io.pcix.rx-unex-sc@PCI_NOT_HB; 3657c478bd9Sstevel@tonic-gate 366*05dd151bSStephen Hansonprop fault.io.pci.fw_corrupt@PCIFN {IS_LEAF} (1)-> 367*05dd151bSStephen Hanson ereport.io.device.fw_corrupt@PCIFN; 368*05dd151bSStephen Hanson 369*05dd151bSStephen Hansonprop fault.io.pci.fw_corrupt@PCIFN {IS_LEAF} (0)-> 370*05dd151bSStephen Hanson ereport.io.service.lost@PCIFN, 371*05dd151bSStephen Hanson ereport.io.service.degraded@PCIFN; 372*05dd151bSStephen Hanson 373*05dd151bSStephen Hansonprop fault.io.pci.fw_mismatch@PCIFN {IS_LEAF} (1)-> 374*05dd151bSStephen Hanson ereport.io.device.fw_mismatch@PCIFN; 375*05dd151bSStephen Hanson 376*05dd151bSStephen Hansonprop fault.io.pci.fw_mismatch@PCIFN {IS_LEAF} (0)-> 377*05dd151bSStephen Hanson ereport.io.service.lost@PCIFN, 378*05dd151bSStephen Hanson ereport.io.service.degraded@PCIFN; 379*05dd151bSStephen Hanson 38000d0963fSdilpreetprop fault.io.pci.device-invreq@pcibus/pcidev[fromdev]/pcifn {FD_IS_LEAF} (0)-> 38100d0963fSdilpreet error.io.pci.badreq-drw-u@PCI_NOT_HB, 38200d0963fSdilpreet error.io.pci.badreq-pw-u@PCI_NOT_HB; 3837c478bd9Sstevel@tonic-gate 384b7d3956bSstephhprop error.io.pcix.tx-oor@PCIFN (1)-> 385b7d3956bSstephh ereport.io.pcix.oor@PCIFN; 3867c478bd9Sstevel@tonic-gate 38700d0963fSdilpreetprop error.io.pcix.rx-unex-sc@pcibus/pcidev[fromdev]/pcifn (1)-> 38800d0963fSdilpreet ereport.io.pcix.unex-sc@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}; 3897c478bd9Sstevel@tonic-gate 390b7d3956bSstephhprop error.io.pci.f-dpe-u@PCIFN (1)-> 391b7d3956bSstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 392b7d3956bSstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 393b7d3956bSstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 39400d0963fSdilpreet 395b7d3956bSstephhprop error.io.pci.f-dpe-u@PCIFN (1)-> 396b7d3956bSstephh error.io.pci.f-source-dpdata-u@PCIFN; 39700d0963fSdilpreet 398b7d3956bSstephhprop error.io.pci.f-source-dpdata-u@PCIFN (1)-> 399b7d3956bSstephh error.io.pci.f-source-dpdata-u@PCIFN/PCIFNHZ; 40000d0963fSdilpreet 401b7d3956bSstephhprop error.io.pci.f-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 402b7d3956bSstephh error.io.pci.source-dpdata-u@PCIFN; 40300d0963fSdilpreet 404b7d3956bSstephhprop error.io.pci.f-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (0)-> 405b7d3956bSstephh ereport.io.service.lost@PCIFN; 40600d0963fSdilpreet 407b7d3956bSstephhprop error.io.pci.deg-dpe-u@PCIFN (1)-> 408b7d3956bSstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 409b7d3956bSstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 410b7d3956bSstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 41100d0963fSdilpreet 412b7d3956bSstephhprop error.io.pci.deg-dpe-u@PCIFN (1)-> 413b7d3956bSstephh error.io.pci.deg-source-dpdata-u@PCIFN; 41400d0963fSdilpreet 415b7d3956bSstephhprop error.io.pci.deg-source-dpdata-u@PCIFN (1)-> 416b7d3956bSstephh error.io.pci.deg-source-dpdata-u@PCIFN/PCIFNHZ; 41700d0963fSdilpreet 418b7d3956bSstephhprop error.io.pci.deg-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 419b7d3956bSstephh error.io.pci.source-dpdata-u@PCIFN; 42000d0963fSdilpreet 421b7d3956bSstephhprop error.io.pci.deg-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 422b7d3956bSstephh ereport.io.service.degraded@PCIFN; 42300d0963fSdilpreet 424b7d3956bSstephhprop error.io.pci.nf-dpe-u@PCIFN (1)-> 425b7d3956bSstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 426b7d3956bSstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 427b7d3956bSstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 42800d0963fSdilpreet 429b7d3956bSstephhprop error.io.pci.nf-dpe-u@PCIFN (1)-> 430b7d3956bSstephh error.io.pci.nf-source-dpdata-u@PCIFN; 431b7d3956bSstephh 432b7d3956bSstephhprop error.io.pci.nf-source-dpdata-u@PCIFN (1)-> 433b7d3956bSstephh error.io.pci.nf-source-dpdata-u@PCIFN/PCIFNHZ; 434b7d3956bSstephh 435b7d3956bSstephhprop error.io.pci.nf-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 436b7d3956bSstephh error.io.pci.source-dpdata-u@PCIFN; 437b7d3956bSstephh 438b7d3956bSstephhprop error.io.pci.nf-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 439b7d3956bSstephh ereport.io.service.unaffected@PCIFN, 440b7d3956bSstephh error.io.service.restored@PCIFN; 441b7d3956bSstephh 442b7d3956bSstephhprop error.io.pci.flt-dpdata-pw-u@PCIFN (1)-> 443b7d3956bSstephh error.io.pci.dpdata-pw-u@PCIFN; 444b7d3956bSstephh 445b7d3956bSstephhprop error.io.pci.flt-dpdata-pw-u@PCIFN { IS_BDG } (1)-> 446b7d3956bSstephh error.io.pci.serr-u@PCIFN; 447b7d3956bSstephh 448b7d3956bSstephhprop error.io.pci.flt-dpdata-dw-u@PCIFN (2)-> 449b7d3956bSstephh error.io.pci.perr-d@PCIFN, 450b7d3956bSstephh error.io.pci.dpdata-dw-u@PCIFN; 451b7d3956bSstephh 452b7d3956bSstephhprop error.io.pci.flt-dpdata-dr-u@PCIFN (2)-> 453b7d3956bSstephh error.io.pci.dpdata-dr-u@PCIFN, 454b7d3956bSstephh error.io.pci.target-mdpe-d@PCIFN; 4557c478bd9Sstevel@tonic-gate 4567c478bd9Sstevel@tonic-gate/* 45700d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 45800d0963fSdilpreet * A faulty pci-pci bridge may also cause 45900d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 46000d0963fSdilpreet * - nr-pw-d: the device not to respond to a valid upstream request 46100d0963fSdilpreet * - nr-drw-d: the device not to respond to a valid upstream request 46200d0963fSdilpreet * - ta-pw-d: the device responds with a ta to a valid upstream 46300d0963fSdilpreet * request 46400d0963fSdilpreet * - ta-drw-d: the device responds with a ta to a valid upstream 46500d0963fSdilpreet * request 46600d0963fSdilpreet * - ape-d: address/parity to get corrupted during downstream transmission. 46700d0963fSdilpreet * - scpe-d: split completion gets corrupted during downstream transmission. 46800d0963fSdilpreet * - dpe-d: data/parity to get corrupted during downstream transmission. 46900d0963fSdilpreet * - retry-to-d: the device to exceed the set timeout for a delayed 47000d0963fSdilpreet * transaction retry. 4717c478bd9Sstevel@tonic-gate */ 4727c478bd9Sstevel@tonic-gate 473b7d3956bSstephhevent error.io.pci.ape-d@PCIFN/PCIFN; 474b7d3956bSstephhevent error.io.pci.f-dpe-d@PCIFN/PCIFN; 475b7d3956bSstephhevent error.io.pci.deg-dpe-d@PCIFN/PCIFN; 476b7d3956bSstephhevent error.io.pci.nf-dpe-d@PCIFN/PCIFN; 477b7d3956bSstephhevent error.io.pci.retry-to-d@PCIFN/PCIFN; 478b7d3956bSstephhevent error.io.pci.nr-pw-d@PCIFN/PCIFN; 479b7d3956bSstephhevent error.io.pci.nr-drw-d@PCIFN/PCIFN; 480b7d3956bSstephhevent error.io.pci.ta-pw-d@PCIFN/PCIFN; 481b7d3956bSstephhevent error.io.pci.ta-drw-d@PCIFN/PCIFN; 482b7d3956bSstephhevent error.io.pcix.scpe-d@PCIFN/PCIFN; 4837c478bd9Sstevel@tonic-gate 484b7d3956bSstephhprop fault.io.pci.device-noresp@PCIFN (0)-> 485b7d3956bSstephh error.io.pci.nr-pw-d@PCIFN/PCIFN, 486b7d3956bSstephh error.io.pci.nr-drw-d@PCIFN/PCIFN, 487b7d3956bSstephh error.io.pci.retry-to-d@PCIFN/PCIFN; 4887c478bd9Sstevel@tonic-gate 489b7d3956bSstephhprop fault.io.pci.device-interr-unaf@PCIFN (0)-> 490b7d3956bSstephh error.io.pci.nf-dpe-d@PCIFN/PCIFN; 491b7d3956bSstephh 492b7d3956bSstephhprop fault.io.pci.device-interr-deg@PCIFN (0)-> 493b7d3956bSstephh error.io.pci.deg-dpe-d@PCIFN/PCIFN; 494b7d3956bSstephh 495b7d3956bSstephhprop fault.io.pci.device-interr@PCIFN (0)-> 496b7d3956bSstephh error.io.pci.ta-pw-d@PCIFN/PCIFN, 497b7d3956bSstephh error.io.pci.ta-drw-d@PCIFN/PCIFN, 498b7d3956bSstephh error.io.pci.ape-d@PCIFN/PCIFN, 499b7d3956bSstephh error.io.pcix.scpe-d@PCIFN/PCIFN, 500b7d3956bSstephh error.io.pci.f-dpe-d@PCIFN/PCIFN; 5017c478bd9Sstevel@tonic-gate 5027c478bd9Sstevel@tonic-gate/* 50300d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 50400d0963fSdilpreet * A faulty PCI bus may cause: 50500d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 50600d0963fSdilpreet * - ape-d: address/parity to get corrupted during downstream transmission. 50700d0963fSdilpreet * - scpe-d: split completion gets corrupted during downstream transmission. 50800d0963fSdilpreet * - dpe-d: data/parity to get corrupted during downstream transmission. 50900d0963fSdilpreet * - ape-u: address/parity to get corrupted during upstream transmission. 51000d0963fSdilpreet * - dpe-u: data/parity to get corrupted during read upstream transmission. 51100d0963fSdilpreet * - scpe-u: split completion to get corrupted during upstream transmission. 5127c478bd9Sstevel@tonic-gate */ 5137c478bd9Sstevel@tonic-gate 514b7d3956bSstephhevent fault.io.pci.bus-linkerr-unaf@pcibus, 515b7d3956bSstephh engine=serd.io.pci.nf-dpe-bus@pcibus, FITrate=PCI_BUS_FIT; 5167c478bd9Sstevel@tonic-gate 517b7d3956bSstephhevent fault.io.pci.bus-linkerr-deg@pcibus, FITrate=PCI_BUS_FIT, retire=0; 518b7d3956bSstephh 519b7d3956bSstephhevent fault.io.pci.bus-linkerr@pcibus, FITrate=PCI_BUS_FIT; 520b7d3956bSstephh 521b7d3956bSstephhprop fault.io.pci.bus-linkerr-unaf@pcibus (0)-> 522b7d3956bSstephh error.io.pci.nf-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 523b7d3956bSstephh error.io.pci.nf-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}; 524b7d3956bSstephh 525b7d3956bSstephhprop fault.io.pci.bus-linkerr-deg@pcibus (0)-> 526b7d3956bSstephh error.io.pci.deg-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 527b7d3956bSstephh error.io.pci.deg-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}; 5287c478bd9Sstevel@tonic-gate 52900d0963fSdilpreetprop fault.io.pci.bus-linkerr@pcibus (0)-> 53000d0963fSdilpreet error.io.pci.ape-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 53100d0963fSdilpreet error.io.pci.f-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 53200d0963fSdilpreet error.io.pci.ape-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 53300d0963fSdilpreet error.io.pci.f-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 53400d0963fSdilpreet error.io.pcix.scpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 53500d0963fSdilpreet error.io.pcix.scpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 53600d0963fSdilpreet error.io.pcix.tx-oor@pcibus/pcidev<todev>/pcifn { todev != 32}, 53700d0963fSdilpreet error.io.pcix.rx-unex-sc@pcibus/pcidev<todev>/pcifn { todev != 32}; 5387c478bd9Sstevel@tonic-gate 5397c478bd9Sstevel@tonic-gate/* 54000d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 54100d0963fSdilpreet * recursive rules for pci-pci bridges 54200d0963fSdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5437c478bd9Sstevel@tonic-gate */ 5447c478bd9Sstevel@tonic-gate 545b7d3956bSstephhevent error.io.pci.serr-u@PCIFN/PCIFN; 546b7d3956bSstephhevent error.io.pci.perr-dw-u@PCIFN/PCIFN; 547b7d3956bSstephhevent error.io.pci.perr-pw-u@PCIFN/PCIFN; 548b7d3956bSstephhevent error.io.pci.perr-d@PCIFN/PCIFN; 549b7d3956bSstephhevent error.io.pci.dpdata-pw-u@PCIFN/PCIFN; 550b7d3956bSstephhevent error.io.pci.dpdata-dw-u@PCIFN/PCIFN; 551b7d3956bSstephhevent error.io.pci.dpdata-dr-u@PCIFN/PCIFN; 552b7d3956bSstephhevent error.io.pci.dpdata-pw-fwd-d@PCIFN; 553b7d3956bSstephhevent error.io.pci.dpdata-pw-fwd-d@PCIFN/PCIFN; 554b7d3956bSstephhevent error.io.pci.dpdata-dw-fwd-d@PCIFN; 555b7d3956bSstephhevent error.io.pci.dpdata-dw-fwd-d@PCIFN/PCIFN; 556b7d3956bSstephhevent error.io.pci.dpdata-dr-fwd-d@PCIFN; 557b7d3956bSstephhevent error.io.pci.dpdata-dr-fwd-d@PCIFN/PCIFN; 558b7d3956bSstephhevent error.io.pci.source-perr-u@PCIFN; 559b7d3956bSstephhevent error.io.pci.leaf-ape-d@PCIFN; 560b7d3956bSstephhevent error.io.pci.ape-u@PCIFN/PCIFN; 561b7d3956bSstephhevent error.io.pci.source-ape-u@PCIFN; 562b7d3956bSstephhevent error.io.pci.badreq-pw-d@PCIFN/PCIFN; 563b7d3956bSstephhevent error.io.pci.badreq-drw-d@PCIFN/PCIFN; 564b7d3956bSstephhevent error.io.pci.badreq-pw-u@PCIFN/PCIFN; 565b7d3956bSstephhevent error.io.pci.badreq-drw-u@PCIFN/PCIFN; 566b7d3956bSstephhevent error.io.pci.ta-d@PCIFN; 567b7d3956bSstephhevent error.io.pci.ta-d@PCIFN/PCIFN; 568b7d3956bSstephhevent error.io.pci.ta-u@PCIFN/PCIFN; 569b7d3956bSstephhevent error.io.pci.target-rta-d@PCIFN; 570b7d3956bSstephhevent error.io.pci.target-ma-d@PCIFN; 571b7d3956bSstephhevent error.io.pci.nr-pw-u@PCIFN/PCIFN; 572b7d3956bSstephhevent error.io.pci.ta-pw-u@PCIFN/PCIFN; 573b7d3956bSstephhevent error.io.pci.retry-to-u@PCIFN/PCIFN; 574b7d3956bSstephhevent error.io.pcix.scpe-u@PCIFN/PCIFN; 575b7d3956bSstephhevent error.io.pcix.source-scpe-u@PCIFN; 576b7d3956bSstephhevent error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN; 577b7d3956bSstephhevent error.io.pcix.spl-comp-ta-u@PCIFN/PCIFN; 578b7d3956bSstephhevent error.io.pci.ma-u@PCIFN/PCIFN; 5797c478bd9Sstevel@tonic-gate 580b7d3956bSstephhevent ereport.io.pci.sec-ma@PCIFN{within(5s)}; 581b7d3956bSstephhevent ereport.io.pci.sec-sta@PCIFN{within(5s)}; 582b7d3956bSstephhevent ereport.io.pci.sec-rta@PCIFN{within(5s)}; 583b7d3956bSstephhevent ereport.io.pci.sec-mdpe@PCIFN{within(5s)}; 584b7d3956bSstephhevent ereport.io.pci.sec-dpe@PCIFN{within(5s)}; 585b7d3956bSstephhevent ereport.io.pci.sec-rserr@PCIFN{within(5s)}; 586b7d3956bSstephhevent ereport.io.pci.dto@PCIFN{within(5s)}; 587b7d3956bSstephhevent ereport.io.pcix.sec-spl-dis@PCIFN{within(5s)}; 588b7d3956bSstephhevent ereport.io.pcix.spl-dis@PCIFN{within(5s)}; 5897c478bd9Sstevel@tonic-gate 5907c478bd9Sstevel@tonic-gate/* 59100d0963fSdilpreet * SERR# can propagate upstream and may be seen by other devices on the bus 5927c478bd9Sstevel@tonic-gate */ 59300d0963fSdilpreetprop error.io.pci.serr-u@pcibus/pcidev[fromdev]/pcifn (0)-> 59400d0963fSdilpreet ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<> {todev!=fromdev}; 5957c478bd9Sstevel@tonic-gate 596b7d3956bSstephhprop error.io.pci.serr-u@PCIFN { IS_BDG } (1)-> 597b7d3956bSstephh ereport.io.pci.sserr@PCIFN; 5987c478bd9Sstevel@tonic-gate 599b7d3956bSstephhprop error.io.pci.serr-u@PCIFN/PCIFN (2)-> 600b7d3956bSstephh ereport.io.pci.sec-rserr@PCIFN, 601b7d3956bSstephh error.io.pci.serr-u@PCIFN; 6027c478bd9Sstevel@tonic-gate 60300d0963fSdilpreet/* 60400d0963fSdilpreet * PERR# can propagate upstream for delayed writes. For posted writes 60500d0963fSdilpreet * it turns into an SERR#. 60600d0963fSdilpreet */ 607b7d3956bSstephhprop error.io.pci.perr-dw-u@PCIFN/PCIFN (2)-> 608b7d3956bSstephh ereport.io.pci.sec-mdpe@PCIFN, 609b7d3956bSstephh error.io.pci.perr-dw-u@PCIFN; 61000d0963fSdilpreet 611b7d3956bSstephhprop error.io.pci.perr-pw-u@PCIFN/PCIFN (2)-> 612b7d3956bSstephh ereport.io.pci.sec-mdpe@PCIFN, 613b7d3956bSstephh error.io.pci.serr-u@PCIFN; 61400d0963fSdilpreet 61500d0963fSdilpreet/* 61600d0963fSdilpreet * PERR# can propagate downstream (only for downstream dw parity error) 61700d0963fSdilpreet */ 618b7d3956bSstephhprop error.io.pci.perr-d@PCIFN { IS_LEAF } (0)-> 619b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 62000d0963fSdilpreet 621b7d3956bSstephhprop error.io.pci.perr-d@PCIFN { IS_BDG } (1)-> 622b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 62300d0963fSdilpreet 624b7d3956bSstephhprop error.io.pci.perr-d@PCIFN (1)-> 625b7d3956bSstephh error.io.pci.perr-d@PCIFN/PCIFNHZ; 62600d0963fSdilpreet 62700d0963fSdilpreet/* 62800d0963fSdilpreet * downstream target ereports are for any descendant device 62900d0963fSdilpreet * 63000d0963fSdilpreet * A hostbridge driver may generate "target-" ereports when knowledge of the 63100d0963fSdilpreet * physical address associated with a fault allows the target device to be 63200d0963fSdilpreet * determined. This is not a requirement of the Diagnosis Engine, but can be 63300d0963fSdilpreet * valuable when available. 63400d0963fSdilpreet */ 635b7d3956bSstephhprop error.io.pci.target-mdpe-d@PCIFN (0)-> 636b7d3956bSstephh ereport.io.pci.target-mdpe@PCIFN; 63700d0963fSdilpreet 638b7d3956bSstephhprop error.io.pci.target-mdpe-d@PCIFN (1)-> 639b7d3956bSstephh error.io.pci.target-mdpe-d@PCIFN/PCIFNHZ; 64000d0963fSdilpreet 641b7d3956bSstephhprop error.io.pci.target-rta-d@PCIFN (0)-> 642b7d3956bSstephh ereport.io.pci.target-rta@PCIFN; 64300d0963fSdilpreet 644b7d3956bSstephhprop error.io.pci.target-rta-d@PCIFN (1)-> 645b7d3956bSstephh error.io.pci.target-rta-d@PCIFN/PCIFNHZ; 64600d0963fSdilpreet 647b7d3956bSstephhprop error.io.pci.target-ma-d@PCIFN (0)-> 648b7d3956bSstephh ereport.io.pci.target-ma@PCIFN; 64900d0963fSdilpreet 650b7d3956bSstephhprop error.io.pci.target-ma-d@PCIFN (1)-> 651b7d3956bSstephh error.io.pci.target-ma-d@PCIFN/PCIFNHZ; 65200d0963fSdilpreet 65300d0963fSdilpreet/* 65400d0963fSdilpreet * target aborts propagate upstream 65500d0963fSdilpreet */ 656b7d3956bSstephhprop error.io.pci.ta-u@PCIFN { IS_BDG } (1)-> 657b7d3956bSstephh ereport.io.pci.sta@PCIFN; 65800d0963fSdilpreet 659b7d3956bSstephhprop error.io.pci.ta-u@PCIFN { IS_LEAF } (0)-> 660b7d3956bSstephh ereport.io.pci.sta@PCIFN; 66100d0963fSdilpreet 662b7d3956bSstephhprop error.io.pci.ta-u@PCIFN/PCIFN (2)-> 663b7d3956bSstephh ereport.io.pci.sec-rta@PCIFN, 664b7d3956bSstephh error.io.pci.ta-u@PCIFN; 66500d0963fSdilpreet 66600d0963fSdilpreet/* 66700d0963fSdilpreet * bad data (ie invalid but not an ape or dpe) can propagate downstream, 66800d0963fSdilpreet * and at some point may result in a target or master abort 66900d0963fSdilpreet */ 670b7d3956bSstephhprop error.io.pci.badreq-pw-d@PCIFN (1)-> 671b7d3956bSstephh error.io.pci.badreq-pw-d@PCIFN/PCIFNHZ, 672b7d3956bSstephh error.io.pci.nr-pw-u@PCIFN, 673b7d3956bSstephh error.io.pci.ta-pw-u@PCIFN; 67400d0963fSdilpreet 675b7d3956bSstephhprop error.io.pci.badreq-pw-d@PCIFN { IS_LEAF } (0)-> 676b7d3956bSstephh error.io.pci.nr-pw-u@PCIFN, 677b7d3956bSstephh error.io.pci.ta-pw-u@PCIFN; 67800d0963fSdilpreet 679b7d3956bSstephhprop error.io.pci.badreq-drw-d@PCIFN (1)-> 680b7d3956bSstephh error.io.pci.badreq-drw-d@PCIFN/PCIFNHZ, 681b7d3956bSstephh error.io.pci.nr-drw-u@PCIFN, 682b7d3956bSstephh error.io.pci.ta-drw-u@PCIFN; 68300d0963fSdilpreet 684b7d3956bSstephhprop error.io.pci.badreq-drw-d@PCIFN { IS_LEAF } (0)-> 685b7d3956bSstephh error.io.pci.nr-drw-u@PCIFN, 686b7d3956bSstephh error.io.pci.ta-drw-u@PCIFN; 68700d0963fSdilpreet 688b7d3956bSstephhprop error.io.pci.nr-pw-u@PCIFN/PCIFN (2)-> 689b7d3956bSstephh ereport.io.pci.sec-ma@PCIFN, 690b7d3956bSstephh error.io.pci.serr-u@PCIFN; 69100d0963fSdilpreet 692b7d3956bSstephhprop error.io.pci.ta-pw-u@PCIFN { IS_LEAF } (0)-> 693b7d3956bSstephh ereport.io.pci.sta@PCIFN; 69400d0963fSdilpreet 695b7d3956bSstephhprop error.io.pci.ta-pw-u@PCIFN { IS_BDG } (1)-> 696b7d3956bSstephh ereport.io.pci.sta@PCIFN; 69700d0963fSdilpreet 698b7d3956bSstephhprop error.io.pci.ta-pw-u@PCIFN/PCIFN (2)-> 699b7d3956bSstephh ereport.io.pci.sec-rta@PCIFN, 700b7d3956bSstephh error.io.pci.serr-u@PCIFN; 70100d0963fSdilpreet 702b7d3956bSstephhprop error.io.pci.nr-drw-u@PCIFN (1)-> 703b7d3956bSstephh error.io.pci.ma-u@PCIFN; 70400d0963fSdilpreet 705b7d3956bSstephhprop error.io.pci.nr-drw-u@PCIFN (1)-> 706b7d3956bSstephh error.io.pci.target-rta-d@PCIFN, 707b7d3956bSstephh error.io.pci.target-ma-d@PCIFN; 70800d0963fSdilpreet 709b7d3956bSstephhprop error.io.pci.ma-u@PCIFN/PCIFN (1)-> 710b7d3956bSstephh ereport.io.pci.sec-ma@PCIFN; 71100d0963fSdilpreet 712b7d3956bSstephhprop error.io.pci.ma-u@PCIFN/PCIFN (1)-> 713b7d3956bSstephh error.io.pci.ma-u@PCIFN, 714b7d3956bSstephh error.io.pci.ta-u@PCIFN; 71500d0963fSdilpreet 716b7d3956bSstephhprop error.io.pci.ta-drw-u@PCIFN (1)-> 717b7d3956bSstephh error.io.pci.ta-u@PCIFN; 71800d0963fSdilpreet 719b7d3956bSstephhprop error.io.pci.ta-drw-u@PCIFN (1)-> 720b7d3956bSstephh error.io.pci.target-rta-d@PCIFN; 72100d0963fSdilpreet 72200d0963fSdilpreet/* 72300d0963fSdilpreet * bad data (ie invalid but not an ape or dpe) can propagate upstream, 72400d0963fSdilpreet * and at some point may result in a target or master abort 72500d0963fSdilpreet */ 726b7d3956bSstephhprop error.io.pci.badreq-pw-u@PCIFN/PCIFN (1)-> 727b7d3956bSstephh error.io.pci.badreq-pw-u@PCIFN, 728b7d3956bSstephh error.io.pci.nr-pw-d@PCIFN/PCIFN, 729b7d3956bSstephh error.io.pci.ta-pw-d@PCIFN/PCIFN; 73000d0963fSdilpreet 731b7d3956bSstephhprop error.io.pci.badreq-pw-u@PCIFN (0)-> 732b7d3956bSstephh error.io.pci.nr-pw-d@PCIFN, 733b7d3956bSstephh error.io.pci.ta-pw-d@PCIFN; 73400d0963fSdilpreet 735b7d3956bSstephhprop error.io.pci.nr-pw-d@PCIFN { IS_LEAF } (0)-> 736b7d3956bSstephh ereport.io.pci.ma@PCIFN; 73700d0963fSdilpreet 738b7d3956bSstephhprop error.io.pci.nr-pw-d@PCIFN { IS_BDG } (2)-> 739b7d3956bSstephh ereport.io.pci.ma@PCIFN, 740b7d3956bSstephh error.io.pci.serr-u@PCIFN; 74100d0963fSdilpreet 742b7d3956bSstephhprop error.io.pci.ta-pw-d@PCIFN/PCIFN (1)-> 743b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN; 74400d0963fSdilpreet 745b7d3956bSstephhprop error.io.pci.ta-pw-d@PCIFN { IS_LEAF } (0)-> 746b7d3956bSstephh ereport.io.pci.rta@PCIFN; 74700d0963fSdilpreet 748b7d3956bSstephhprop error.io.pci.ta-pw-d@PCIFN { IS_BDG } (2)-> 749b7d3956bSstephh ereport.io.pci.rta@PCIFN, 750b7d3956bSstephh error.io.pci.serr-u@PCIFN; 75100d0963fSdilpreet 75200d0963fSdilpreet/* 75300d0963fSdilpreet * for delayed writes we treat upstream badreq specially as rta always 75400d0963fSdilpreet * propagates back downstream to the leaf 75500d0963fSdilpreet */ 756b7d3956bSstephhprop error.io.pci.badreq-drw-u@PCIFN { IS_LEAF } (0)-> 757b7d3956bSstephh ereport.io.pci.rta@PCIFN, 758b7d3956bSstephh ereport.io.pci.ma@PCIFN; 75900d0963fSdilpreet 760b7d3956bSstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (1)-> 761b7d3956bSstephh ereport.io.pci.ma@PCIFN, 762b7d3956bSstephh ereport.io.pci.rta@PCIFN; 76300d0963fSdilpreet 764b7d3956bSstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (0)-> 765b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN; 76600d0963fSdilpreet 767b7d3956bSstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (0)-> 768b7d3956bSstephh error.io.pci.badreq-drw-u@PCIFN; 76900d0963fSdilpreet 770b7d3956bSstephhprop error.io.pci.nr-drw-d@PCIFN { IS_LEAF } (0)-> 771b7d3956bSstephh ereport.io.pci.ma@PCIFN; 77200d0963fSdilpreet 773b7d3956bSstephhprop error.io.pci.nr-drw-d@PCIFN { IS_BDG } (1)-> 774b7d3956bSstephh ereport.io.pci.ma@PCIFN; 77500d0963fSdilpreet 776b7d3956bSstephhprop error.io.pci.nr-drw-d@PCIFN { IS_BDG } (0)-> 777b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN; 77800d0963fSdilpreet 779b7d3956bSstephhprop error.io.pci.nr-drw-d@PCIFN (1)-> 780b7d3956bSstephh error.io.pci.ta-d@PCIFN/PCIFNHZ, 781b7d3956bSstephh error.io.pci.nr-drw-d@PCIFN/PCIFNHZ; 78200d0963fSdilpreet 783b7d3956bSstephhprop error.io.pci.ta-drw-d@PCIFN/PCIFN (1)-> 784b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN; 78500d0963fSdilpreet 786b7d3956bSstephhprop error.io.pci.ta-drw-d@PCIFN (1)-> 787b7d3956bSstephh error.io.pci.ta-d@PCIFN; 78800d0963fSdilpreet 789b7d3956bSstephhprop error.io.pci.ta-d@PCIFN { IS_LEAF } (0)-> 790b7d3956bSstephh ereport.io.pci.rta@PCIFN; 79100d0963fSdilpreet 792b7d3956bSstephhprop error.io.pci.ta-d@PCIFN { IS_BDG } (2)-> 793b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN, 794b7d3956bSstephh ereport.io.pci.rta@PCIFN; 79500d0963fSdilpreet 796b7d3956bSstephhprop error.io.pci.ta-d@PCIFN (1)-> 797b7d3956bSstephh error.io.pci.ta-d@PCIFN/PCIFNHZ; 79800d0963fSdilpreet 79900d0963fSdilpreet/* 80000d0963fSdilpreet * Request with address parity error must be detected by parent device 80100d0963fSdilpreet * and can optionally result in a target or master abort. 80200d0963fSdilpreet * It may also be detected by sibling devices on a bus 80300d0963fSdilpreet */ 804b7d3956bSstephhprop error.io.pci.ape-u@PCIFN/PCIFN (3)-> 805b7d3956bSstephh ereport.io.pci.sec-dpe@PCIFN, 806b7d3956bSstephh ereport.io.pci.sec-rserr@PCIFN, 807b7d3956bSstephh error.io.pci.serr-u@PCIFN; 80800d0963fSdilpreet 809b7d3956bSstephhprop error.io.pci.ape-u@PCIFN (0)-> 810b7d3956bSstephh error.io.pci.nr-drw-d@PCIFN, 811b7d3956bSstephh error.io.pci.ta-drw-d@PCIFN, 812b7d3956bSstephh error.io.pci.nr-pw-d@PCIFN, 813b7d3956bSstephh error.io.pci.ta-pw-d@PCIFN; 81400d0963fSdilpreet 815b7d3956bSstephhprop error.io.pci.ape-u@PCIFN (0)-> 816b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 81700d0963fSdilpreet 81800d0963fSdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (0)-> 81900d0963fSdilpreet ereport.io.pci.dpe@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}, 82000d0963fSdilpreet ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}; 82100d0963fSdilpreet 822b7d3956bSstephhprop error.io.pci.ape-u@PCIFN (1)-> 823b7d3956bSstephh error.io.pci.source-ape-u@PCIFN; 82400d0963fSdilpreet 82500d0963fSdilpreet/* 82600d0963fSdilpreet * If the bridge sees an upstream split completion error (pci-x only) it could 82700d0963fSdilpreet * result in a number of things 82800d0963fSdilpreet * - for various faults in the split completion (eg address parity error) 82900d0963fSdilpreet * we will respond with a target abort (which the child device will treat 83000d0963fSdilpreet * as a split completion ta) 83100d0963fSdilpreet * - for other faults we can't tell who send the split completion and so 83200d0963fSdilpreet * just drop the request (which the child device sees as a split 83300d0963fSdilpreet * completion ma) 83400d0963fSdilpreet */ 835b7d3956bSstephhprop error.io.pcix.scpe-u@PCIFN/PCIFN (0)-> 836b7d3956bSstephh ereport.io.pci.sec-sta@PCIFN, 837b7d3956bSstephh ereport.io.pci.sec-dpe@PCIFN, 838b7d3956bSstephh ereport.io.pci.sec-rserr@PCIFN, 839b7d3956bSstephh error.io.pci.serr-u@PCIFN; 84000d0963fSdilpreet 841b7d3956bSstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 842b7d3956bSstephh error.io.pcix.spl-comp-ma-d@PCIFN, 843b7d3956bSstephh error.io.pcix.spl-comp-ta-d@PCIFN; 84400d0963fSdilpreet 845b7d3956bSstephhprop error.io.pcix.spl-comp-ma-d@PCIFN (1)-> 846b7d3956bSstephh error.io.pci.serr-u@PCIFN; 84700d0963fSdilpreet 848b7d3956bSstephhprop error.io.pcix.spl-comp-ma-d@PCIFN { IS_LEAF } (0)-> 849b7d3956bSstephh ereport.io.pci.sserr@PCIFN, 850b7d3956bSstephh ereport.io.pcix.spl-dis@PCIFN; 85100d0963fSdilpreet 852b7d3956bSstephhprop error.io.pcix.spl-comp-ma-d@PCIFN { IS_BDG } (2)-> 853b7d3956bSstephh ereport.io.pcix.spl-dis@PCIFN, 854b7d3956bSstephh ereport.io.pci.ma@PCIFN; 85500d0963fSdilpreet 856b7d3956bSstephhprop error.io.pcix.spl-comp-ta-d@PCIFN (1)-> 857b7d3956bSstephh error.io.pci.serr-u@PCIFN; 85800d0963fSdilpreet 859b7d3956bSstephhprop error.io.pcix.spl-comp-ta-d@PCIFN { IS_LEAF } (0)-> 860b7d3956bSstephh ereport.io.pci.sserr@PCIFN, 861b7d3956bSstephh ereport.io.pcix.spl-dis@PCIFN; 86200d0963fSdilpreet 863b7d3956bSstephhprop error.io.pcix.spl-comp-ta-d@PCIFN { IS_BDG } (2)-> 864b7d3956bSstephh ereport.io.pcix.spl-dis@PCIFN, 865b7d3956bSstephh ereport.io.pci.rta@PCIFN; 86600d0963fSdilpreet 867b7d3956bSstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 868b7d3956bSstephh error.io.pcix.source-scpe-u@PCIFN; 86900d0963fSdilpreet 87000d0963fSdilpreet/* 87100d0963fSdilpreet * request with address parity error must be detected by child device 87200d0963fSdilpreet * and can optionally result in a target or master abort. 87300d0963fSdilpreet */ 874b7d3956bSstephhprop error.io.pci.ape-d@PCIFN (1)-> 875b7d3956bSstephh error.io.pci.serr-u@PCIFN; 87600d0963fSdilpreet 877b7d3956bSstephhprop error.io.pci.ape-d@PCIFN { IS_LEAF } (0)-> 878b7d3956bSstephh error.io.pci.leaf-ape-d@PCIFN; 87900d0963fSdilpreet 880b7d3956bSstephhprop error.io.pci.leaf-ape-d@PCIFN { IS_LEAF } (2)-> 881b7d3956bSstephh ereport.io.pci.sserr@PCIFN, 882b7d3956bSstephh ereport.io.pci.dpe@PCIFN; 88300d0963fSdilpreet 884b7d3956bSstephhprop error.io.pci.ape-d@PCIFN { IS_BDG } (1)-> 885b7d3956bSstephh ereport.io.pci.dpe@PCIFN; 88600d0963fSdilpreet 887b7d3956bSstephhprop error.io.pci.ape-d@PCIFN (0)-> 888b7d3956bSstephh error.io.pci.ta-pw-u@PCIFN, 889b7d3956bSstephh error.io.pci.ta-drw-u@PCIFN, 890b7d3956bSstephh error.io.pci.nr-pw-u@PCIFN, 891b7d3956bSstephh error.io.pci.nr-drw-u@PCIFN; 89200d0963fSdilpreet 89300d0963fSdilpreet/* 89400d0963fSdilpreet * If the device sees a downstream split completion error (pci-x only) it could 89500d0963fSdilpreet * result in a number of things 89600d0963fSdilpreet * - for various faults in the split completion (eg address parity error) 89700d0963fSdilpreet * we will respond with a target abort (which the parent bridge will treat 89800d0963fSdilpreet * as a split completion ta) 89900d0963fSdilpreet * - for other faults we can't tell who send the split completion and so 90000d0963fSdilpreet * just drop the request (which the parent bridge sees as a split 90100d0963fSdilpreet * completion ma) 90200d0963fSdilpreet */ 903b7d3956bSstephhprop error.io.pcix.scpe-d@PCIFN (0)-> 904b7d3956bSstephh ereport.io.pci.sta@PCIFN, 905b7d3956bSstephh ereport.io.pci.dpe@PCIFN, 906b7d3956bSstephh ereport.io.pci.sserr@PCIFN, 907b7d3956bSstephh error.io.pci.serr-u@PCIFN; 90800d0963fSdilpreet 909b7d3956bSstephhprop error.io.pcix.scpe-d@PCIFN (1)-> 910b7d3956bSstephh error.io.pcix.spl-comp-ma-u@PCIFN, 911b7d3956bSstephh error.io.pcix.spl-comp-ta-u@PCIFN; 91200d0963fSdilpreet 913b7d3956bSstephhprop error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN (2)-> 914b7d3956bSstephh ereport.io.pcix.sec-spl-dis@PCIFN, 915b7d3956bSstephh error.io.pci.serr-u@PCIFN; 9168aec9182Sstephh 917b7d3956bSstephhprop error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN (0)-> 918b7d3956bSstephh ereport.io.pci.sec-ma@PCIFN; 91900d0963fSdilpreet 920b7d3956bSstephhprop error.io.pcix.spl-comp-ta-u@PCIFN/PCIFN (3)-> 921b7d3956bSstephh ereport.io.pcix.sec-spl-dis@PCIFN, 922b7d3956bSstephh error.io.pci.serr-u@PCIFN, 923b7d3956bSstephh ereport.io.pci.sec-rta@PCIFN; 92400d0963fSdilpreet 92500d0963fSdilpreet/* 92600d0963fSdilpreet * request with data parity error can propagate upstream 92700d0963fSdilpreet * 92800d0963fSdilpreet * for PCI/X (but not PCI) the split write can optionally be forwarded across 92900d0963fSdilpreet * the bridge, maintaining bad parity/ecc 93000d0963fSdilpreet * 93100d0963fSdilpreet * if there is a dpe on a retry on a delayed write, we don't send another 93200d0963fSdilpreet * retry, and eventually the dto timer will expire 93300d0963fSdilpreet */ 934b7d3956bSstephhprop error.io.pci.dpdata-pw-u@PCIFN { IS_LEAF } (0)-> 935b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 93600d0963fSdilpreet 937b7d3956bSstephhprop error.io.pci.dpdata-pw-u@PCIFN/PCIFN (3)-> 938b7d3956bSstephh ereport.io.pci.mdpe@PCIFN, 939b7d3956bSstephh ereport.io.pci.sec-dpe@PCIFN, 940b7d3956bSstephh error.io.pci.dpdata-pw-u@PCIFN; 94100d0963fSdilpreet 942b7d3956bSstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (1)-> 943b7d3956bSstephh ereport.io.pci.sec-dpe@PCIFN; 9447c478bd9Sstevel@tonic-gate 945b7d3956bSstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (0)-> 946b7d3956bSstephh ereport.io.pci.mdpe@PCIFN, 947b7d3956bSstephh error.io.pci.dpdata-dw-u@PCIFN; 9487c478bd9Sstevel@tonic-gate 949b7d3956bSstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (0)-> 950b7d3956bSstephh error.io.pci.retry-to-u@PCIFN/PCIFN; 95100d0963fSdilpreet 952b7d3956bSstephhprop error.io.pci.dpdata-dr-u@PCIFN/PCIFN (3)-> 953b7d3956bSstephh ereport.io.pci.sec-dpe@PCIFN, 954b7d3956bSstephh ereport.io.pci.sec-mdpe@PCIFN, 955b7d3956bSstephh error.io.pci.dpdata-dr-u@PCIFN; 9567c478bd9Sstevel@tonic-gate 9577c478bd9Sstevel@tonic-gate/* 95800d0963fSdilpreet * Request with data parity error can propagate downstream. A hardened 95900d0963fSdilpreet * leaf driver should handle the error, but may or may not be able to 96000d0963fSdilpreet * avoid service impact. We handle to two cases separately. If there is 96100d0963fSdilpreet * service impact we will fail immediately, if not we will feed into a SERD 96200d0963fSdilpreet * engine. 9637c478bd9Sstevel@tonic-gate * 96400d0963fSdilpreet * for PCI/X (but not PCI) the split write can optionally be forwarded across 96500d0963fSdilpreet * the bridge, maintaining bad parity/ecc 96600d0963fSdilpreet * 96700d0963fSdilpreet * if there is a dpe on a retry on a delayed write, we don't send another 96800d0963fSdilpreet * retry, and eventually the dto timer will expire 9697c478bd9Sstevel@tonic-gate */ 970b7d3956bSstephhprop error.io.pci.f-dpe-d@PCIFN (1)-> 971b7d3956bSstephh error.io.pci.dpdata-pw-d@PCIFN, 972b7d3956bSstephh error.io.pci.dpdata-dw-d@PCIFN, 973b7d3956bSstephh error.io.pci.dpdata-dr-d@PCIFN; 9747c478bd9Sstevel@tonic-gate 975b7d3956bSstephhprop error.io.pci.f-dpe-d@PCIFN (1)-> 976b7d3956bSstephh error.io.pci.f-source-dpdata-u@PCIFN; 9777c478bd9Sstevel@tonic-gate 978b7d3956bSstephhprop error.io.pci.deg-dpe-d@PCIFN (1)-> 979b7d3956bSstephh error.io.pci.dpdata-pw-d@PCIFN, 980b7d3956bSstephh error.io.pci.dpdata-dw-d@PCIFN, 981b7d3956bSstephh error.io.pci.dpdata-dr-d@PCIFN; 98200d0963fSdilpreet 983b7d3956bSstephhprop error.io.pci.deg-dpe-d@PCIFN (1)-> 984b7d3956bSstephh error.io.pci.deg-source-dpdata-u@PCIFN; 98500d0963fSdilpreet 986b7d3956bSstephhprop error.io.pci.nf-dpe-d@PCIFN (1)-> 987b7d3956bSstephh error.io.pci.dpdata-pw-d@PCIFN, 988b7d3956bSstephh error.io.pci.dpdata-dw-d@PCIFN, 989b7d3956bSstephh error.io.pci.dpdata-dr-d@PCIFN; 99000d0963fSdilpreet 991b7d3956bSstephhprop error.io.pci.nf-dpe-d@PCIFN (1)-> 992b7d3956bSstephh error.io.pci.nf-source-dpdata-u@PCIFN; 99300d0963fSdilpreet 994b7d3956bSstephhprop error.io.pci.dpdata-pw-d@PCIFN (2)-> 995b7d3956bSstephh error.io.pci.perr-pw-u@PCIFN, 996b7d3956bSstephh error.io.pci.dpdata-pw-fwd-d@PCIFN; 99700d0963fSdilpreet 998b7d3956bSstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_LEAF } (1)-> 999b7d3956bSstephh error.io.pci.source-perr-u@PCIFN; 100000d0963fSdilpreet 1001b7d3956bSstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_LEAF } (0)-> 1002b7d3956bSstephh ereport.io.pci.dpe@PCIFN; 100300d0963fSdilpreet 1004b7d3956bSstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_BDG } (2)-> 1005b7d3956bSstephh ereport.io.pci.dpe@PCIFN, 1006b7d3956bSstephh ereport.io.pci.sec-mdpe@PCIFN; 100700d0963fSdilpreet 1008b7d3956bSstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN (1)-> 1009b7d3956bSstephh error.io.pci.dpdata-pw-fwd-d@PCIFN/PCIFNHZ; 101000d0963fSdilpreet 1011b7d3956bSstephhprop error.io.pci.dpdata-dw-d@PCIFN (3)-> 1012b7d3956bSstephh error.io.pci.perr-dw-u@PCIFN, 1013b7d3956bSstephh error.io.pci.target-mdpe-d@PCIFN, 1014b7d3956bSstephh error.io.pci.dpdata-dw-fwd-d@PCIFN; 101500d0963fSdilpreet 1016b7d3956bSstephhprop error.io.pci.dpdata-dw-d@PCIFN { IS_BDG } (1)-> 1017b7d3956bSstephh ereport.io.pci.dpe@PCIFN; 101800d0963fSdilpreet 1019b7d3956bSstephhprop error.io.pci.dpdata-dw-d@PCIFN { IS_BDG } (0)-> 1020b7d3956bSstephh error.io.pci.retry-to-d@PCIFN; 102100d0963fSdilpreet 1022b7d3956bSstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_LEAF } (1)-> 1023b7d3956bSstephh error.io.pci.source-perr-u@PCIFN; 102400d0963fSdilpreet 1025b7d3956bSstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_LEAF } (0)-> 1026b7d3956bSstephh ereport.io.pci.dpe@PCIFN; 102700d0963fSdilpreet 1028b7d3956bSstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_BDG } (0)-> 1029b7d3956bSstephh ereport.io.pci.dpe@PCIFN, 1030b7d3956bSstephh ereport.io.pci.sec-mdpe@PCIFN; 103100d0963fSdilpreet 1032b7d3956bSstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN (0)-> 1033b7d3956bSstephh error.io.pci.dpdata-dw-fwd-d@PCIFN/PCIFNHZ; 103400d0963fSdilpreet 1035b7d3956bSstephhprop error.io.pci.dpdata-dr-d@PCIFN (2)-> 1036b7d3956bSstephh error.io.pci.dpdata-dr-fwd-d@PCIFN, 1037b7d3956bSstephh error.io.pci.perr-dr-u@PCIFN; 103800d0963fSdilpreet 1039b7d3956bSstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_LEAF } (1)-> 1040b7d3956bSstephh error.io.pci.source-perr-u@PCIFN; 104100d0963fSdilpreet 1042b7d3956bSstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_LEAF } (0)-> 1043b7d3956bSstephh ereport.io.pci.dpe@PCIFN, 1044b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 104500d0963fSdilpreet 1046b7d3956bSstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_BDG } (2)-> 1047b7d3956bSstephh ereport.io.pci.dpe@PCIFN, 1048b7d3956bSstephh ereport.io.pci.mdpe@PCIFN; 104900d0963fSdilpreet 1050b7d3956bSstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN (1)-> 1051b7d3956bSstephh error.io.pci.dpdata-dr-fwd-d@PCIFN/PCIFNHZ; 10527c478bd9Sstevel@tonic-gate 10537c478bd9Sstevel@tonic-gate/* 105400d0963fSdilpreet * delayed read/write retry timeout can cause dto at a bridge 105500d0963fSdilpreet */ 1056b7d3956bSstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (0)-> 1057b7d3956bSstephh error.io.pci.retry-to-u@PCIFN; 105800d0963fSdilpreet 1059b7d3956bSstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (1)-> 1060b7d3956bSstephh ereport.io.pci.dto@PCIFN; 106100d0963fSdilpreet 1062b7d3956bSstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (0)-> 1063b7d3956bSstephh error.io.pci.serr-u@PCIFN; 106400d0963fSdilpreet 1065b7d3956bSstephhprop error.io.pci.retry-to-d@PCIFN (0)-> 1066b7d3956bSstephh error.io.pci.retry-to-d@PCIFN/PCIFN; 106700d0963fSdilpreet 1068b7d3956bSstephhprop error.io.pci.retry-to-d@PCIFN { IS_BDG } (1)-> 1069b7d3956bSstephh ereport.io.pci.dto@PCIFN; 107000d0963fSdilpreet 1071b7d3956bSstephhprop error.io.pci.retry-to-d@PCIFN { IS_BDG } (0)-> 1072b7d3956bSstephh error.io.pci.serr-u@PCIFN; 107300d0963fSdilpreet 107400d0963fSdilpreet/* 107500d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 107600d0963fSdilpreet * source- propagations. 107700d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 107800d0963fSdilpreet */ 1079b7d3956bSstephhevent error.io.pci.source-ape-u@PCIFN/PCIFN; 1080b7d3956bSstephhevent error.io.pcix.source-scpe-u@PCIFN/PCIFN; 108100d0963fSdilpreet 1082b7d3956bSstephhprop error.io.pci.source-ape-u@PCIFN (1)-> 1083b7d3956bSstephh error.io.pci.source-ape-u@PCIFN/PCIFNHZ; 108400d0963fSdilpreet 1085b7d3956bSstephhprop error.io.pcix.source-scpe-u@PCIFN (1)-> 1086b7d3956bSstephh error.io.pcix.source-scpe-u@PCIFN/PCIFNHZ; 108700d0963fSdilpreet 108800d0963fSdilpreet/* 108900d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 109000d0963fSdilpreet * Handling of leaf driver detected internal errors. Use serd engine if 109100d0963fSdilpreet * no service impact - otherwise fail immediately 109200d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 109300d0963fSdilpreet */ 1094b7d3956bSstephhevent ereport.io.device.inval_state@PCIFN{within(5s)}; 1095b7d3956bSstephhevent ereport.io.device.no_response@PCIFN{within(5s)}; 1096b7d3956bSstephhevent ereport.io.device.stall@PCIFN{within(5s)}; 1097b7d3956bSstephhevent ereport.io.device.badint_limit@PCIFN{within(5s)}; 1098b7d3956bSstephhevent ereport.io.device.intern_corr@PCIFN{within(5s)}; 1099b7d3956bSstephhevent ereport.io.device.intern_uncorr@PCIFN{within(5s)}; 110000d0963fSdilpreet 1101b7d3956bSstephhprop error.io.service.restored@PCIFN { IS_LEAF } (1)-> 1102b7d3956bSstephh ereport.io.service.lost@PCIFN, 1103b7d3956bSstephh ereport.io.service.degraded@PCIFN; 110400d0963fSdilpreet 1105b7d3956bSstephhprop error.io.service.restored@PCIFN { IS_LEAF } (1)-> 1106b7d3956bSstephh ereport.io.service.restored@PCIFN; 110700d0963fSdilpreet 1108b7d3956bSstephhprop error.io.device.f-device@PCIFN { IS_LEAF } (1)-> 1109b7d3956bSstephh ereport.io.device.inval_state@PCIFN, 1110b7d3956bSstephh ereport.io.device.no_response@PCIFN, 1111b7d3956bSstephh ereport.io.device.stall@PCIFN, 1112b7d3956bSstephh ereport.io.device.badint_limit@PCIFN, 1113b7d3956bSstephh ereport.io.device.intern_corr@PCIFN, 1114b7d3956bSstephh ereport.io.device.intern_uncorr@PCIFN; 111500d0963fSdilpreet 1116b7d3956bSstephhprop error.io.device.f-device@PCIFN { IS_LEAF } (1)-> 1117b7d3956bSstephh ereport.io.service.lost@PCIFN; 111800d0963fSdilpreet 1119b7d3956bSstephhprop error.io.device.deg-device@PCIFN { IS_LEAF } (1)-> 1120b7d3956bSstephh ereport.io.device.inval_state@PCIFN, 1121b7d3956bSstephh ereport.io.device.no_response@PCIFN, 1122b7d3956bSstephh ereport.io.device.stall@PCIFN, 1123b7d3956bSstephh ereport.io.device.badint_limit@PCIFN, 1124b7d3956bSstephh ereport.io.device.intern_corr@PCIFN, 1125b7d3956bSstephh ereport.io.device.intern_uncorr@PCIFN; 112600d0963fSdilpreet 1127b7d3956bSstephhprop error.io.device.deg-device@PCIFN { IS_LEAF } (1)-> 1128b7d3956bSstephh ereport.io.service.degraded@PCIFN; 112900d0963fSdilpreet 1130b7d3956bSstephhprop error.io.device.nf-device@PCIFN { IS_LEAF } (1)-> 1131b7d3956bSstephh ereport.io.device.inval_state@PCIFN, 1132b7d3956bSstephh ereport.io.device.no_response@PCIFN, 1133b7d3956bSstephh ereport.io.device.stall@PCIFN, 1134b7d3956bSstephh ereport.io.device.badint_limit@PCIFN, 1135b7d3956bSstephh ereport.io.device.intern_corr@PCIFN, 1136b7d3956bSstephh ereport.io.device.intern_uncorr@PCIFN; 113700d0963fSdilpreet 1138b7d3956bSstephhprop error.io.device.nf-device@PCIFN { IS_LEAF } (1)-> 1139b7d3956bSstephh ereport.io.service.unaffected@PCIFN, 1140b7d3956bSstephh error.io.service.restored@PCIFN; 114100d0963fSdilpreet 114200d0963fSdilpreet/* 114300d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 114400d0963fSdilpreet * stub unused ereports 114500d0963fSdilpreet * - ignore rx-spl as we can't tell what message it was (and we should have 114600d0963fSdilpreet * diagnosed the problem anyway from standard pci ereports) 114700d0963fSdilpreet * - ignore sec-spl-or/sec-spl-dly as these aren't really faults (tuning info) 114800d0963fSdilpreet * - ignore unex-spl/sec-unex-spl 114900d0963fSdilpreet * - ignore ecc.ue ereports (we get everything we need from dpe/mdpe) 115000d0963fSdilpreet * - ignore ecc.ce ereports for now (could do serd on these) 115100d0963fSdilpreet * - ignore nr ereport 115200d0963fSdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11537c478bd9Sstevel@tonic-gate */ 11547c478bd9Sstevel@tonic-gate 1155b7d3956bSstephhevent ereport.io.pci.nr@PCIFN{within(5s)}; 1156b7d3956bSstephhevent ereport.io.pcix.unex-spl@PCIFN{within(5s)}; 1157b7d3956bSstephhevent ereport.io.pcix.rx-spl@PCIFN{within(5s)}; 1158b7d3956bSstephhevent ereport.io.pcix.sec-unex-spl@PCIFN{within(5s)}; 1159b7d3956bSstephhevent ereport.io.pcix.sec-spl-or@PCIFN{within(5s)}; 1160b7d3956bSstephhevent ereport.io.pcix.sec-spl-dly@PCIFN{within(5s)}; 1161b7d3956bSstephhevent ereport.io.pcix.ecc.ce-addr@PCIFN{within(5s)}; 1162b7d3956bSstephhevent ereport.io.pcix.ecc.ce-attr@PCIFN{within(5s)}; 1163b7d3956bSstephhevent ereport.io.pcix.ecc.ce-data@PCIFN{within(5s)}; 1164b7d3956bSstephhevent ereport.io.pcix.ecc.ue-addr@PCIFN{within(5s)}; 1165b7d3956bSstephhevent ereport.io.pcix.ecc.ue-attr@PCIFN{within(5s)}; 1166b7d3956bSstephhevent ereport.io.pcix.ecc.ue-data@PCIFN{within(5s)}; 1167b7d3956bSstephhevent ereport.io.pcix.s-ce@PCIFN{within(5s)}; 1168b7d3956bSstephhevent ereport.io.pcix.s-ue@PCIFN{within(5s)}; 1169b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ce-addr@PCIFN{within(5s)}; 1170b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ce-attr@PCIFN{within(5s)}; 1171b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ce-data@PCIFN{within(5s)}; 1172b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ue-addr@PCIFN{within(5s)}; 1173b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ue-attr@PCIFN{within(5s)}; 1174b7d3956bSstephhevent ereport.io.pcix.sec-ecc.ue-data@PCIFN{within(5s)}; 1175b7d3956bSstephhevent ereport.io.pcix.sec-s-ce@PCIFN{within(5s)}; 1176b7d3956bSstephhevent ereport.io.pcix.sec-s-ue@PCIFN{within(5s)}; 11777c478bd9Sstevel@tonic-gate 1178b7d3956bSstephhevent upset.io.pcix.discard@PCIFN; 117900d0963fSdilpreet 1180b7d3956bSstephhprop upset.io.pcix.discard@PCIFN (1)-> 1181b7d3956bSstephh ereport.io.pci.nr@PCIFN, 1182b7d3956bSstephh ereport.io.pcix.rx-spl@PCIFN, 1183b7d3956bSstephh ereport.io.pcix.unex-spl@PCIFN, 1184b7d3956bSstephh ereport.io.pcix.sec-unex-spl@PCIFN, 1185b7d3956bSstephh ereport.io.pcix.sec-spl-or@PCIFN, 1186b7d3956bSstephh ereport.io.pcix.sec-spl-dly@PCIFN, 1187b7d3956bSstephh ereport.io.pcix.ecc.ce-addr@PCIFN, 1188b7d3956bSstephh ereport.io.pcix.ecc.ce-attr@PCIFN, 1189b7d3956bSstephh ereport.io.pcix.ecc.ce-data@PCIFN, 1190b7d3956bSstephh ereport.io.pcix.ecc.ue-addr@PCIFN, 1191b7d3956bSstephh ereport.io.pcix.ecc.ue-attr@PCIFN, 1192b7d3956bSstephh ereport.io.pcix.ecc.ue-data@PCIFN, 1193b7d3956bSstephh ereport.io.pcix.s-ce@PCIFN, 1194b7d3956bSstephh ereport.io.pcix.s-ue@PCIFN, 1195b7d3956bSstephh ereport.io.pcix.sec-ecc.ce-addr@PCIFN, 1196b7d3956bSstephh ereport.io.pcix.sec-ecc.ce-attr@PCIFN, 1197b7d3956bSstephh ereport.io.pcix.sec-ecc.ce-data@PCIFN, 1198b7d3956bSstephh ereport.io.pcix.sec-ecc.ue-addr@PCIFN, 1199b7d3956bSstephh ereport.io.pcix.sec-ecc.ue-attr@PCIFN, 1200b7d3956bSstephh ereport.io.pcix.sec-ecc.ue-data@PCIFN, 1201b7d3956bSstephh ereport.io.pcix.sec-s-ce@PCIFN, 1202b7d3956bSstephh ereport.io.pcix.sec-s-ue@PCIFN; 1203