10Sstevel@tonic-gate/* 20Sstevel@tonic-gate * CDDL HEADER START 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * The contents of this file are subject to the terms of the 51865Sdilpreet * Common Development and Distribution License (the "License"). 61865Sdilpreet * You may not use this file except in compliance with the License. 70Sstevel@tonic-gate * 80Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate * See the License for the specific language governing permissions 110Sstevel@tonic-gate * and limitations under the License. 120Sstevel@tonic-gate * 130Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate * 190Sstevel@tonic-gate * CDDL HEADER END 200Sstevel@tonic-gate */ 210Sstevel@tonic-gate/* 22*10124SStephen.Hanson@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 230Sstevel@tonic-gate * Use is subject to license terms. 240Sstevel@tonic-gate */ 250Sstevel@tonic-gate 260Sstevel@tonic-gate#pragma dictionary "PCI" 270Sstevel@tonic-gate 283062Scindi#include <fm/topo_hc.h> 293062Scindi 300Sstevel@tonic-gate#define PCI_DEV_FIT 1000 310Sstevel@tonic-gate#define PCI_BUS_FIT 500 320Sstevel@tonic-gate 331865Sdilpreet/* 341865Sdilpreet * SERD parameters. 351865Sdilpreet * 361865Sdilpreet * Nonfatal dpe errors have to be recovered by the hardened driver which may 371865Sdilpreet * cause intermittant performance/responsiveness problems, so we have tighter 381865Sdilpreet * serd parameters for these. These are most likely errors in buffers/caches 391865Sdilpreet * within devices and bridges, so use similar rates to cpu data cache parity 401865Sdilpreet * errors. 411865Sdilpreet * 421865Sdilpreet * We will be more conservative about nonfatal internal errors reported 431865Sdilpreet * by the driver. 441865Sdilpreet */ 451865Sdilpreet#define NONFATAL_COUNT 6 461865Sdilpreet#define NONFATAL_TIME 2h 477197Sstephh#define NONFATAL_DPE_COUNT 3 487197Sstephh#define NONFATAL_DPE_TIME 168h 497197Sstephh 507197Sstephh#define PCIFN pcibus/pcidev/pcifn 517197Sstephh#define PCIFNHZ pcibus<>/pcidev<>/pcifn<> 527197Sstephh 537197Sstephhengine serd.io.device.nonfatal@PCIFN, 547197Sstephh N=NONFATAL_COUNT, T=NONFATAL_TIME; 557197Sstephh 567197Sstephhengine serd.io.pci.nf-dpe@PCIFN, 577197Sstephh N=NONFATAL_DPE_COUNT, T=NONFATAL_DPE_TIME; 587197Sstephh 597197Sstephhengine serd.io.pci.nf-dpe-bus@pcibus, 607197Sstephh N=NONFATAL_DPE_COUNT, T=NONFATAL_DPE_TIME; 611865Sdilpreet 621865Sdilpreet#define IS_LEAF \ 637197Sstephh (confprop_defined(PCIFN, TOPO_PCI_CLASS) && \ 647197Sstephh confprop(PCIFN, TOPO_PCI_CLASS) != "60400" && \ 657197Sstephh confprop(PCIFN, TOPO_PCI_CLASS) != "60401") 661865Sdilpreet 671865Sdilpreet#define IS_BDG \ 687197Sstephh (confprop(PCIFN, TOPO_PCI_CLASS) == "60400" || \ 697197Sstephh confprop(PCIFN, TOPO_PCI_CLASS) == "60401") 701865Sdilpreet 711865Sdilpreet#define FD_IS_LEAF \ 727197Sstephh (confprop_defined(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) && \ 737197Sstephh confprop(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) != "60400" && \ 747197Sstephh confprop(pcibus/pcidev[fromdev]/pcifn, TOPO_PCI_CLASS) != "60401") 751865Sdilpreet 767197Sstephh#define IS_LF(f) (confprop_defined(f, TOPO_PCI_CLASS) && \ 777197Sstephh confprop(f, TOPO_PCI_CLASS) != "60400" && \ 787197Sstephh confprop(f, TOPO_PCI_CLASS) != "60401") 791865Sdilpreet/* 801865Sdilpreet * note general rule for errors is that for upstream propagations 817197Sstephh * @PCIFN is the sending device while for downstream 821865Sdilpreet * propagations it is the receiving device. 831865Sdilpreet */ 841865Sdilpreet 857197Sstephhevent fault.io.pci.device-interr-corr@PCIFN, 867197Sstephh engine=serd.io.device.nonfatal@PCIFN, FITrate=PCI_DEV_FIT; 870Sstevel@tonic-gate 887197Sstephhevent fault.io.pci.device-interr-unaf@PCIFN, 897197Sstephh engine=serd.io.pci.nf-dpe@PCIFN, FITrate=PCI_DEV_FIT; 901865Sdilpreet 917197Sstephhevent fault.io.pci.device-interr-deg@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 927197Sstephh 937197Sstephhevent fault.io.pci.device-interr@PCIFN, FITrate=PCI_DEV_FIT; 941865Sdilpreet 957197Sstephhevent fault.io.pci.device-invreq@PCIFN, FITrate=PCI_DEV_FIT; 967197Sstephh 977197Sstephhevent fault.io.pci.device-noresp@PCIFN, FITrate=PCI_DEV_FIT; 980Sstevel@tonic-gate 99*10124SStephen.Hanson@Sun.COMevent fault.io.pci.fw_corrupt@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 100*10124SStephen.Hanson@Sun.COM 101*10124SStephen.Hanson@Sun.COMevent fault.io.pci.fw_mismatch@PCIFN, FITrate=PCI_DEV_FIT, retire=0; 102*10124SStephen.Hanson@Sun.COM 1031865Sdilpreet/* 1041865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1051865Sdilpreet * A faulty hostbridge may cause: 1061865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1071865Sdilpreet * - nr-pw-d: the device not to respond to an upstream request 1081865Sdilpreet * - nr-drw-d: the device not to respond to an upstream request 1091865Sdilpreet * - ta-pw-d: the device to send a target abort to an upstream request 1101865Sdilpreet * - ta-drw-d: the device to send a target abort to an upstream request 1111865Sdilpreet * - serr-u: the device to report itself in error 1121865Sdilpreet * - badreq-pw-d:a bad downstream request - not parity error (may cause target 1131865Sdilpreet * to target abort or master abort) 1141865Sdilpreet * - badreq-drw-d:a bad downstream request - not parity error (may cause 1151865Sdilpreet * target to target abort or master abort) 1161865Sdilpreet * - ape-d: address/parity to get corrupted during downstream transmission 1171865Sdilpreet * - scpe-d: split completion to get corrupted during downstream transmission 1181865Sdilpreet * - dpe-d: the device to transfer bad data and/or bad parity downstream 1191865Sdilpreet * - retry-to-d: the device to exceed the set timeout for a delayed 1201865Sdilpreet * transaction retry. 1211865Sdilpreet */ 1221865Sdilpreet#define PCI_TO_HB pcibus/pcidev<todev>/pcifn<> {fromdev != 32 && todev == 32} 1231865Sdilpreet#define PCI_FROM_HB pcibus/pcidev<todev>/pcifn<> {fromdev == 32 && todev != 32} 1240Sstevel@tonic-gate 1257197Sstephhevent error.io.pci.retry-to-d@PCIFN; 1267197Sstephhevent error.io.pci.nr-pw-d@PCIFN; 1277197Sstephhevent error.io.pci.nr-drw-d@PCIFN; 1287197Sstephhevent error.io.pci.ta-pw-d@PCIFN; 1297197Sstephhevent error.io.pci.ta-drw-d@PCIFN; 1307197Sstephhevent error.io.pci.badreq-pw-d@PCIFN; 1317197Sstephhevent error.io.pci.badreq-drw-d@PCIFN; 1327197Sstephhevent error.io.pci.f-dpe-d@PCIFN; 1337197Sstephhevent error.io.pci.deg-dpe-d@PCIFN; 1347197Sstephhevent error.io.pci.nf-dpe-d@PCIFN; 1357197Sstephhevent error.io.pci.ape-d@PCIFN; 1367197Sstephhevent error.io.pci.ape-u@PCIFN; 1377197Sstephhevent error.io.pci.dpdata-dw-d@PCIFN; 1387197Sstephhevent error.io.pci.dpdata-pw-d@PCIFN; 1397197Sstephhevent error.io.pci.dpdata-dr-d@PCIFN; 1407197Sstephhevent error.io.pci.dpdata-pw-u@PCIFN; 1417197Sstephhevent error.io.pci.dpdata-dw-u@PCIFN; 1427197Sstephhevent error.io.pci.dpdata-dr-u@PCIFN; 1437197Sstephhevent error.io.pci.ta-u@PCIFN; 1447197Sstephhevent error.io.pci.ma-u@PCIFN; 1457197Sstephhevent error.io.pci.perr-dw-u@PCIFN; 1467197Sstephhevent error.io.pci.perr-pw-u@PCIFN; 1477197Sstephhevent error.io.pci.perr-dr-u@PCIFN; 1487197Sstephhevent error.io.pci.badreq-drw-u@PCIFN; 1497197Sstephhevent error.io.pci.badreq-pw-u@PCIFN; 1507197Sstephhevent error.io.pci.device-serr@PCIFN; 1517197Sstephhevent error.io.pci.device-ta@PCIFN; 1527197Sstephhevent error.io.pci.device-par@PCIFN; 1537197Sstephhevent error.io.pci.serr-u@PCIFN; 1547197Sstephhevent error.io.pcix.scpe-d@PCIFN; 1557197Sstephhevent error.io.pcix.scpe-u@PCIFN; 1567197Sstephhevent error.io.pcix.spl-comp-ma-u@PCIFN; 1577197Sstephhevent error.io.pcix.spl-comp-ta-u@PCIFN; 1587197Sstephhevent error.io.pcix.spl-comp-ma-d@PCIFN; 1597197Sstephhevent error.io.pcix.spl-comp-ta-d@PCIFN; 1601865Sdilpreet 1617197Sstephhevent ereport.io.pci.ma@PCIFN{within(5s)}; 1627197Sstephhevent ereport.io.pci.rta@PCIFN{within(5s)}; 1637197Sstephhevent ereport.io.pci.mdpe@PCIFN{within(5s)}; 1647197Sstephhevent ereport.io.pci.sta@PCIFN{within(5s)}; 1657197Sstephhevent ereport.io.pci.sserr@PCIFN{within(5s)}; 1667197Sstephhevent ereport.io.pci.dpe@PCIFN{within(5s)}; 1677197Sstephhevent ereport.io.pci.target-mdpe@PCIFN{within(5s)}; 1687197Sstephhevent ereport.io.pci.target-rta@PCIFN{within(5s)}; 1697197Sstephhevent ereport.io.pci.target-ma@PCIFN{within(5s)}; 1707197Sstephhevent ereport.io.pcix.discard@PCIFN{within(5s)}; 1711865Sdilpreet 1721865Sdilpreetprop fault.io.pci.device-noresp@pcibus/pcidev[fromdev]/pcifn (0)-> 1731865Sdilpreet error.io.pci.nr-pw-d@PCI_FROM_HB, 1741865Sdilpreet error.io.pci.nr-drw-d@PCI_FROM_HB, 1751865Sdilpreet error.io.pci.retry-to-d@PCI_FROM_HB; 1761865Sdilpreet 1771865Sdilpreetprop fault.io.pci.device-invreq@pcibus/pcidev[fromdev]/pcifn (0)-> 1781865Sdilpreet error.io.pci.badreq-pw-d@PCI_FROM_HB, 1791865Sdilpreet error.io.pci.badreq-drw-d@PCI_FROM_HB; 1801865Sdilpreet 1817197Sstephhprop fault.io.pci.device-interr-unaf@pcibus/pcidev[fromdev]/pcifn (0)-> 1827197Sstephh error.io.pci.nf-dpe-d@PCI_FROM_HB; 1837197Sstephh 1847197Sstephhprop fault.io.pci.device-interr-deg@pcibus/pcidev[fromdev]/pcifn (0)-> 1857197Sstephh error.io.pci.deg-dpe-d@PCI_FROM_HB; 1867197Sstephh 1877197Sstephhprop fault.io.pci.device-interr@PCIFN (0)-> 1887197Sstephh error.io.pci.device-par@PCIFN, 1897197Sstephh error.io.pci.device-ta@PCIFN, 1907197Sstephh error.io.pci.device-serr@PCIFN; 1911865Sdilpreet 1921865Sdilpreetprop error.io.pci.device-par@pcibus/pcidev[fromdev]/pcifn (1)-> 1931865Sdilpreet error.io.pci.f-dpe-d@PCI_FROM_HB, 1941865Sdilpreet error.io.pcix.scpe-d@PCI_FROM_HB, 1951865Sdilpreet error.io.pci.ape-d@PCI_FROM_HB; 1961865Sdilpreet 1971865Sdilpreetprop error.io.pci.device-ta@pcibus/pcidev[fromdev]/pcifn (1)-> 1981865Sdilpreet error.io.pci.ta-pw-d@PCI_FROM_HB, 1991865Sdilpreet error.io.pci.ta-drw-d@PCI_FROM_HB; 2001865Sdilpreet 2011865Sdilpreetprop error.io.pci.device-ta@pcibus/pcidev[fromdev]/pcifn (1)-> 2021865Sdilpreet ereport.io.pci.sta@pcibus/pcidev<todev>/pcifn { 2031865Sdilpreet todev == fromdev && fromdev == 32 }; 2041865Sdilpreet 2057197Sstephhprop error.io.pci.device-serr@PCIFN (2)-> 2067197Sstephh error.io.pci.serr-u@PCIFN, 2077197Sstephh ereport.io.pci.sserr@PCIFN; 2080Sstevel@tonic-gate 2090Sstevel@tonic-gate/* 2101865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2111865Sdilpreet * ereport generation rules for hostbridge 2121865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2130Sstevel@tonic-gate */ 2141865Sdilpreetprop error.io.pci.dpdata-pw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2151865Sdilpreet ereport.io.pci.dpe@PCI_TO_HB; 2161865Sdilpreet 2171865Sdilpreetprop error.io.pci.dpdata-dw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2181865Sdilpreet ereport.io.pci.dpe@PCI_TO_HB; 2191865Sdilpreet 2201865Sdilpreetprop error.io.pci.dpdata-dr-u@pcibus/pcidev[fromdev]/pcifn (2)-> 2211865Sdilpreet ereport.io.pci.mdpe@PCI_TO_HB, 2221865Sdilpreet ereport.io.pci.dpe@PCI_TO_HB; 2231865Sdilpreet 2241865Sdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (3)-> 2251865Sdilpreet ereport.io.pci.dpe@PCI_TO_HB, 2261865Sdilpreet error.io.pci.serr-u@PCI_TO_HB, 2271865Sdilpreet ereport.io.pci.sserr@PCI_TO_HB; 2281865Sdilpreet 2291865Sdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (0)-> 2301865Sdilpreet ereport.io.pci.sta@PCI_TO_HB; 2311865Sdilpreet 2321865Sdilpreetprop error.io.pci.ma-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2331865Sdilpreet ereport.io.pci.ma@PCI_TO_HB; 2341865Sdilpreet 2351865Sdilpreetprop error.io.pci.ta-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2361865Sdilpreet ereport.io.pci.rta@PCI_TO_HB; 2371865Sdilpreet 2381865Sdilpreetprop error.io.pci.perr-dw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2391865Sdilpreet ereport.io.pci.mdpe@PCI_TO_HB; 2400Sstevel@tonic-gate 2411865Sdilpreetprop error.io.pci.perr-pw-u@pcibus/pcidev[fromdev]/pcifn (1)-> 2421865Sdilpreet ereport.io.pci.mdpe@PCI_TO_HB; 2431865Sdilpreet 2441865Sdilpreetprop error.io.pci.badreq-drw-u@pcibus/pcidev[fromdev]/pcifn (0)-> 2451865Sdilpreet ereport.io.pci.sta@PCI_TO_HB; 2461865Sdilpreet 2471865Sdilpreetprop error.io.pci.badreq-pw-u@pcibus/pcidev[fromdev]/pcifn (0)-> 2481865Sdilpreet ereport.io.pci.sta@PCI_TO_HB; 2491865Sdilpreet 2507197Sstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 2517197Sstephh error.io.pcix.spl-comp-ma-d@PCIFN, 2527197Sstephh error.io.pcix.spl-comp-ta-d@PCIFN; 2531865Sdilpreet 2541865Sdilpreetprop error.io.pcix.scpe-u@pcibus/pcidev[fromdev]/pcifn (0)-> 2551865Sdilpreet ereport.io.pci.dpe@PCI_TO_HB, 2561865Sdilpreet error.io.pci.serr-u@PCI_TO_HB, 2571865Sdilpreet ereport.io.pci.sserr@PCI_TO_HB, 2581865Sdilpreet ereport.io.pci.sta@PCI_TO_HB; 2591865Sdilpreet 2601865Sdilpreetprop error.io.pcix.spl-comp-ma-u@pcibus/pcidev[fromdev]/pcifn (3)-> 2611865Sdilpreet ereport.io.pcix.discard@PCI_TO_HB, 2621865Sdilpreet error.io.pci.serr-u@PCI_TO_HB, 2631865Sdilpreet ereport.io.pci.sserr@PCI_TO_HB; 2641865Sdilpreet 2651865Sdilpreetprop error.io.pcix.spl-comp-ta-u@pcibus/pcidev[fromdev]/pcifn (3)-> 2661865Sdilpreet ereport.io.pcix.discard@PCI_TO_HB, 2671865Sdilpreet error.io.pci.serr-u@PCI_TO_HB, 2681865Sdilpreet ereport.io.pci.sserr@PCI_TO_HB; 2690Sstevel@tonic-gate 2701865Sdilpreet/* 2711865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2721865Sdilpreet * A faulty PCI leaf device or pci-pci bridge may cause: 2731865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2741865Sdilpreet * - nr-pw-u: the device not to respond to a valid downstream request 2751865Sdilpreet * - nr-drw-u: the device not to respond to a valid downstream request 2761865Sdilpreet * - ta-pw-u: the device responds with a ta to a valid downstream 2771865Sdilpreet * request 2781865Sdilpreet * - ta-drw-u: the device responds with a ta to a valid downstream 2791865Sdilpreet * request 2801865Sdilpreet * - serr-u: the device to report itself in error 2811865Sdilpreet * - badreq-pw-u: a bad upstream request (may cause target to target 2821865Sdilpreet * abort or master abort) 2831865Sdilpreet * - badreq-drw-u: a bad upstream request (may cause target to target 2841865Sdilpreet * abort or master abort) 2851865Sdilpreet * - ape-u: the transfer of bad address/parity upstream. 2861865Sdilpreet * - scpe-u: the transfer of bad split completion upstream. 2871865Sdilpreet * - dpe-u: the device to deliver bad data/parity upstream. 2881865Sdilpreet * - retry-to-u: the device to exceed the set timeout for a delayed 2891865Sdilpreet * transaction retry. 2901865Sdilpreet * 2911865Sdilpreet * A faulty PCI-X leaf device or bridge may also cause: 2921865Sdilpreet * 2931865Sdilpreet * - tx-oor: the device sends a byte count larger than the completers 2941865Sdilpreet * address range. 2951865Sdilpreet * - rx-unex-sc: the device recieved a split completion with a tag 2961865Sdilpreet * which does not match any outstanding transaction. 2971865Sdilpreet */ 2980Sstevel@tonic-gate 2991865Sdilpreet#define PCI_NOT_HB pcibus/pcidev[fromdev]/pcifn {fromdev != 32} 3000Sstevel@tonic-gate 3017197Sstephhevent error.io.pci.retry-to-u@PCIFN; 3027197Sstephhevent error.io.pci.nr-pw-u@PCIFN; 3037197Sstephhevent error.io.pci.nr-drw-u@PCIFN; 3047197Sstephhevent error.io.pci.ta-pw-u@PCIFN; 3057197Sstephhevent error.io.pci.ta-drw-u@PCIFN; 3067197Sstephhevent error.io.pci.f-dpe-u@PCIFN; 3077197Sstephhevent error.io.pci.deg-dpe-u@PCIFN; 3087197Sstephhevent error.io.pci.nf-dpe-u@PCIFN; 3097197Sstephhevent error.io.pci.flt-dpdata-pw-u@PCIFN; 3107197Sstephhevent error.io.pci.flt-dpdata-dw-u@PCIFN; 3117197Sstephhevent error.io.pci.flt-dpdata-dr-u@PCIFN; 3127197Sstephhevent error.io.pci.source-dpdata-u@PCIFN; 3137197Sstephhevent error.io.pci.f-source-dpdata-u@PCIFN; 3147197Sstephhevent error.io.pci.f-source-dpdata-u@PCIFN/PCIFN; 3157197Sstephhevent error.io.pci.deg-source-dpdata-u@PCIFN; 3167197Sstephhevent error.io.pci.deg-source-dpdata-u@PCIFN/PCIFN; 3177197Sstephhevent error.io.pci.nf-source-dpdata-u@PCIFN; 3187197Sstephhevent error.io.pci.nf-source-dpdata-u@PCIFN/PCIFN; 3197197Sstephhevent error.io.pci.perr-d@PCIFN; 3207197Sstephhevent error.io.pci.target-mdpe-d@PCIFN; 3217197Sstephhevent error.io.pci.target-mdpe-d@PCIFN/PCIFN; 3227197Sstephhevent error.io.pci.target-rta-d@PCIFN/PCIFN; 3237197Sstephhevent error.io.pci.target-ma-d@PCIFN/PCIFN; 3247197Sstephhevent error.io.pcix.tx-oor@PCIFN; 3257197Sstephhevent error.io.pcix.rx-unex-sc@PCIFN; 3267197Sstephhevent error.io.device.nf-device@PCIFN; 3277197Sstephhevent error.io.device.f-device@PCIFN; 3287197Sstephhevent error.io.device.deg-device@PCIFN; 3297197Sstephhevent error.io.service.restored@PCIFN; 3300Sstevel@tonic-gate 3317197Sstephhevent ereport.io.pcix.oor@PCIFN{within(5s)}; 3327197Sstephhevent ereport.io.pcix.unex-sc@PCIFN{within(5s)}; 333*10124SStephen.Hanson@Sun.COMevent ereport.io.device.fw_corrupt@PCIFN{within(5s)}; 334*10124SStephen.Hanson@Sun.COMevent ereport.io.device.fw_mismatch@PCIFN{within(5s)}; 3357197Sstephhevent ereport.io.service.lost@PCIFN{within(5s)}; 3367197Sstephhevent ereport.io.service.degraded@PCIFN{within(5s)}; 3377197Sstephhevent ereport.io.service.unaffected@PCIFN{within(5s)}; 3387197Sstephhevent ereport.io.service.restored@PCIFN{within(30s)}; 3390Sstevel@tonic-gate 3401865Sdilpreetprop fault.io.pci.device-noresp@pcibus/pcidev[fromdev]/pcifn (0)-> 3411865Sdilpreet error.io.pci.nr-pw-u@PCI_NOT_HB, 3421865Sdilpreet error.io.pci.nr-drw-u@PCI_NOT_HB, 3431865Sdilpreet error.io.pci.retry-to-u@PCI_NOT_HB; 3440Sstevel@tonic-gate 3457197Sstephhprop fault.io.pci.device-interr-corr@pcibus/pcidev[fromdev]/pcifn (0)-> 3467197Sstephh error.io.device.nf-device@PCI_NOT_HB; 3477197Sstephh 3487197Sstephhprop fault.io.pci.device-interr-unaf@pcibus/pcidev[fromdev]/pcifn (0)-> 3497197Sstephh error.io.pci.nf-dpe-u@PCI_NOT_HB; 3507197Sstephh 3517197Sstephhprop fault.io.pci.device-interr-deg@pcibus/pcidev[fromdev]/pcifn (0)-> 3527197Sstephh error.io.device.deg-device@PCI_NOT_HB, 3537197Sstephh error.io.pci.deg-dpe-u@PCI_NOT_HB; 3547197Sstephh 3551865Sdilpreetprop fault.io.pci.device-interr@pcibus/pcidev[fromdev]/pcifn (0)-> 3561865Sdilpreet error.io.pci.ta-pw-u@PCI_NOT_HB, 3571865Sdilpreet error.io.pci.ta-drw-u@PCI_NOT_HB, 3581865Sdilpreet error.io.pci.serr-u@PCI_NOT_HB, 3591865Sdilpreet error.io.pci.ape-u@PCI_NOT_HB, 3601865Sdilpreet error.io.pci.f-dpe-u@PCI_NOT_HB, 3611865Sdilpreet error.io.device.f-device@PCI_NOT_HB, 3621865Sdilpreet error.io.pcix.scpe-u@PCI_NOT_HB, 3631865Sdilpreet error.io.pcix.tx-oor@PCI_NOT_HB, 3641865Sdilpreet error.io.pcix.rx-unex-sc@PCI_NOT_HB; 3650Sstevel@tonic-gate 366*10124SStephen.Hanson@Sun.COMprop fault.io.pci.fw_corrupt@PCIFN {IS_LEAF} (1)-> 367*10124SStephen.Hanson@Sun.COM ereport.io.device.fw_corrupt@PCIFN; 368*10124SStephen.Hanson@Sun.COM 369*10124SStephen.Hanson@Sun.COMprop fault.io.pci.fw_corrupt@PCIFN {IS_LEAF} (0)-> 370*10124SStephen.Hanson@Sun.COM ereport.io.service.lost@PCIFN, 371*10124SStephen.Hanson@Sun.COM ereport.io.service.degraded@PCIFN; 372*10124SStephen.Hanson@Sun.COM 373*10124SStephen.Hanson@Sun.COMprop fault.io.pci.fw_mismatch@PCIFN {IS_LEAF} (1)-> 374*10124SStephen.Hanson@Sun.COM ereport.io.device.fw_mismatch@PCIFN; 375*10124SStephen.Hanson@Sun.COM 376*10124SStephen.Hanson@Sun.COMprop fault.io.pci.fw_mismatch@PCIFN {IS_LEAF} (0)-> 377*10124SStephen.Hanson@Sun.COM ereport.io.service.lost@PCIFN, 378*10124SStephen.Hanson@Sun.COM ereport.io.service.degraded@PCIFN; 379*10124SStephen.Hanson@Sun.COM 3801865Sdilpreetprop fault.io.pci.device-invreq@pcibus/pcidev[fromdev]/pcifn {FD_IS_LEAF} (0)-> 3811865Sdilpreet error.io.pci.badreq-drw-u@PCI_NOT_HB, 3821865Sdilpreet error.io.pci.badreq-pw-u@PCI_NOT_HB; 3830Sstevel@tonic-gate 3847197Sstephhprop error.io.pcix.tx-oor@PCIFN (1)-> 3857197Sstephh ereport.io.pcix.oor@PCIFN; 3860Sstevel@tonic-gate 3871865Sdilpreetprop error.io.pcix.rx-unex-sc@pcibus/pcidev[fromdev]/pcifn (1)-> 3881865Sdilpreet ereport.io.pcix.unex-sc@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}; 3891865Sdilpreet 3907197Sstephhprop error.io.pci.f-dpe-u@PCIFN (1)-> 3917197Sstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 3927197Sstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 3937197Sstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 3941865Sdilpreet 3957197Sstephhprop error.io.pci.f-dpe-u@PCIFN (1)-> 3967197Sstephh error.io.pci.f-source-dpdata-u@PCIFN; 3971865Sdilpreet 3987197Sstephhprop error.io.pci.f-source-dpdata-u@PCIFN (1)-> 3997197Sstephh error.io.pci.f-source-dpdata-u@PCIFN/PCIFNHZ; 4007197Sstephh 4017197Sstephhprop error.io.pci.f-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 4027197Sstephh error.io.pci.source-dpdata-u@PCIFN; 4031865Sdilpreet 4047197Sstephhprop error.io.pci.f-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (0)-> 4057197Sstephh ereport.io.service.lost@PCIFN; 4067197Sstephh 4077197Sstephhprop error.io.pci.deg-dpe-u@PCIFN (1)-> 4087197Sstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 4097197Sstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 4107197Sstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 4111865Sdilpreet 4127197Sstephhprop error.io.pci.deg-dpe-u@PCIFN (1)-> 4137197Sstephh error.io.pci.deg-source-dpdata-u@PCIFN; 4140Sstevel@tonic-gate 4157197Sstephhprop error.io.pci.deg-source-dpdata-u@PCIFN (1)-> 4167197Sstephh error.io.pci.deg-source-dpdata-u@PCIFN/PCIFNHZ; 4177197Sstephh 4187197Sstephhprop error.io.pci.deg-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 4197197Sstephh error.io.pci.source-dpdata-u@PCIFN; 4201865Sdilpreet 4217197Sstephhprop error.io.pci.deg-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 4227197Sstephh ereport.io.service.degraded@PCIFN; 4237197Sstephh 4247197Sstephhprop error.io.pci.nf-dpe-u@PCIFN (1)-> 4257197Sstephh error.io.pci.flt-dpdata-pw-u@PCIFN, 4267197Sstephh error.io.pci.flt-dpdata-dw-u@PCIFN, 4277197Sstephh error.io.pci.flt-dpdata-dr-u@PCIFN; 4281865Sdilpreet 4297197Sstephhprop error.io.pci.nf-dpe-u@PCIFN (1)-> 4307197Sstephh error.io.pci.nf-source-dpdata-u@PCIFN; 4311865Sdilpreet 4327197Sstephhprop error.io.pci.nf-source-dpdata-u@PCIFN (1)-> 4337197Sstephh error.io.pci.nf-source-dpdata-u@PCIFN/PCIFNHZ; 4347197Sstephh 4357197Sstephhprop error.io.pci.nf-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 4367197Sstephh error.io.pci.source-dpdata-u@PCIFN; 4371865Sdilpreet 4387197Sstephhprop error.io.pci.nf-source-dpdata-u@PCIFN { IS_LF(PCIFN) } (1)-> 4397197Sstephh ereport.io.service.unaffected@PCIFN, 4407197Sstephh error.io.service.restored@PCIFN; 4417197Sstephh 4427197Sstephhprop error.io.pci.flt-dpdata-pw-u@PCIFN (1)-> 4437197Sstephh error.io.pci.dpdata-pw-u@PCIFN; 4441865Sdilpreet 4457197Sstephhprop error.io.pci.flt-dpdata-pw-u@PCIFN { IS_BDG } (1)-> 4467197Sstephh error.io.pci.serr-u@PCIFN; 4471865Sdilpreet 4487197Sstephhprop error.io.pci.flt-dpdata-dw-u@PCIFN (2)-> 4497197Sstephh error.io.pci.perr-d@PCIFN, 4507197Sstephh error.io.pci.dpdata-dw-u@PCIFN; 4517197Sstephh 4527197Sstephhprop error.io.pci.flt-dpdata-dr-u@PCIFN (2)-> 4537197Sstephh error.io.pci.dpdata-dr-u@PCIFN, 4547197Sstephh error.io.pci.target-mdpe-d@PCIFN; 4550Sstevel@tonic-gate 4560Sstevel@tonic-gate/* 4571865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4581865Sdilpreet * A faulty pci-pci bridge may also cause 4591865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4601865Sdilpreet * - nr-pw-d: the device not to respond to a valid upstream request 4611865Sdilpreet * - nr-drw-d: the device not to respond to a valid upstream request 4621865Sdilpreet * - ta-pw-d: the device responds with a ta to a valid upstream 4631865Sdilpreet * request 4641865Sdilpreet * - ta-drw-d: the device responds with a ta to a valid upstream 4651865Sdilpreet * request 4661865Sdilpreet * - ape-d: address/parity to get corrupted during downstream transmission. 4671865Sdilpreet * - scpe-d: split completion gets corrupted during downstream transmission. 4681865Sdilpreet * - dpe-d: data/parity to get corrupted during downstream transmission. 4691865Sdilpreet * - retry-to-d: the device to exceed the set timeout for a delayed 4701865Sdilpreet * transaction retry. 4710Sstevel@tonic-gate */ 4720Sstevel@tonic-gate 4737197Sstephhevent error.io.pci.ape-d@PCIFN/PCIFN; 4747197Sstephhevent error.io.pci.f-dpe-d@PCIFN/PCIFN; 4757197Sstephhevent error.io.pci.deg-dpe-d@PCIFN/PCIFN; 4767197Sstephhevent error.io.pci.nf-dpe-d@PCIFN/PCIFN; 4777197Sstephhevent error.io.pci.retry-to-d@PCIFN/PCIFN; 4787197Sstephhevent error.io.pci.nr-pw-d@PCIFN/PCIFN; 4797197Sstephhevent error.io.pci.nr-drw-d@PCIFN/PCIFN; 4807197Sstephhevent error.io.pci.ta-pw-d@PCIFN/PCIFN; 4817197Sstephhevent error.io.pci.ta-drw-d@PCIFN/PCIFN; 4827197Sstephhevent error.io.pcix.scpe-d@PCIFN/PCIFN; 4830Sstevel@tonic-gate 4847197Sstephhprop fault.io.pci.device-noresp@PCIFN (0)-> 4857197Sstephh error.io.pci.nr-pw-d@PCIFN/PCIFN, 4867197Sstephh error.io.pci.nr-drw-d@PCIFN/PCIFN, 4877197Sstephh error.io.pci.retry-to-d@PCIFN/PCIFN; 4887197Sstephh 4897197Sstephhprop fault.io.pci.device-interr-unaf@PCIFN (0)-> 4907197Sstephh error.io.pci.nf-dpe-d@PCIFN/PCIFN; 4910Sstevel@tonic-gate 4927197Sstephhprop fault.io.pci.device-interr-deg@PCIFN (0)-> 4937197Sstephh error.io.pci.deg-dpe-d@PCIFN/PCIFN; 4947197Sstephh 4957197Sstephhprop fault.io.pci.device-interr@PCIFN (0)-> 4967197Sstephh error.io.pci.ta-pw-d@PCIFN/PCIFN, 4977197Sstephh error.io.pci.ta-drw-d@PCIFN/PCIFN, 4987197Sstephh error.io.pci.ape-d@PCIFN/PCIFN, 4997197Sstephh error.io.pcix.scpe-d@PCIFN/PCIFN, 5007197Sstephh error.io.pci.f-dpe-d@PCIFN/PCIFN; 5010Sstevel@tonic-gate 5020Sstevel@tonic-gate/* 5031865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5041865Sdilpreet * A faulty PCI bus may cause: 5051865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5061865Sdilpreet * - ape-d: address/parity to get corrupted during downstream transmission. 5071865Sdilpreet * - scpe-d: split completion gets corrupted during downstream transmission. 5081865Sdilpreet * - dpe-d: data/parity to get corrupted during downstream transmission. 5091865Sdilpreet * - ape-u: address/parity to get corrupted during upstream transmission. 5101865Sdilpreet * - dpe-u: data/parity to get corrupted during read upstream transmission. 5111865Sdilpreet * - scpe-u: split completion to get corrupted during upstream transmission. 5120Sstevel@tonic-gate */ 5130Sstevel@tonic-gate 5147197Sstephhevent fault.io.pci.bus-linkerr-unaf@pcibus, 5157197Sstephh engine=serd.io.pci.nf-dpe-bus@pcibus, FITrate=PCI_BUS_FIT; 5167197Sstephh 5177197Sstephhevent fault.io.pci.bus-linkerr-deg@pcibus, FITrate=PCI_BUS_FIT, retire=0; 5187197Sstephh 5197197Sstephhevent fault.io.pci.bus-linkerr@pcibus, FITrate=PCI_BUS_FIT; 5200Sstevel@tonic-gate 5217197Sstephhprop fault.io.pci.bus-linkerr-unaf@pcibus (0)-> 5227197Sstephh error.io.pci.nf-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 5237197Sstephh error.io.pci.nf-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}; 5247197Sstephh 5257197Sstephhprop fault.io.pci.bus-linkerr-deg@pcibus (0)-> 5267197Sstephh error.io.pci.deg-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 5277197Sstephh error.io.pci.deg-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}; 5280Sstevel@tonic-gate 5291865Sdilpreetprop fault.io.pci.bus-linkerr@pcibus (0)-> 5301865Sdilpreet error.io.pci.ape-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 5311865Sdilpreet error.io.pci.f-dpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 5321865Sdilpreet error.io.pci.ape-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 5331865Sdilpreet error.io.pci.f-dpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 5341865Sdilpreet error.io.pcix.scpe-d@pcibus/pcidev<todev>/pcifn { todev != 32}, 5351865Sdilpreet error.io.pcix.scpe-u@pcibus/pcidev<todev>/pcifn { todev != 32}, 5361865Sdilpreet error.io.pcix.tx-oor@pcibus/pcidev<todev>/pcifn { todev != 32}, 5371865Sdilpreet error.io.pcix.rx-unex-sc@pcibus/pcidev<todev>/pcifn { todev != 32}; 5380Sstevel@tonic-gate 5390Sstevel@tonic-gate/* 5401865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5411865Sdilpreet * recursive rules for pci-pci bridges 5421865Sdilpreet * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5430Sstevel@tonic-gate */ 5440Sstevel@tonic-gate 5457197Sstephhevent error.io.pci.serr-u@PCIFN/PCIFN; 5467197Sstephhevent error.io.pci.perr-dw-u@PCIFN/PCIFN; 5477197Sstephhevent error.io.pci.perr-pw-u@PCIFN/PCIFN; 5487197Sstephhevent error.io.pci.perr-d@PCIFN/PCIFN; 5497197Sstephhevent error.io.pci.dpdata-pw-u@PCIFN/PCIFN; 5507197Sstephhevent error.io.pci.dpdata-dw-u@PCIFN/PCIFN; 5517197Sstephhevent error.io.pci.dpdata-dr-u@PCIFN/PCIFN; 5527197Sstephhevent error.io.pci.dpdata-pw-fwd-d@PCIFN; 5537197Sstephhevent error.io.pci.dpdata-pw-fwd-d@PCIFN/PCIFN; 5547197Sstephhevent error.io.pci.dpdata-dw-fwd-d@PCIFN; 5557197Sstephhevent error.io.pci.dpdata-dw-fwd-d@PCIFN/PCIFN; 5567197Sstephhevent error.io.pci.dpdata-dr-fwd-d@PCIFN; 5577197Sstephhevent error.io.pci.dpdata-dr-fwd-d@PCIFN/PCIFN; 5587197Sstephhevent error.io.pci.source-perr-u@PCIFN; 5597197Sstephhevent error.io.pci.leaf-ape-d@PCIFN; 5607197Sstephhevent error.io.pci.ape-u@PCIFN/PCIFN; 5617197Sstephhevent error.io.pci.source-ape-u@PCIFN; 5627197Sstephhevent error.io.pci.badreq-pw-d@PCIFN/PCIFN; 5637197Sstephhevent error.io.pci.badreq-drw-d@PCIFN/PCIFN; 5647197Sstephhevent error.io.pci.badreq-pw-u@PCIFN/PCIFN; 5657197Sstephhevent error.io.pci.badreq-drw-u@PCIFN/PCIFN; 5667197Sstephhevent error.io.pci.ta-d@PCIFN; 5677197Sstephhevent error.io.pci.ta-d@PCIFN/PCIFN; 5687197Sstephhevent error.io.pci.ta-u@PCIFN/PCIFN; 5697197Sstephhevent error.io.pci.target-rta-d@PCIFN; 5707197Sstephhevent error.io.pci.target-ma-d@PCIFN; 5717197Sstephhevent error.io.pci.nr-pw-u@PCIFN/PCIFN; 5727197Sstephhevent error.io.pci.ta-pw-u@PCIFN/PCIFN; 5737197Sstephhevent error.io.pci.retry-to-u@PCIFN/PCIFN; 5747197Sstephhevent error.io.pcix.scpe-u@PCIFN/PCIFN; 5757197Sstephhevent error.io.pcix.source-scpe-u@PCIFN; 5767197Sstephhevent error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN; 5777197Sstephhevent error.io.pcix.spl-comp-ta-u@PCIFN/PCIFN; 5787197Sstephhevent error.io.pci.ma-u@PCIFN/PCIFN; 5790Sstevel@tonic-gate 5807197Sstephhevent ereport.io.pci.sec-ma@PCIFN{within(5s)}; 5817197Sstephhevent ereport.io.pci.sec-sta@PCIFN{within(5s)}; 5827197Sstephhevent ereport.io.pci.sec-rta@PCIFN{within(5s)}; 5837197Sstephhevent ereport.io.pci.sec-mdpe@PCIFN{within(5s)}; 5847197Sstephhevent ereport.io.pci.sec-dpe@PCIFN{within(5s)}; 5857197Sstephhevent ereport.io.pci.sec-rserr@PCIFN{within(5s)}; 5867197Sstephhevent ereport.io.pci.dto@PCIFN{within(5s)}; 5877197Sstephhevent ereport.io.pcix.sec-spl-dis@PCIFN{within(5s)}; 5887197Sstephhevent ereport.io.pcix.spl-dis@PCIFN{within(5s)}; 5891865Sdilpreet 5901865Sdilpreet/* 5911865Sdilpreet * SERR# can propagate upstream and may be seen by other devices on the bus 5921865Sdilpreet */ 5931865Sdilpreetprop error.io.pci.serr-u@pcibus/pcidev[fromdev]/pcifn (0)-> 5941865Sdilpreet ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<> {todev!=fromdev}; 5951865Sdilpreet 5967197Sstephhprop error.io.pci.serr-u@PCIFN { IS_BDG } (1)-> 5977197Sstephh ereport.io.pci.sserr@PCIFN; 5981865Sdilpreet 5997197Sstephhprop error.io.pci.serr-u@PCIFN/PCIFN (2)-> 6007197Sstephh ereport.io.pci.sec-rserr@PCIFN, 6017197Sstephh error.io.pci.serr-u@PCIFN; 6020Sstevel@tonic-gate 6031865Sdilpreet/* 6041865Sdilpreet * PERR# can propagate upstream for delayed writes. For posted writes 6051865Sdilpreet * it turns into an SERR#. 6061865Sdilpreet */ 6077197Sstephhprop error.io.pci.perr-dw-u@PCIFN/PCIFN (2)-> 6087197Sstephh ereport.io.pci.sec-mdpe@PCIFN, 6097197Sstephh error.io.pci.perr-dw-u@PCIFN; 6101865Sdilpreet 6117197Sstephhprop error.io.pci.perr-pw-u@PCIFN/PCIFN (2)-> 6127197Sstephh ereport.io.pci.sec-mdpe@PCIFN, 6137197Sstephh error.io.pci.serr-u@PCIFN; 6141865Sdilpreet 6151865Sdilpreet/* 6161865Sdilpreet * PERR# can propagate downstream (only for downstream dw parity error) 6171865Sdilpreet */ 6187197Sstephhprop error.io.pci.perr-d@PCIFN { IS_LEAF } (0)-> 6197197Sstephh ereport.io.pci.mdpe@PCIFN; 6201865Sdilpreet 6217197Sstephhprop error.io.pci.perr-d@PCIFN { IS_BDG } (1)-> 6227197Sstephh ereport.io.pci.mdpe@PCIFN; 6231865Sdilpreet 6247197Sstephhprop error.io.pci.perr-d@PCIFN (1)-> 6257197Sstephh error.io.pci.perr-d@PCIFN/PCIFNHZ; 6260Sstevel@tonic-gate 6271865Sdilpreet/* 6281865Sdilpreet * downstream target ereports are for any descendant device 6291865Sdilpreet * 6301865Sdilpreet * A hostbridge driver may generate "target-" ereports when knowledge of the 6311865Sdilpreet * physical address associated with a fault allows the target device to be 6321865Sdilpreet * determined. This is not a requirement of the Diagnosis Engine, but can be 6331865Sdilpreet * valuable when available. 6341865Sdilpreet */ 6357197Sstephhprop error.io.pci.target-mdpe-d@PCIFN (0)-> 6367197Sstephh ereport.io.pci.target-mdpe@PCIFN; 6371865Sdilpreet 6387197Sstephhprop error.io.pci.target-mdpe-d@PCIFN (1)-> 6397197Sstephh error.io.pci.target-mdpe-d@PCIFN/PCIFNHZ; 6401865Sdilpreet 6417197Sstephhprop error.io.pci.target-rta-d@PCIFN (0)-> 6427197Sstephh ereport.io.pci.target-rta@PCIFN; 6431865Sdilpreet 6447197Sstephhprop error.io.pci.target-rta-d@PCIFN (1)-> 6457197Sstephh error.io.pci.target-rta-d@PCIFN/PCIFNHZ; 6461865Sdilpreet 6477197Sstephhprop error.io.pci.target-ma-d@PCIFN (0)-> 6487197Sstephh ereport.io.pci.target-ma@PCIFN; 6491865Sdilpreet 6507197Sstephhprop error.io.pci.target-ma-d@PCIFN (1)-> 6517197Sstephh error.io.pci.target-ma-d@PCIFN/PCIFNHZ; 6521865Sdilpreet 6531865Sdilpreet/* 6541865Sdilpreet * target aborts propagate upstream 6551865Sdilpreet */ 6567197Sstephhprop error.io.pci.ta-u@PCIFN { IS_BDG } (1)-> 6577197Sstephh ereport.io.pci.sta@PCIFN; 6581865Sdilpreet 6597197Sstephhprop error.io.pci.ta-u@PCIFN { IS_LEAF } (0)-> 6607197Sstephh ereport.io.pci.sta@PCIFN; 6611865Sdilpreet 6627197Sstephhprop error.io.pci.ta-u@PCIFN/PCIFN (2)-> 6637197Sstephh ereport.io.pci.sec-rta@PCIFN, 6647197Sstephh error.io.pci.ta-u@PCIFN; 6650Sstevel@tonic-gate 6661865Sdilpreet/* 6671865Sdilpreet * bad data (ie invalid but not an ape or dpe) can propagate downstream, 6681865Sdilpreet * and at some point may result in a target or master abort 6691865Sdilpreet */ 6707197Sstephhprop error.io.pci.badreq-pw-d@PCIFN (1)-> 6717197Sstephh error.io.pci.badreq-pw-d@PCIFN/PCIFNHZ, 6727197Sstephh error.io.pci.nr-pw-u@PCIFN, 6737197Sstephh error.io.pci.ta-pw-u@PCIFN; 6741865Sdilpreet 6757197Sstephhprop error.io.pci.badreq-pw-d@PCIFN { IS_LEAF } (0)-> 6767197Sstephh error.io.pci.nr-pw-u@PCIFN, 6777197Sstephh error.io.pci.ta-pw-u@PCIFN; 6781865Sdilpreet 6797197Sstephhprop error.io.pci.badreq-drw-d@PCIFN (1)-> 6807197Sstephh error.io.pci.badreq-drw-d@PCIFN/PCIFNHZ, 6817197Sstephh error.io.pci.nr-drw-u@PCIFN, 6827197Sstephh error.io.pci.ta-drw-u@PCIFN; 6831865Sdilpreet 6847197Sstephhprop error.io.pci.badreq-drw-d@PCIFN { IS_LEAF } (0)-> 6857197Sstephh error.io.pci.nr-drw-u@PCIFN, 6867197Sstephh error.io.pci.ta-drw-u@PCIFN; 6871865Sdilpreet 6887197Sstephhprop error.io.pci.nr-pw-u@PCIFN/PCIFN (2)-> 6897197Sstephh ereport.io.pci.sec-ma@PCIFN, 6907197Sstephh error.io.pci.serr-u@PCIFN; 6911865Sdilpreet 6927197Sstephhprop error.io.pci.ta-pw-u@PCIFN { IS_LEAF } (0)-> 6937197Sstephh ereport.io.pci.sta@PCIFN; 6941865Sdilpreet 6957197Sstephhprop error.io.pci.ta-pw-u@PCIFN { IS_BDG } (1)-> 6967197Sstephh ereport.io.pci.sta@PCIFN; 6971865Sdilpreet 6987197Sstephhprop error.io.pci.ta-pw-u@PCIFN/PCIFN (2)-> 6997197Sstephh ereport.io.pci.sec-rta@PCIFN, 7007197Sstephh error.io.pci.serr-u@PCIFN; 7011865Sdilpreet 7027197Sstephhprop error.io.pci.nr-drw-u@PCIFN (1)-> 7037197Sstephh error.io.pci.ma-u@PCIFN; 7041865Sdilpreet 7057197Sstephhprop error.io.pci.nr-drw-u@PCIFN (1)-> 7067197Sstephh error.io.pci.target-rta-d@PCIFN, 7077197Sstephh error.io.pci.target-ma-d@PCIFN; 7081865Sdilpreet 7097197Sstephhprop error.io.pci.ma-u@PCIFN/PCIFN (1)-> 7107197Sstephh ereport.io.pci.sec-ma@PCIFN; 7111865Sdilpreet 7127197Sstephhprop error.io.pci.ma-u@PCIFN/PCIFN (1)-> 7137197Sstephh error.io.pci.ma-u@PCIFN, 7147197Sstephh error.io.pci.ta-u@PCIFN; 7151865Sdilpreet 7167197Sstephhprop error.io.pci.ta-drw-u@PCIFN (1)-> 7177197Sstephh error.io.pci.ta-u@PCIFN; 7181865Sdilpreet 7197197Sstephhprop error.io.pci.ta-drw-u@PCIFN (1)-> 7207197Sstephh error.io.pci.target-rta-d@PCIFN; 7211865Sdilpreet 7221865Sdilpreet/* 7231865Sdilpreet * bad data (ie invalid but not an ape or dpe) can propagate upstream, 7241865Sdilpreet * and at some point may result in a target or master abort 7251865Sdilpreet */ 7267197Sstephhprop error.io.pci.badreq-pw-u@PCIFN/PCIFN (1)-> 7277197Sstephh error.io.pci.badreq-pw-u@PCIFN, 7287197Sstephh error.io.pci.nr-pw-d@PCIFN/PCIFN, 7297197Sstephh error.io.pci.ta-pw-d@PCIFN/PCIFN; 7300Sstevel@tonic-gate 7317197Sstephhprop error.io.pci.badreq-pw-u@PCIFN (0)-> 7327197Sstephh error.io.pci.nr-pw-d@PCIFN, 7337197Sstephh error.io.pci.ta-pw-d@PCIFN; 7341865Sdilpreet 7357197Sstephhprop error.io.pci.nr-pw-d@PCIFN { IS_LEAF } (0)-> 7367197Sstephh ereport.io.pci.ma@PCIFN; 7371865Sdilpreet 7387197Sstephhprop error.io.pci.nr-pw-d@PCIFN { IS_BDG } (2)-> 7397197Sstephh ereport.io.pci.ma@PCIFN, 7407197Sstephh error.io.pci.serr-u@PCIFN; 7411865Sdilpreet 7427197Sstephhprop error.io.pci.ta-pw-d@PCIFN/PCIFN (1)-> 7437197Sstephh ereport.io.pci.sec-sta@PCIFN; 7441865Sdilpreet 7457197Sstephhprop error.io.pci.ta-pw-d@PCIFN { IS_LEAF } (0)-> 7467197Sstephh ereport.io.pci.rta@PCIFN; 7471865Sdilpreet 7487197Sstephhprop error.io.pci.ta-pw-d@PCIFN { IS_BDG } (2)-> 7497197Sstephh ereport.io.pci.rta@PCIFN, 7507197Sstephh error.io.pci.serr-u@PCIFN; 7511865Sdilpreet 7521865Sdilpreet/* 7531865Sdilpreet * for delayed writes we treat upstream badreq specially as rta always 7541865Sdilpreet * propagates back downstream to the leaf 7551865Sdilpreet */ 7567197Sstephhprop error.io.pci.badreq-drw-u@PCIFN { IS_LEAF } (0)-> 7577197Sstephh ereport.io.pci.rta@PCIFN, 7587197Sstephh ereport.io.pci.ma@PCIFN; 7591865Sdilpreet 7607197Sstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (1)-> 7617197Sstephh ereport.io.pci.ma@PCIFN, 7627197Sstephh ereport.io.pci.rta@PCIFN; 7631865Sdilpreet 7647197Sstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (0)-> 7657197Sstephh ereport.io.pci.sec-sta@PCIFN; 7661865Sdilpreet 7677197Sstephhprop error.io.pci.badreq-drw-u@PCIFN/PCIFN (0)-> 7687197Sstephh error.io.pci.badreq-drw-u@PCIFN; 7691865Sdilpreet 7707197Sstephhprop error.io.pci.nr-drw-d@PCIFN { IS_LEAF } (0)-> 7717197Sstephh ereport.io.pci.ma@PCIFN; 7721865Sdilpreet 7737197Sstephhprop error.io.pci.nr-drw-d@PCIFN { IS_BDG } (1)-> 7747197Sstephh ereport.io.pci.ma@PCIFN; 7751865Sdilpreet 7767197Sstephhprop error.io.pci.nr-drw-d@PCIFN { IS_BDG } (0)-> 7777197Sstephh ereport.io.pci.sec-sta@PCIFN; 7781865Sdilpreet 7797197Sstephhprop error.io.pci.nr-drw-d@PCIFN (1)-> 7807197Sstephh error.io.pci.ta-d@PCIFN/PCIFNHZ, 7817197Sstephh error.io.pci.nr-drw-d@PCIFN/PCIFNHZ; 7821865Sdilpreet 7837197Sstephhprop error.io.pci.ta-drw-d@PCIFN/PCIFN (1)-> 7847197Sstephh ereport.io.pci.sec-sta@PCIFN; 7851865Sdilpreet 7867197Sstephhprop error.io.pci.ta-drw-d@PCIFN (1)-> 7877197Sstephh error.io.pci.ta-d@PCIFN; 7881865Sdilpreet 7897197Sstephhprop error.io.pci.ta-d@PCIFN { IS_LEAF } (0)-> 7907197Sstephh ereport.io.pci.rta@PCIFN; 7911865Sdilpreet 7927197Sstephhprop error.io.pci.ta-d@PCIFN { IS_BDG } (2)-> 7937197Sstephh ereport.io.pci.sec-sta@PCIFN, 7947197Sstephh ereport.io.pci.rta@PCIFN; 7951865Sdilpreet 7967197Sstephhprop error.io.pci.ta-d@PCIFN (1)-> 7977197Sstephh error.io.pci.ta-d@PCIFN/PCIFNHZ; 7980Sstevel@tonic-gate 7990Sstevel@tonic-gate/* 8001865Sdilpreet * Request with address parity error must be detected by parent device 8011865Sdilpreet * and can optionally result in a target or master abort. 8021865Sdilpreet * It may also be detected by sibling devices on a bus 8031865Sdilpreet */ 8047197Sstephhprop error.io.pci.ape-u@PCIFN/PCIFN (3)-> 8057197Sstephh ereport.io.pci.sec-dpe@PCIFN, 8067197Sstephh ereport.io.pci.sec-rserr@PCIFN, 8077197Sstephh error.io.pci.serr-u@PCIFN; 8081865Sdilpreet 8097197Sstephhprop error.io.pci.ape-u@PCIFN (0)-> 8107197Sstephh error.io.pci.nr-drw-d@PCIFN, 8117197Sstephh error.io.pci.ta-drw-d@PCIFN, 8127197Sstephh error.io.pci.nr-pw-d@PCIFN, 8137197Sstephh error.io.pci.ta-pw-d@PCIFN; 8141865Sdilpreet 8157197Sstephhprop error.io.pci.ape-u@PCIFN (0)-> 8167197Sstephh ereport.io.pci.mdpe@PCIFN; 8171865Sdilpreet 8181865Sdilpreetprop error.io.pci.ape-u@pcibus/pcidev[fromdev]/pcifn (0)-> 8191865Sdilpreet ereport.io.pci.dpe@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}, 8201865Sdilpreet ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<> {fromdev != todev}; 8211865Sdilpreet 8227197Sstephhprop error.io.pci.ape-u@PCIFN (1)-> 8237197Sstephh error.io.pci.source-ape-u@PCIFN; 8241865Sdilpreet 8251865Sdilpreet/* 8261865Sdilpreet * If the bridge sees an upstream split completion error (pci-x only) it could 8271865Sdilpreet * result in a number of things 8281865Sdilpreet * - for various faults in the split completion (eg address parity error) 8291865Sdilpreet * we will respond with a target abort (which the child device will treat 8301865Sdilpreet * as a split completion ta) 8311865Sdilpreet * - for other faults we can't tell who send the split completion and so 8321865Sdilpreet * just drop the request (which the child device sees as a split 8331865Sdilpreet * completion ma) 8341865Sdilpreet */ 8357197Sstephhprop error.io.pcix.scpe-u@PCIFN/PCIFN (0)-> 8367197Sstephh ereport.io.pci.sec-sta@PCIFN, 8377197Sstephh ereport.io.pci.sec-dpe@PCIFN, 8387197Sstephh ereport.io.pci.sec-rserr@PCIFN, 8397197Sstephh error.io.pci.serr-u@PCIFN; 8401865Sdilpreet 8417197Sstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 8427197Sstephh error.io.pcix.spl-comp-ma-d@PCIFN, 8437197Sstephh error.io.pcix.spl-comp-ta-d@PCIFN; 8441865Sdilpreet 8457197Sstephhprop error.io.pcix.spl-comp-ma-d@PCIFN (1)-> 8467197Sstephh error.io.pci.serr-u@PCIFN; 8471865Sdilpreet 8487197Sstephhprop error.io.pcix.spl-comp-ma-d@PCIFN { IS_LEAF } (0)-> 8497197Sstephh ereport.io.pci.sserr@PCIFN, 8507197Sstephh ereport.io.pcix.spl-dis@PCIFN; 8511865Sdilpreet 8527197Sstephhprop error.io.pcix.spl-comp-ma-d@PCIFN { IS_BDG } (2)-> 8537197Sstephh ereport.io.pcix.spl-dis@PCIFN, 8547197Sstephh ereport.io.pci.ma@PCIFN; 8551865Sdilpreet 8567197Sstephhprop error.io.pcix.spl-comp-ta-d@PCIFN (1)-> 8577197Sstephh error.io.pci.serr-u@PCIFN; 8581865Sdilpreet 8597197Sstephhprop error.io.pcix.spl-comp-ta-d@PCIFN { IS_LEAF } (0)-> 8607197Sstephh ereport.io.pci.sserr@PCIFN, 8617197Sstephh ereport.io.pcix.spl-dis@PCIFN; 8621865Sdilpreet 8637197Sstephhprop error.io.pcix.spl-comp-ta-d@PCIFN { IS_BDG } (2)-> 8647197Sstephh ereport.io.pcix.spl-dis@PCIFN, 8657197Sstephh ereport.io.pci.rta@PCIFN; 8661865Sdilpreet 8677197Sstephhprop error.io.pcix.scpe-u@PCIFN (1)-> 8687197Sstephh error.io.pcix.source-scpe-u@PCIFN; 8691865Sdilpreet 8701865Sdilpreet/* 8711865Sdilpreet * request with address parity error must be detected by child device 8721865Sdilpreet * and can optionally result in a target or master abort. 8731865Sdilpreet */ 8747197Sstephhprop error.io.pci.ape-d@PCIFN (1)-> 8757197Sstephh error.io.pci.serr-u@PCIFN; 8761865Sdilpreet 8777197Sstephhprop error.io.pci.ape-d@PCIFN { IS_LEAF } (0)-> 8787197Sstephh error.io.pci.leaf-ape-d@PCIFN; 8791865Sdilpreet 8807197Sstephhprop error.io.pci.leaf-ape-d@PCIFN { IS_LEAF } (2)-> 8817197Sstephh ereport.io.pci.sserr@PCIFN, 8827197Sstephh ereport.io.pci.dpe@PCIFN; 8831865Sdilpreet 8847197Sstephhprop error.io.pci.ape-d@PCIFN { IS_BDG } (1)-> 8857197Sstephh ereport.io.pci.dpe@PCIFN; 8861865Sdilpreet 8877197Sstephhprop error.io.pci.ape-d@PCIFN (0)-> 8887197Sstephh error.io.pci.ta-pw-u@PCIFN, 8897197Sstephh error.io.pci.ta-drw-u@PCIFN, 8907197Sstephh error.io.pci.nr-pw-u@PCIFN, 8917197Sstephh error.io.pci.nr-drw-u@PCIFN; 8921865Sdilpreet 8931865Sdilpreet/* 8941865Sdilpreet * If the device sees a downstream split completion error (pci-x only) it could 8951865Sdilpreet * result in a number of things 8961865Sdilpreet * - for various faults in the split completion (eg address parity error) 8971865Sdilpreet * we will respond with a target abort (which the parent bridge will treat 8981865Sdilpreet * as a split completion ta) 8991865Sdilpreet * - for other faults we can't tell who send the split completion and so 9001865Sdilpreet * just drop the request (which the parent bridge sees as a split 9011865Sdilpreet * completion ma) 9021865Sdilpreet */ 9037197Sstephhprop error.io.pcix.scpe-d@PCIFN (0)-> 9047197Sstephh ereport.io.pci.sta@PCIFN, 9057197Sstephh ereport.io.pci.dpe@PCIFN, 9067197Sstephh ereport.io.pci.sserr@PCIFN, 9077197Sstephh error.io.pci.serr-u@PCIFN; 9081865Sdilpreet 9097197Sstephhprop error.io.pcix.scpe-d@PCIFN (1)-> 9107197Sstephh error.io.pcix.spl-comp-ma-u@PCIFN, 9117197Sstephh error.io.pcix.spl-comp-ta-u@PCIFN; 9121865Sdilpreet 9137197Sstephhprop error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN (2)-> 9147197Sstephh ereport.io.pcix.sec-spl-dis@PCIFN, 9157197Sstephh error.io.pci.serr-u@PCIFN; 9163159Sstephh 9177197Sstephhprop error.io.pcix.spl-comp-ma-u@PCIFN/PCIFN (0)-> 9187197Sstephh ereport.io.pci.sec-ma@PCIFN; 9191865Sdilpreet 9207197Sstephhprop error.io.pcix.spl-comp-ta-u@PCIFN/PCIFN (3)-> 9217197Sstephh ereport.io.pcix.sec-spl-dis@PCIFN, 9227197Sstephh error.io.pci.serr-u@PCIFN, 9237197Sstephh ereport.io.pci.sec-rta@PCIFN; 9241865Sdilpreet 9251865Sdilpreet/* 9261865Sdilpreet * request with data parity error can propagate upstream 9271865Sdilpreet * 9281865Sdilpreet * for PCI/X (but not PCI) the split write can optionally be forwarded across 9291865Sdilpreet * the bridge, maintaining bad parity/ecc 9300Sstevel@tonic-gate * 9311865Sdilpreet * if there is a dpe on a retry on a delayed write, we don't send another 9321865Sdilpreet * retry, and eventually the dto timer will expire 9331865Sdilpreet */ 9347197Sstephhprop error.io.pci.dpdata-pw-u@PCIFN { IS_LEAF } (0)-> 9357197Sstephh ereport.io.pci.mdpe@PCIFN; 9361865Sdilpreet 9377197Sstephhprop error.io.pci.dpdata-pw-u@PCIFN/PCIFN (3)-> 9387197Sstephh ereport.io.pci.mdpe@PCIFN, 9397197Sstephh ereport.io.pci.sec-dpe@PCIFN, 9407197Sstephh error.io.pci.dpdata-pw-u@PCIFN; 9411865Sdilpreet 9427197Sstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (1)-> 9437197Sstephh ereport.io.pci.sec-dpe@PCIFN; 9441865Sdilpreet 9457197Sstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (0)-> 9467197Sstephh ereport.io.pci.mdpe@PCIFN, 9477197Sstephh error.io.pci.dpdata-dw-u@PCIFN; 9481865Sdilpreet 9497197Sstephhprop error.io.pci.dpdata-dw-u@PCIFN/PCIFN (0)-> 9507197Sstephh error.io.pci.retry-to-u@PCIFN/PCIFN; 9511865Sdilpreet 9527197Sstephhprop error.io.pci.dpdata-dr-u@PCIFN/PCIFN (3)-> 9537197Sstephh ereport.io.pci.sec-dpe@PCIFN, 9547197Sstephh ereport.io.pci.sec-mdpe@PCIFN, 9557197Sstephh error.io.pci.dpdata-dr-u@PCIFN; 9561865Sdilpreet 9571865Sdilpreet/* 9581865Sdilpreet * Request with data parity error can propagate downstream. A hardened 9591865Sdilpreet * leaf driver should handle the error, but may or may not be able to 9601865Sdilpreet * avoid service impact. We handle to two cases separately. If there is 9611865Sdilpreet * service impact we will fail immediately, if not we will feed into a SERD 9621865Sdilpreet * engine. 9631865Sdilpreet * 9641865Sdilpreet * for PCI/X (but not PCI) the split write can optionally be forwarded across 9651865Sdilpreet * the bridge, maintaining bad parity/ecc 9661865Sdilpreet * 9671865Sdilpreet * if there is a dpe on a retry on a delayed write, we don't send another 9681865Sdilpreet * retry, and eventually the dto timer will expire 9690Sstevel@tonic-gate */ 9707197Sstephhprop error.io.pci.f-dpe-d@PCIFN (1)-> 9717197Sstephh error.io.pci.dpdata-pw-d@PCIFN, 9727197Sstephh error.io.pci.dpdata-dw-d@PCIFN, 9737197Sstephh error.io.pci.dpdata-dr-d@PCIFN; 9741865Sdilpreet 9757197Sstephhprop error.io.pci.f-dpe-d@PCIFN (1)-> 9767197Sstephh error.io.pci.f-source-dpdata-u@PCIFN; 9771865Sdilpreet 9787197Sstephhprop error.io.pci.deg-dpe-d@PCIFN (1)-> 9797197Sstephh error.io.pci.dpdata-pw-d@PCIFN, 9807197Sstephh error.io.pci.dpdata-dw-d@PCIFN, 9817197Sstephh error.io.pci.dpdata-dr-d@PCIFN; 9821865Sdilpreet 9837197Sstephhprop error.io.pci.deg-dpe-d@PCIFN (1)-> 9847197Sstephh error.io.pci.deg-source-dpdata-u@PCIFN; 9851865Sdilpreet 9867197Sstephhprop error.io.pci.nf-dpe-d@PCIFN (1)-> 9877197Sstephh error.io.pci.dpdata-pw-d@PCIFN, 9887197Sstephh error.io.pci.dpdata-dw-d@PCIFN, 9897197Sstephh error.io.pci.dpdata-dr-d@PCIFN; 9901865Sdilpreet 9917197Sstephhprop error.io.pci.nf-dpe-d@PCIFN (1)-> 9927197Sstephh error.io.pci.nf-source-dpdata-u@PCIFN; 9931865Sdilpreet 9947197Sstephhprop error.io.pci.dpdata-pw-d@PCIFN (2)-> 9957197Sstephh error.io.pci.perr-pw-u@PCIFN, 9967197Sstephh error.io.pci.dpdata-pw-fwd-d@PCIFN; 9971865Sdilpreet 9987197Sstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_LEAF } (1)-> 9997197Sstephh error.io.pci.source-perr-u@PCIFN; 10007197Sstephh 10017197Sstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_LEAF } (0)-> 10027197Sstephh ereport.io.pci.dpe@PCIFN; 10031865Sdilpreet 10047197Sstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN { IS_BDG } (2)-> 10057197Sstephh ereport.io.pci.dpe@PCIFN, 10067197Sstephh ereport.io.pci.sec-mdpe@PCIFN; 10071865Sdilpreet 10087197Sstephhprop error.io.pci.dpdata-pw-fwd-d@PCIFN (1)-> 10097197Sstephh error.io.pci.dpdata-pw-fwd-d@PCIFN/PCIFNHZ; 10101865Sdilpreet 10117197Sstephhprop error.io.pci.dpdata-dw-d@PCIFN (3)-> 10127197Sstephh error.io.pci.perr-dw-u@PCIFN, 10137197Sstephh error.io.pci.target-mdpe-d@PCIFN, 10147197Sstephh error.io.pci.dpdata-dw-fwd-d@PCIFN; 10150Sstevel@tonic-gate 10167197Sstephhprop error.io.pci.dpdata-dw-d@PCIFN { IS_BDG } (1)-> 10177197Sstephh ereport.io.pci.dpe@PCIFN; 10181865Sdilpreet 10197197Sstephhprop error.io.pci.dpdata-dw-d@PCIFN { IS_BDG } (0)-> 10207197Sstephh error.io.pci.retry-to-d@PCIFN; 10211865Sdilpreet 10227197Sstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_LEAF } (1)-> 10237197Sstephh error.io.pci.source-perr-u@PCIFN; 10241865Sdilpreet 10257197Sstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_LEAF } (0)-> 10267197Sstephh ereport.io.pci.dpe@PCIFN; 10271865Sdilpreet 10287197Sstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN { IS_BDG } (0)-> 10297197Sstephh ereport.io.pci.dpe@PCIFN, 10307197Sstephh ereport.io.pci.sec-mdpe@PCIFN; 10311865Sdilpreet 10327197Sstephhprop error.io.pci.dpdata-dw-fwd-d@PCIFN (0)-> 10337197Sstephh error.io.pci.dpdata-dw-fwd-d@PCIFN/PCIFNHZ; 10341865Sdilpreet 10357197Sstephhprop error.io.pci.dpdata-dr-d@PCIFN (2)-> 10367197Sstephh error.io.pci.dpdata-dr-fwd-d@PCIFN, 10377197Sstephh error.io.pci.perr-dr-u@PCIFN; 10381865Sdilpreet 10397197Sstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_LEAF } (1)-> 10407197Sstephh error.io.pci.source-perr-u@PCIFN; 10411865Sdilpreet 10427197Sstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_LEAF } (0)-> 10437197Sstephh ereport.io.pci.dpe@PCIFN, 10447197Sstephh ereport.io.pci.mdpe@PCIFN; 10451865Sdilpreet 10467197Sstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN { IS_BDG } (2)-> 10477197Sstephh ereport.io.pci.dpe@PCIFN, 10487197Sstephh ereport.io.pci.mdpe@PCIFN; 10491865Sdilpreet 10507197Sstephhprop error.io.pci.dpdata-dr-fwd-d@PCIFN (1)-> 10517197Sstephh error.io.pci.dpdata-dr-fwd-d@PCIFN/PCIFNHZ; 10521865Sdilpreet 10531865Sdilpreet/* 10541865Sdilpreet * delayed read/write retry timeout can cause dto at a bridge 10551865Sdilpreet */ 10567197Sstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (0)-> 10577197Sstephh error.io.pci.retry-to-u@PCIFN; 10581865Sdilpreet 10597197Sstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (1)-> 10607197Sstephh ereport.io.pci.dto@PCIFN; 10610Sstevel@tonic-gate 10627197Sstephhprop error.io.pci.retry-to-u@PCIFN/PCIFN (0)-> 10637197Sstephh error.io.pci.serr-u@PCIFN; 10640Sstevel@tonic-gate 10657197Sstephhprop error.io.pci.retry-to-d@PCIFN (0)-> 10667197Sstephh error.io.pci.retry-to-d@PCIFN/PCIFN; 10670Sstevel@tonic-gate 10687197Sstephhprop error.io.pci.retry-to-d@PCIFN { IS_BDG } (1)-> 10697197Sstephh ereport.io.pci.dto@PCIFN; 10700Sstevel@tonic-gate 10717197Sstephhprop error.io.pci.retry-to-d@PCIFN { IS_BDG } (0)-> 10727197Sstephh error.io.pci.serr-u@PCIFN; 10730Sstevel@tonic-gate 10740Sstevel@tonic-gate/* 10751865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10761865Sdilpreet * source- propagations. 10771865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10780Sstevel@tonic-gate */ 10797197Sstephhevent error.io.pci.source-ape-u@PCIFN/PCIFN; 10807197Sstephhevent error.io.pcix.source-scpe-u@PCIFN/PCIFN; 10811865Sdilpreet 10827197Sstephhprop error.io.pci.source-ape-u@PCIFN (1)-> 10837197Sstephh error.io.pci.source-ape-u@PCIFN/PCIFNHZ; 10841865Sdilpreet 10857197Sstephhprop error.io.pcix.source-scpe-u@PCIFN (1)-> 10867197Sstephh error.io.pcix.source-scpe-u@PCIFN/PCIFNHZ; 10871865Sdilpreet 10881865Sdilpreet/* 10891865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10901865Sdilpreet * Handling of leaf driver detected internal errors. Use serd engine if 10911865Sdilpreet * no service impact - otherwise fail immediately 10921865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10931865Sdilpreet */ 10947197Sstephhevent ereport.io.device.inval_state@PCIFN{within(5s)}; 10957197Sstephhevent ereport.io.device.no_response@PCIFN{within(5s)}; 10967197Sstephhevent ereport.io.device.stall@PCIFN{within(5s)}; 10977197Sstephhevent ereport.io.device.badint_limit@PCIFN{within(5s)}; 10987197Sstephhevent ereport.io.device.intern_corr@PCIFN{within(5s)}; 10997197Sstephhevent ereport.io.device.intern_uncorr@PCIFN{within(5s)}; 11001865Sdilpreet 11017197Sstephhprop error.io.service.restored@PCIFN { IS_LEAF } (1)-> 11027197Sstephh ereport.io.service.lost@PCIFN, 11037197Sstephh ereport.io.service.degraded@PCIFN; 11041865Sdilpreet 11057197Sstephhprop error.io.service.restored@PCIFN { IS_LEAF } (1)-> 11067197Sstephh ereport.io.service.restored@PCIFN; 11071865Sdilpreet 11087197Sstephhprop error.io.device.f-device@PCIFN { IS_LEAF } (1)-> 11097197Sstephh ereport.io.device.inval_state@PCIFN, 11107197Sstephh ereport.io.device.no_response@PCIFN, 11117197Sstephh ereport.io.device.stall@PCIFN, 11127197Sstephh ereport.io.device.badint_limit@PCIFN, 11137197Sstephh ereport.io.device.intern_corr@PCIFN, 11147197Sstephh ereport.io.device.intern_uncorr@PCIFN; 11151865Sdilpreet 11167197Sstephhprop error.io.device.f-device@PCIFN { IS_LEAF } (1)-> 11177197Sstephh ereport.io.service.lost@PCIFN; 11181865Sdilpreet 11197197Sstephhprop error.io.device.deg-device@PCIFN { IS_LEAF } (1)-> 11207197Sstephh ereport.io.device.inval_state@PCIFN, 11217197Sstephh ereport.io.device.no_response@PCIFN, 11227197Sstephh ereport.io.device.stall@PCIFN, 11237197Sstephh ereport.io.device.badint_limit@PCIFN, 11247197Sstephh ereport.io.device.intern_corr@PCIFN, 11257197Sstephh ereport.io.device.intern_uncorr@PCIFN; 11261865Sdilpreet 11277197Sstephhprop error.io.device.deg-device@PCIFN { IS_LEAF } (1)-> 11287197Sstephh ereport.io.service.degraded@PCIFN; 11291865Sdilpreet 11307197Sstephhprop error.io.device.nf-device@PCIFN { IS_LEAF } (1)-> 11317197Sstephh ereport.io.device.inval_state@PCIFN, 11327197Sstephh ereport.io.device.no_response@PCIFN, 11337197Sstephh ereport.io.device.stall@PCIFN, 11347197Sstephh ereport.io.device.badint_limit@PCIFN, 11357197Sstephh ereport.io.device.intern_corr@PCIFN, 11367197Sstephh ereport.io.device.intern_uncorr@PCIFN; 11371865Sdilpreet 11387197Sstephhprop error.io.device.nf-device@PCIFN { IS_LEAF } (1)-> 11397197Sstephh ereport.io.service.unaffected@PCIFN, 11407197Sstephh error.io.service.restored@PCIFN; 11411865Sdilpreet 11421865Sdilpreet/* 11431865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11441865Sdilpreet * stub unused ereports 11451865Sdilpreet * - ignore rx-spl as we can't tell what message it was (and we should have 11461865Sdilpreet * diagnosed the problem anyway from standard pci ereports) 11471865Sdilpreet * - ignore sec-spl-or/sec-spl-dly as these aren't really faults (tuning info) 11481865Sdilpreet * - ignore unex-spl/sec-unex-spl 11491865Sdilpreet * - ignore ecc.ue ereports (we get everything we need from dpe/mdpe) 11501865Sdilpreet * - ignore ecc.ce ereports for now (could do serd on these) 11511865Sdilpreet * - ignore nr ereport 11521865Sdilpreet * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11530Sstevel@tonic-gate */ 11540Sstevel@tonic-gate 11557197Sstephhevent ereport.io.pci.nr@PCIFN{within(5s)}; 11567197Sstephhevent ereport.io.pcix.unex-spl@PCIFN{within(5s)}; 11577197Sstephhevent ereport.io.pcix.rx-spl@PCIFN{within(5s)}; 11587197Sstephhevent ereport.io.pcix.sec-unex-spl@PCIFN{within(5s)}; 11597197Sstephhevent ereport.io.pcix.sec-spl-or@PCIFN{within(5s)}; 11607197Sstephhevent ereport.io.pcix.sec-spl-dly@PCIFN{within(5s)}; 11617197Sstephhevent ereport.io.pcix.ecc.ce-addr@PCIFN{within(5s)}; 11627197Sstephhevent ereport.io.pcix.ecc.ce-attr@PCIFN{within(5s)}; 11637197Sstephhevent ereport.io.pcix.ecc.ce-data@PCIFN{within(5s)}; 11647197Sstephhevent ereport.io.pcix.ecc.ue-addr@PCIFN{within(5s)}; 11657197Sstephhevent ereport.io.pcix.ecc.ue-attr@PCIFN{within(5s)}; 11667197Sstephhevent ereport.io.pcix.ecc.ue-data@PCIFN{within(5s)}; 11677197Sstephhevent ereport.io.pcix.s-ce@PCIFN{within(5s)}; 11687197Sstephhevent ereport.io.pcix.s-ue@PCIFN{within(5s)}; 11697197Sstephhevent ereport.io.pcix.sec-ecc.ce-addr@PCIFN{within(5s)}; 11707197Sstephhevent ereport.io.pcix.sec-ecc.ce-attr@PCIFN{within(5s)}; 11717197Sstephhevent ereport.io.pcix.sec-ecc.ce-data@PCIFN{within(5s)}; 11727197Sstephhevent ereport.io.pcix.sec-ecc.ue-addr@PCIFN{within(5s)}; 11737197Sstephhevent ereport.io.pcix.sec-ecc.ue-attr@PCIFN{within(5s)}; 11747197Sstephhevent ereport.io.pcix.sec-ecc.ue-data@PCIFN{within(5s)}; 11757197Sstephhevent ereport.io.pcix.sec-s-ce@PCIFN{within(5s)}; 11767197Sstephhevent ereport.io.pcix.sec-s-ue@PCIFN{within(5s)}; 11770Sstevel@tonic-gate 11787197Sstephhevent upset.io.pcix.discard@PCIFN; 11791865Sdilpreet 11807197Sstephhprop upset.io.pcix.discard@PCIFN (1)-> 11817197Sstephh ereport.io.pci.nr@PCIFN, 11827197Sstephh ereport.io.pcix.rx-spl@PCIFN, 11837197Sstephh ereport.io.pcix.unex-spl@PCIFN, 11847197Sstephh ereport.io.pcix.sec-unex-spl@PCIFN, 11857197Sstephh ereport.io.pcix.sec-spl-or@PCIFN, 11867197Sstephh ereport.io.pcix.sec-spl-dly@PCIFN, 11877197Sstephh ereport.io.pcix.ecc.ce-addr@PCIFN, 11887197Sstephh ereport.io.pcix.ecc.ce-attr@PCIFN, 11897197Sstephh ereport.io.pcix.ecc.ce-data@PCIFN, 11907197Sstephh ereport.io.pcix.ecc.ue-addr@PCIFN, 11917197Sstephh ereport.io.pcix.ecc.ue-attr@PCIFN, 11927197Sstephh ereport.io.pcix.ecc.ue-data@PCIFN, 11937197Sstephh ereport.io.pcix.s-ce@PCIFN, 11947197Sstephh ereport.io.pcix.s-ue@PCIFN, 11957197Sstephh ereport.io.pcix.sec-ecc.ce-addr@PCIFN, 11967197Sstephh ereport.io.pcix.sec-ecc.ce-attr@PCIFN, 11977197Sstephh ereport.io.pcix.sec-ecc.ce-data@PCIFN, 11987197Sstephh ereport.io.pcix.sec-ecc.ue-addr@PCIFN, 11997197Sstephh ereport.io.pcix.sec-ecc.ue-attr@PCIFN, 12007197Sstephh ereport.io.pcix.sec-ecc.ue-data@PCIFN, 12017197Sstephh ereport.io.pcix.sec-s-ce@PCIFN, 12027197Sstephh ereport.io.pcix.sec-s-ue@PCIFN; 1203