1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26#pragma ident "%Z%%M% %I% %E% SMI" 27 28#pragma dictionary "PCIEX" 29 30/* 31 * FIT rates - assume leaf devices are somewhat less reliable than 32 * root complexes, switches and bridges 33 */ 34#define PCIEX_RC_FIT 500 35#define PCIEX_SW_FIT 500 36#define PCIEX_BDG_FIT 500 37#define PCIEX_DEV_FIT 1000 38#define PCIEX_RC_INV_FIT 500 39#define PCIEX_DEV_INV_FIT 1000 40#define PCIEX_RC_NR_FIT 500 41#define PCIEX_SW_NR_FIT 500 42#define PCIEX_BDG_NR_FIT 500 43#define PCIEX_DEV_NR_FIT 1000 44#define PCIEX_BUS_FIT 500 45#define PCIEX_BUS_NR_FIT 500 46 47/* 48 * SERD parameters. 49 * 50 * PCI Express correctable link errors are automatically handled by the 51 * hardware, so have relatively little impact and we can allow quite a 52 * high frequency. We will also be quite conservative about nonfatal internal 53 * errors reported by the driver. 54 * 55 * Nonfatal dpe errors (ptlp/ecrc errors) have to be recovered by the hardened 56 * driver which may cause intermittant performance/responsiveness problems, so 57 * we have tighter serd parameters for these. These are most likely errors in 58 * buffers/caches within devices and bridges, so use similar rates to cpu 59 * data cache parity errors. 60 */ 61#define CORRLINK_COUNT 6 62#define CORRLINK_TIME 2h 63#define NONFATAL_COUNT 6 64#define NONFATAL_TIME 2h 65#define NONFATAL_DPE_U_COUNT 3 66#define NONFATAL_DPE_U_TIME 168h 67#define NONFATAL_DPE_D_COUNT 3 68#define NONFATAL_DPE_D_TIME 168h 69 70/* 71 * if the source-id payload is valid, then check it matches 72 */ 73#define SOURCE_ID_MATCHES_BDF \ 74 (payloadprop("source-valid") == 0 || \ 75 payloadprop("source-id") == ((b << 8) | (d << 3) | f)) 76 77/* 78 * for request from device behind pci-express/pci bridge, source-id could be 79 * either the originator's bdf or the bus number of the secondary bus of the 80 * bridge with dev/fn both 0 (if for various reasons the bridge takes ownership 81 * of the transaction) 82 */ 83#define SOURCE_ID_MATCHES_BDF_OR_B \ 84 (payloadprop("source-valid") == 0 || \ 85 payloadprop("source-id") == ((b << 8) | (d << 3) | f) || \ 86 payloadprop("source-id") == (b << 8)) 87 88#define SOURCE_ID_MATCHES_OWN_BDF \ 89 (payloadprop("source-valid") == 1 && \ 90 payloadprop("source-id") == (confprop(asru(pciexrc), "BDF") + 0)) 91 92/* 93 * Other useful macros. These use the EXCAP property (PCI Express Capabilities 94 * register) to find the type for PCI Express devices, and the CLASS-CODE 95 * property (PCI Class Code register) for to find the type of PCI devices behind 96 * a PCI Express-PCI bridge - note that 60400 and 60401 are defined as PCI-PCI 97 * bridges, everything else is consider a PCI leaf device. 98 */ 99#define BDF_IS_UNDER_RC \ 100 is_under(pciexrc<>, pciexbus[b]/pciexdev[d]/pciexfn[f]) 101 102#define PCIBDF_IS_UNDER_RC \ 103 is_under(pciexrc<>, pcibus[b]/pcidev[d]/pcifn[f]) 104 105#define IMM_PCIBDF_IS_UNDER_RC \ 106 is_under(pciexrc<>, pciexfn/pcibus[b]/pcidev[d]/pcifn[f]) 107 108#define PCIBDF_IS_UNDER_DEV \ 109 is_under(pciexbus/pciexdev/pciexfn, pcibus[b]/pcidev[d]/pcifn[f]) 110 111#define IS_SWD \ 112 (confprop(asru(pciexbus/pciexdev/pciexfn), "EXCAP") == "pciexswd") 113 114#define IS_SWU \ 115 (confprop(asru(pciexbus/pciexdev/pciexfn), "EXCAP") == "pciexswu") 116 117#define IS_LEAF \ 118 (confprop(asru(pciexbus/pciexdev/pciexfn), "EXCAP") == "pciexdev") 119 120#define IS_PCI_LEAF \ 121 (confprop(asru(pcibus/pcidev/pcifn), "CLASS-CODE") != "60400" && \ 122 confprop(asru(pcibus/pcidev/pcifn), "CLASS-CODE") != "60401") 123 124#define BDF_IS_PCI_LEAF \ 125 (confprop(asru(pcibus[b]/pcidev[d]/pcifn[f]),"CLASS-CODE") != \ 126 "60400" && \ 127 confprop(asru(pcibus[b]/pcidev[d]/pcifn[f]), "CLASS-CODE") != "60401") 128 129#define BDF_IS_PCI_IMM_LEAF \ 130 (confprop(asru(pciexfn/pcibus[b]/pcidev[d]/pcifn[f]),"CLASS-CODE") != \ 131 "60400" && \ 132 confprop(asru(pciexfn/pcibus[b]/pcidev[d]/pcifn[f]), "CLASS-CODE") != \ 133 "60401") 134 135#define IS_BDG \ 136 (confprop(asru(pciexbus/pciexdev/pciexfn), "EXCAP") == "pcibus") 137 138#define BDF_IS_LEAF \ 139 (confprop(asru(pciexbus[b]/pciexdev[d]/pciexfn[f]), "EXCAP") == \ 140 "pciexdev") 141 142/* 143 * define faults 144 */ 145asru pciexrc; 146fru pciexrc; 147asru pciexbus/pciexdev/pciexfn; 148fru pciexbus/pciexdev; 149fru pciexbus; 150asru pciexbus; 151 152event fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn, 153 FITrate=PCIEX_DEV_FIT, FRU=pciexbus/pciexdev, 154 ASRU=pciexbus/pciexdev/pciexfn; 155 156event fault.io.pciex.device-interr@pciexrc, 157 FITrate=PCIEX_RC_FIT, FRU=pciexrc, ASRU=pciexrc; 158 159event fault.io.pciex.device-invreq@pciexbus/pciexdev/pciexfn, 160 FITrate=PCIEX_DEV_INV_FIT, FRU=pciexbus/pciexdev, 161 ASRU=pciexbus/pciexdev/pciexfn; 162 163event fault.io.pciex.device-invreq@pciexrc, 164 FITrate=PCIEX_RC_INV_FIT, FRU=pciexrc, ASRU=pciexrc; 165 166event fault.io.pciex.device-noresp@pciexbus/pciexdev/pciexfn, 167 FITrate=PCIEX_DEV_NR_FIT, FRU=pciexbus/pciexdev, 168 ASRU=pciexbus/pciexdev/pciexfn; 169 170event fault.io.pciex.device-noresp@pciexrc, 171 FITrate=PCIEX_RC_NR_FIT, FRU=pciexrc, ASRU=pciexrc; 172 173event fault.io.pciex.bus-noresp@pciexbus/pciexdev/pciexfn, 174 FITrate=PCIEX_BUS_NR_FIT, FRU=pciexbus, ASRU=pciexbus/pciexdev/pciexfn; 175 176event fault.io.pciex.bus-linkerr@pciexbus/pciexdev/pciexfn, 177 FITrate=PCIEX_BUS_FIT, FRU=pciexbus, ASRU=pciexbus/pciexdev/pciexfn; 178 179/* 180 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 181 * serd engine for correctable link errors 182 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 183 */ 184event error.io.pciex.corrlink@pciexbus; 185event error.io.pciex.corrlink@pciexrc/pciexbus; 186event error.io.pciex.corrlink@pciexbus/pciexdev/pciexfn/pciexbus; 187event ereport.io.pciex.corrlink_trip@pciexbus; 188 189engine serd.io.pciex.corrlink@pciexbus, 190 N=CORRLINK_COUNT, T=CORRLINK_TIME, method=persistent, 191 trip=ereport.io.pciex.corrlink_trip@pciexbus; 192 193event upset.io.pciex.corrlink@pciexbus, 194 engine=serd.io.pciex.corrlink@pciexbus; 195 196prop upset.io.pciex.corrlink@pciexbus (1)-> 197 error.io.pciex.corrlink@pciexbus; 198 199/* 200 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 201 * Handling of leaf driver detected internal errors. Use serd engine if 202 * no service impact - otherwise fail immediately 203 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 204 */ 205event ereport.io.device.inval_state@pciexbus/pciexdev/pciexfn{within(5s)}; 206event ereport.io.device.no_response@pciexbus/pciexdev/pciexfn{within(5s)}; 207event ereport.io.device.stall@pciexbus/pciexdev/pciexfn{within(5s)}; 208event ereport.io.device.badint_limit@pciexbus/pciexdev/pciexfn{within(5s)}; 209event ereport.io.service.lost@pciexbus/pciexdev/pciexfn{within(5s)}; 210event ereport.io.service.degraded@pciexbus/pciexdev/pciexfn{within(5s)}; 211event ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn{within(5s)}; 212event ereport.io.service.restored@pciexbus/pciexdev/pciexfn{within(30s)}; 213event ereport.io.device.nf-device@pciexbus/pciexdev/pciexfn; 214 215event error.io.service.restored@pciexbus/pciexdev/pciexfn; 216event error.io.device.nf-device@pciexbus/pciexdev/pciexfn; 217event error.io.device.f-device@pciexbus/pciexdev/pciexfn; 218 219prop error.io.device.f-device@pciexbus/pciexdev/pciexfn (1)-> 220 ereport.io.device.inval_state@pciexbus/pciexdev/pciexfn, 221 ereport.io.device.no_response@pciexbus/pciexdev/pciexfn, 222 ereport.io.device.stall@pciexbus/pciexdev/pciexfn, 223 ereport.io.device.badint_limit@pciexbus/pciexdev/pciexfn; 224 225prop error.io.device.f-device@pciexbus/pciexdev/pciexfn (1)-> 226 ereport.io.service.lost@pciexbus/pciexdev/pciexfn, 227 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn; 228 229engine serd.io.device.nonfatal@pciexbus/pciexdev/pciexfn, 230 N=NONFATAL_COUNT, T=NONFATAL_TIME, method=persistent, 231 trip=ereport.io.device.nf-device@pciexbus/pciexdev/pciexfn; 232 233event upset.io.device.nonfatal@pciexbus/pciexdev/pciexfn, 234 engine=serd.io.device.nonfatal@pciexbus/pciexdev/pciexfn; 235 236prop error.io.device.nf-device@pciexbus/pciexdev/pciexfn (1)-> 237 ereport.io.device.nf-device@pciexbus/pciexdev/pciexfn; 238 239prop error.io.device.nf-device@pciexbus/pciexdev/pciexfn (0)-> 240 ereport.io.device.inval_state@pciexbus/pciexdev/pciexfn, 241 ereport.io.device.no_response@pciexbus/pciexdev/pciexfn, 242 ereport.io.device.stall@pciexbus/pciexdev/pciexfn, 243 ereport.io.device.badint_limit@pciexbus/pciexdev/pciexfn, 244 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn, 245 error.io.service.restored@pciexbus/pciexdev/pciexfn; 246 247prop upset.io.device.nonfatal@pciexbus/pciexdev/pciexfn (1)-> 248 ereport.io.device.inval_state@pciexbus/pciexdev/pciexfn, 249 ereport.io.device.no_response@pciexbus/pciexdev/pciexfn, 250 ereport.io.device.stall@pciexbus/pciexdev/pciexfn, 251 ereport.io.device.badint_limit@pciexbus/pciexdev/pciexfn; 252 253prop upset.io.device.nonfatal@pciexbus/pciexdev/pciexfn (1)-> 254 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn, 255 error.io.service.restored@pciexbus/pciexdev/pciexfn; 256 257/* 258 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 259 * Handling of pci express nonfatal errors (ptlp/ecrc). Use serd engine if 260 * no service impact - otherwise fail immediately 261 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 262 */ 263event ereport.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn; 264event ereport.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn; 265 266event error.io.pciex.flt-f-d@pciexbus/pciexdev/pciexfn; 267event error.io.pciex.flt-f-u@pciexbus/pciexdev/pciexfn; 268event error.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn; 269event error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn; 270event error.io.pciex.flt-f-ecrcreq-u@pciexbus/pciexdev/pciexfn; 271event error.io.pciex.flt-f-ecrccomp-u@pciexbus/pciexdev/pciexfn; 272event error.io.pciex.flt-f-poisreq-u@pciexbus/pciexdev/pciexfn; 273event error.io.pciex.flt-f-poiscomp-u@pciexbus/pciexdev/pciexfn; 274event error.io.pciex.flt-f-ecrcreq-d@pciexbus/pciexdev/pciexfn; 275event error.io.pciex.flt-f-ecrccomp-d@pciexbus/pciexdev/pciexfn; 276event error.io.pciex.flt-f-poisreq-d@pciexbus/pciexdev/pciexfn; 277event error.io.pciex.flt-f-poiscomp-d@pciexbus/pciexdev/pciexfn; 278event error.io.pciex.flt-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn; 279event error.io.pciex.flt-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn; 280event error.io.pciex.flt-nf-poisreq-u@pciexbus/pciexdev/pciexfn; 281event error.io.pciex.flt-nf-poiscomp-u@pciexbus/pciexdev/pciexfn; 282event error.io.pciex.flt-nf-ecrcreq-d@pciexbus/pciexdev/pciexfn; 283event error.io.pciex.flt-nf-ecrccomp-d@pciexbus/pciexdev/pciexfn; 284event error.io.pciex.flt-nf-poisreq-d@pciexbus/pciexdev/pciexfn; 285event error.io.pciex.flt-nf-poiscomp-d@pciexbus/pciexdev/pciexfn; 286 287prop error.io.pciex.flt-f-u@pciexbus/pciexdev/pciexfn (1)-> 288 error.io.pciex.flt-f-ecrcreq-u@pciexbus/pciexdev/pciexfn, 289 error.io.pciex.flt-f-ecrccomp-u@pciexbus/pciexdev/pciexfn, 290 error.io.pciex.flt-f-poisreq-u@pciexbus/pciexdev/pciexfn, 291 error.io.pciex.flt-f-poiscomp-u@pciexbus/pciexdev/pciexfn; 292 293prop error.io.pciex.flt-f-d@pciexbus/pciexdev/pciexfn (1)-> 294 error.io.pciex.flt-f-ecrcreq-d@pciexbus/pciexdev/pciexfn, 295 error.io.pciex.flt-f-ecrccomp-d@pciexbus/pciexdev/pciexfn, 296 error.io.pciex.flt-f-poisreq-d@pciexbus/pciexdev/pciexfn, 297 error.io.pciex.flt-f-poiscomp-d@pciexbus/pciexdev/pciexfn; 298 299engine serd.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn, 300 N=NONFATAL_DPE_U_COUNT, T=NONFATAL_DPE_U_TIME, method=persistent, 301 trip=ereport.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn; 302 303event upset.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn, 304 engine=serd.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn; 305 306prop error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn (1)-> 307 ereport.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn; 308 309prop error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn (0)-> 310 error.io.pciex.flt-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn, 311 error.io.pciex.flt-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn, 312 error.io.pciex.flt-nf-poisreq-u@pciexbus/pciexdev/pciexfn, 313 error.io.pciex.flt-nf-poiscomp-u@pciexbus/pciexdev/pciexfn; 314 315prop upset.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn (1)-> 316 error.io.pciex.flt-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn, 317 error.io.pciex.flt-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn, 318 error.io.pciex.flt-nf-poisreq-u@pciexbus/pciexdev/pciexfn, 319 error.io.pciex.flt-nf-poiscomp-u@pciexbus/pciexdev/pciexfn; 320 321engine serd.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn, 322 N=NONFATAL_DPE_D_COUNT, T=NONFATAL_DPE_D_TIME, method=persistent, 323 trip=ereport.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn; 324 325event upset.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn, 326 engine=serd.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn; 327 328prop error.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn (1)-> 329 ereport.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn; 330 331prop error.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn (0)-> 332 error.io.pciex.flt-nf-ecrcreq-d@pciexbus/pciexdev/pciexfn, 333 error.io.pciex.flt-nf-ecrccomp-d@pciexbus/pciexdev/pciexfn, 334 error.io.pciex.flt-nf-poisreq-d@pciexbus/pciexdev/pciexfn, 335 error.io.pciex.flt-nf-poiscomp-d@pciexbus/pciexdev/pciexfn; 336 337prop upset.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn (1)-> 338 error.io.pciex.flt-nf-ecrcreq-d@pciexbus/pciexdev/pciexfn, 339 error.io.pciex.flt-nf-ecrccomp-d@pciexbus/pciexdev/pciexfn, 340 error.io.pciex.flt-nf-poisreq-d@pciexbus/pciexdev/pciexfn, 341 error.io.pciex.flt-nf-poiscomp-d@pciexbus/pciexdev/pciexfn; 342 343/* 344 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 345 * A faulty PCI Express hostbridge (root complex) may cause: 346 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 347 * - nr-d: the device not to respond to a valid upstream request 348 * - ca-d: the device to completer abort a valid upstream request 349 * - mtlp-d: a malformed tlp to be transmitted downstream 350 * - badreq-d: a bad downstream request - not CRC error (may cause 351 * completer to respond with ur or ca) 352 * - ecrcreq-d: TLP with end-to-end CRC error transmitted downstream 353 * - ecrccomp-d: TLP with end-to-end CRC error transmitted downstream 354 * - poisreq-d: poisoned request transmitted downstream 355 * - poiscomp-d: poisoned completion transmitted downstream 356 * - corrlink: correctable link or physical level error 357 * - fatlink: fatal link or physical level error 358 */ 359event error.io.pciex.nr-d@pciexrc/pciexbus/pciexdev/pciexfn; 360event error.io.pciex.ca-d@pciexrc/pciexbus/pciexdev/pciexfn; 361event error.io.pciex.mtlp-d@pciexrc/pciexbus/pciexdev/pciexfn; 362event error.io.pciex.badreq-d@pciexrc/pciexbus/pciexdev/pciexfn; 363event error.io.pciex.flt-nf-d@pciexrc/pciexbus/pciexdev/pciexfn; 364event error.io.pciex.flt-f-d@pciexrc/pciexbus/pciexdev/pciexfn; 365event ereport.io.pciex.corrlink_trip@pciexrc/pciexbus; 366event error.io.pciex.fatlink@pciexrc/pciexbus/pciexdev/pciexfn; 367 368prop fault.io.pciex.device-noresp@pciexrc (1)-> 369 error.io.pciex.nr-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>; 370 371prop fault.io.pciex.device-invreq@pciexrc (1)-> 372 error.io.pciex.badreq-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>; 373 374prop fault.io.pciex.device-interr@pciexrc (1)-> 375 error.io.pciex.flt-nf-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>, 376 error.io.pciex.flt-f-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>, 377 error.io.pciex.ca-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>, 378 error.io.pciex.mtlp-d@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>, 379 ereport.io.pciex.corrlink_trip@pciexrc/pciexbus<>, 380 error.io.pciex.fatlink@pciexrc/pciexbus<>/pciexdev<>/pciexfn<>; 381 382/* 383 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 384 * A faulty PCI Express leaf device or upstream switch port may cause: 385 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 386 * - nr-u: the device not to respond to a valid downstream request 387 * - ca-u: the device to completer abort a valid downstream request 388 * - badreq-u: a bad upstream request - not CRC error (may cause 389 * completer to respond with ur or ca) - leaf only 390 * - mtlp-u: a malformed tlp transmitted upstream - leaf only 391 * - ecrcreq-u: request with end-to-end CRC error transmitted upstream 392 * - ecrccomp-u: compl with end-to-end CRC error transmitted upstream 393 * - poisreq-u: poisoned request transmitted upstream 394 * - poiscomp-u: poisoned completion transmitted upstream 395 * - device: internal error reported by leaf device 396 * - corrlink: correctable link or physical level error 397 * - fatlink: fatal link or physical level error 398 */ 399 400event error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn; 401event error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn; 402event error.io.pciex.mtlp-u@pciexbus/pciexdev/pciexfn; 403event error.io.pciex.flt-badreq-u@pciexbus/pciexdev/pciexfn; 404event error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn; 405 406prop fault.io.pciex.device-noresp@pciexbus/pciexdev/pciexfn { IS_LEAF } (1)-> 407 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn; 408 409prop fault.io.pciex.device-noresp@pciexbus/pciexdev/pciexfn { IS_SWU } (1)-> 410 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn; 411 412prop fault.io.pciex.device-invreq@pciexbus/pciexdev/pciexfn { IS_LEAF } (1)-> 413 error.io.pciex.flt-badreq-u@pciexbus/pciexdev/pciexfn; 414 415prop fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn { IS_SWU } (1)-> 416 error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn, 417 error.io.pciex.flt-f-u@pciexbus/pciexdev/pciexfn, 418 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn, 419 ereport.io.pciex.corrlink_trip@pciexbus, 420 error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn; 421 422prop fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn { IS_LEAF } (1)-> 423 error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn, 424 error.io.pciex.flt-f-u@pciexbus/pciexdev/pciexfn, 425 error.io.device.nf-device@pciexbus/pciexdev/pciexfn, 426 error.io.device.f-device@pciexbus/pciexdev/pciexfn, 427 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn, 428 error.io.pciex.mtlp-u@pciexbus/pciexdev/pciexfn, 429 ereport.io.pciex.corrlink_trip@pciexbus, 430 error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn; 431 432/* 433 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 434 * A faulty PCI Express downstream switch port may cause 435 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 436 * - nr-d: the device not to respond to an upstream request 437 * - ca-d: the device to completer abort an upstream request 438 * - ecrcreq-d: TLP with end-to-end CRC error transmitted upstream 439 * - ecrccomp-d: TLP with end-to-end CRC error transmitted upstream 440 * - poisreq-d: poisoned request transmitted upstream 441 * - poiscomp-d: poisoned completion transmitted upstream 442 * - corrlink: correctable link or physical level error 443 * - fatlink: fatal link or physical level error 444 */ 445 446event error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 447event error.io.pciex.flt-ca-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 448event error.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 449event error.io.pciex.flt-f-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 450event ereport.io.pciex.corrlink_trip@pciexbus/pciexdev/pciexfn/pciexbus; 451event error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 452 453prop fault.io.pciex.device-noresp@pciexbus/pciexdev/pciexfn { IS_SWD } (1)-> 454 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 455 456prop fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn { IS_SWD } (1)-> 457 error.io.pciex.flt-ca-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>, 458 error.io.pciex.flt-nf-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>, 459 error.io.pciex.flt-f-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>, 460 ereport.io.pciex.corrlink_trip@pciexbus/pciexdev/pciexfn/pciexbus<>, 461 error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 462 463/* 464 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 465 * A faulty PCIEX bus may cause: 466 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 467 * - nr-u: a device to not respond because the link is down 468 * - nr-d: a device to not respond because the link is down 469 * - corrlink: correctable link or physical level error 470 * - fatlink: fatal link or physical level error 471 */ 472 473event error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn; 474 475prop fault.io.pciex.bus-noresp@pciexbus/pciexdev/pciexfn (0)-> 476 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn 477 { IS_SWU || IS_LEAF || IS_BDG }, 478 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn 479 { IS_SWU || IS_LEAF || IS_BDG }; 480 481prop fault.io.pciex.bus-linkerr@pciexbus/pciexdev/pciexfn (0)-> 482 ereport.io.pciex.corrlink_trip@pciexbus, 483 error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn 484 { IS_SWU || IS_LEAF || IS_BDG }; 485 486/* 487 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 488 * A faulty pciex-pci bridge may cause 489 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 490 * The following errors to propagate onto the PCI Express fabric 491 * - nr-u: the device not to respond to a valid downstream request 492 * - ca-u: the device to completer abort a valid downstream request 493 * - ecrcreq-u: request with end-to-end CRC error transmitted upstream 494 * - ecrccomp-u: compl with end-to-end CRC error transmitted upstream 495 * - poisreq-u: poisoned request transmitted upstream 496 * - poiscomp-u: poisoned completion transmitted upstream 497 * - corrlink: correctable link or physical level error upstream 498 * - fatlink: fatal link or physical level error upstream 499 * - sec-interr: internal error on pci express to pci bridge 500 * 501 * And the following errors to propagate onto the secondary pci or pci/x bus 502 * (these will be handled by code in the pci.esc file). 503 * - nr-pw-d: the device not to respond to a valid upstream request 504 * - nr-drw-d: the device not to respond to a valid upstream request 505 * - retry-to-d: failure to retry an downstream delayed request 506 * - ta-pw-d: the device responds with a ta to a valid upstream 507 * request 508 * - ta-drw-d: the device responds with a ta to a valid upstream 509 * request 510 * - ape-d: address/parity to get corrupted during downstream transmission. 511 * - dpe-d: data/parity to get corrupted during downstream transmission. 512 * - scpe-d: split completion to get corrupted during downstream transmission 513 */ 514 515event error.io.pci.ape-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 516event error.io.pci.f-dpe-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 517event error.io.pci.nf-dpe-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 518event error.io.pci.retry-to-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 519event error.io.pci.nr-pw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 520event error.io.pci.nr-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 521event error.io.pci.ta-pw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 522event error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 523event error.io.pcix.scpe-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 524event error.io.pciex.sec-interr@pciexbus/pciexdev/pciexfn; 525event ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn{within(5s)}; 526 527prop fault.io.pciex.device-noresp@pciexbus/pciexdev/pciexfn { IS_BDG } (1)-> 528 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn, 529 error.io.pci.retry-to-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 530 error.io.pci.nr-pw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 531 error.io.pci.nr-drw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 532 533prop fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn { IS_BDG } (1)-> 534 error.io.pciex.flt-nf-u@pciexbus/pciexdev/pciexfn, 535 error.io.pciex.flt-f-u@pciexbus/pciexdev/pciexfn, 536 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn, 537 error.io.pciex.mtlp-u@pciexbus/pciexdev/pciexfn, 538 error.io.pciex.sec-interr@pciexbus/pciexdev/pciexfn, 539 ereport.io.pciex.corrlink_trip@pciexbus, 540 error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn, 541 error.io.pci.ta-pw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 542 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 543 error.io.pci.ape-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 544 error.io.pcix.scpe-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 545 error.io.pci.f-dpe-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 546 error.io.pci.nf-dpe-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 547 548prop fault.io.pciex.device-interr@pciexbus/pciexdev/pciexfn { IS_BDG } (0)-> 549 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn; 550 551/* 552 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 553 * declarations 554 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 555 */ 556event error.io.pciex.fatal@pciexbus/pciexdev/pciexfn; 557event error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 558event error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn; 559event error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn; 560event error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 561event error.io.pciex.ur-u@pciexrc/pciexbus/pciexdev/pciexfn; 562event error.io.pciex.nr-u@pciexbus/pciexdev/pciexfn; 563event error.io.pciex.nr-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 564event error.io.pciex.nr-u@pciexrc/pciexbus/pciexdev/pciexfn; 565event error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn; 566event error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 567event error.io.pciex.ca-u@pciexrc/pciexbus/pciexdev/pciexfn; 568event error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn; 569event error.io.pciex.sw-mtlp-d@pciexbus/pciexdev/pciexfn; 570event error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 571event error.io.pciex.flt-ca-d@pciexbus/pciexdev/pciexfn; 572event error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn; 573event error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 574event error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn; 575event error.io.pciex.poisreq-d@pciexrc/pciexbus/pciexdev/pciexfn; 576event error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 577event error.io.pciex.sw-poisreq-d@pciexbus/pciexdev/pciexfn; 578event error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn; 579event error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn; 580event error.io.pciex.sw-ecrcreq-d@pciexbus/pciexdev/pciexfn; 581event error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn; 582event error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 583event error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn; 584event error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 585event error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn; 586event error.io.pciex.badreq-u@pciexbus/pciexdev; 587event error.io.pciex.badreq-u@pciexrc/pciexbus/pciexdev/pciexfn; 588event error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn; 589event error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 590event error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn; 591event error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn; 592event error.io.pciex.source-f-ecrcreq-u@pcibus/pcidev/pcifn; 593event error.io.pciex.source-nf-ecrcreq-u@pcibus/pcidev/pcifn; 594event error.io.pciex.source-f-ecrcreq-u@pciexfn/pcibus/pcidev/pcifn; 595event error.io.pciex.source-nf-ecrcreq-u@pciexfn/pcibus/pcidev/pcifn; 596event error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn; 597event error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 598event error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn; 599event error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn; 600event error.io.pciex.source-f-ecrccomp-u@pcibus/pcidev/pcifn; 601event error.io.pciex.source-nf-ecrccomp-u@pcibus/pcidev/pcifn; 602event error.io.pciex.source-f-ecrccomp-u@pciexfn/pcibus/pcidev/pcifn; 603event error.io.pciex.source-nf-ecrccomp-u@pciexfn/pcibus/pcidev/pcifn; 604event error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn; 605event error.io.pciex.poiscomp-u@pciexrc/pciexbus/pciexdev/pciexfn; 606event error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 607event error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn; 608event error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn; 609event error.io.pci.source-f-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 610event error.io.pci.source-nf-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 611event error.io.pci.source-f-dpdata-r-u@pcibus/pcidev/pcifn; 612event error.io.pci.source-nf-dpdata-r-u@pcibus/pcidev/pcifn; 613event error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 614event error.io.pciex.poisreq-u@pciexrc/pciexbus/pciexdev/pciexfn; 615event error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 616event error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn; 617event error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn; 618event error.io.pci.source-f-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 619event error.io.pci.source-nf-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 620event error.io.pci.source-f-dpdata-w-u@pcibus/pcidev/pcifn; 621event error.io.pci.source-nf-dpdata-w-u@pcibus/pcidev/pcifn; 622event error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 623event error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 624event error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn; 625event error.io.pciex.source-mtlp-u@pcibus/pcidev/pcifn; 626event error.io.pci.badreq-pw-u@pcibus/pcidev/pcifn; 627event error.io.pci.badreq-drw-u@pcibus/pcidev/pcifn; 628event error.io.pci.badreq-pw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 629event error.io.pci.badreq-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 630event error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn; 631event error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn; 632event error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn; 633event error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn; 634event error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 635event error.io.pciex.f-lf-poisreq-d@pciexbus/pciexdev/pciexfn; 636event error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn; 637event error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 638event error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn; 639event error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 640event error.io.pciex.f-lf-poiscomp-d@pciexbus/pciexdev/pciexfn; 641event error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn; 642event error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 643event error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn; 644event error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 645event error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 646event error.io.pciex.f-ecrcreq-d@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 647event error.io.pciex.f-ecrcreq-d@pcibus/pcidev/pcifn; 648event error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn; 649event error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 650event error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 651event error.io.pciex.nf-ecrcreq-d@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 652event error.io.pciex.nf-ecrcreq-d@pcibus/pcidev/pcifn; 653event error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn; 654event error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 655event error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 656event error.io.pciex.f-ecrccomp-d@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 657event error.io.pciex.f-ecrccomp-d@pcibus/pcidev/pcifn; 658event error.io.pciex.f-lf-ecrccomp-d@pciexbus/pciexdev/pciexfn; 659event error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn; 660event error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 661event error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 662event error.io.pciex.nf-ecrccomp-d@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 663event error.io.pciex.nf-ecrccomp-d@pcibus/pcidev/pcifn; 664event error.io.pciex.f-lf-poisreq-u@pciexbus/pciexdev/pciexfn; 665event error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn; 666event error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn; 667event error.io.pciex.fatal-u@pciexrc/pciexbus/pciexdev/pciexfn; 668event error.io.pciex.nonfatal-u@pciexrc/pciexbus/pciexdev/pciexfn; 669event error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 670event error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 671event error.io.service.restored@pcibus/pcidev/pcifn; 672 673event ereport.io.pci.ma@pciexbus/pciexdev/pciexfn{within(5s)}; 674event ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn{within(5s)}; 675event ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn{within(5s)}; 676event ereport.io.pci.rta@pciexbus/pciexdev/pciexfn{within(5s)}; 677event ereport.io.pci.sta@pciexbus/pciexdev/pciexfn{within(5s)}; 678event ereport.io.service.lost@pcibus/pcidev/pcifn{within(5s)}; 679event ereport.io.service.degraded@pcibus/pcidev/pcifn{within(5s)}; 680event ereport.io.service.unaffected@pcibus/pcidev/pcifn{within(5s)}; 681event ereport.io.pciex.dl.dllp@pciexbus/pciexdev/pciexfn{within(5s)}; 682event ereport.io.pciex.dl.btlp@pciexbus/pciexdev/pciexfn{within(5s)}; 683event ereport.io.pciex.dl.bdllp@pciexbus/pciexdev/pciexfn{within(5s)}; 684event ereport.io.pciex.dl.rto@pciexbus/pciexdev/pciexfn{within(5s)}; 685event ereport.io.pciex.dl.rnr@pciexbus/pciexdev/pciexfn{within(5s)}; 686event ereport.io.pciex.pl.re@pciexbus/pciexdev/pciexfn{within(5s)}; 687event ereport.io.pciex.pl.te@pciexbus/pciexdev/pciexfn{within(5s)}; 688event ereport.io.pciex.tl.fcp@pciexbus/pciexdev/pciexfn{within(5s)}; 689event ereport.io.pciex.tl.rof@pciexbus/pciexdev/pciexfn{within(5s)}; 690event ereport.io.pciex.tl.mtlp@pciexbus/pciexdev/pciexfn{within(5s)}; 691event ereport.io.pciex.tl.ur@pciexfn{within(5s)}; 692event ereport.io.pciex.tl.ca@pciexfn{within(5s)}; 693event ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn{within(5s)}; 694event ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn{within(5s)}; 695event ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn{within(5s)}; 696event ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn{within(5s)}; 697event ereport.io.pciex.tl.uc@pciexbus/pciexdev/pciexfn{within(5s)}; 698event ereport.io.pciex.tl.cto@pciexbus/pciexdev/pciexfn{within(5s)}; 699event ereport.io.pciex.dl.dllp@pciexrc{within(5s)}; 700event ereport.io.pciex.dl.btlp@pciexrc{within(5s)}; 701event ereport.io.pciex.dl.bdllp@pciexrc{within(5s)}; 702event ereport.io.pciex.dl.rto@pciexrc{within(5s)}; 703event ereport.io.pciex.dl.rnr@pciexrc{within(5s)}; 704event ereport.io.pciex.pl.re@pciexrc{within(5s)}; 705event ereport.io.pciex.pl.te@pciexrc{within(5s)}; 706event ereport.io.pciex.tl.fcp@pciexrc{within(5s)}; 707event ereport.io.pciex.tl.rof@pciexrc{within(5s)}; 708event ereport.io.pciex.tl.mtlp@pciexrc{within(5s)}; 709event ereport.io.pciex.tl.ur@pciexrc{within(5s)}; 710event ereport.io.pciex.tl.ca@pciexrc{within(5s)}; 711event ereport.io.pciex.tl.ptlp@pciexrc{within(5s)}; 712event ereport.io.pciex.tl.ecrc@pciexrc{within(5s)}; 713event ereport.io.pciex.tl.cto@pciexrc{within(5s)}; 714event ereport.io.pci.sec-ma@pciexrc{within(5s)}; 715event ereport.io.pci.sec-mdpe@pciexrc{within(5s)}; 716event ereport.io.pci.sec-dpe@pciexrc{within(5s)}; 717event ereport.io.pci.sec-rta@pciexrc{within(5s)}; 718event ereport.io.pci.sec-sta@pciexrc{within(5s)}; 719event ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn{within(5s)}; 720event ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn{within(5s)}; 721event ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn{within(5s)}; 722event ereport.io.pci.sserr@pciexbus/pciexdev/pciexfn{within(5s)}; 723event ereport.io.pci.sec-rserr@pciexrc{within(5s)}; 724event ereport.io.pciex.rc.fe-msg@pciexrc{within(5s)}; 725event ereport.io.pciex.rc.nfe-msg@pciexrc{within(5s)}; 726event ereport.io.pciex.bdg.sec-interr@pciexbus/pciexdev/pciexfn{within(5s)}; 727event ereport.io.pciex.bdg.sec-ude@pciexbus/pciexdev/pciexfn{within(5s)}; 728 729/* 730 * handling of fatal and nonfatal error messages propagated up to root complex 731 * 732 * Use these for errors reported by root-complex on behalf of another device. 733 * Can use source-id payload to identify where the message came from. 734 */ 735prop error.io.pciex.fatal@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 736 ereport.io.pciex.rc.fe-msg@pciexrc<> { 737 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 738 739prop error.io.pciex.fatal@pciexbus/pciexdev/pciexfn (1)-> 740 error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn; 741 742prop error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn (0)-> 743 ereport.io.pci.sserr@pciexbus/pciexdev/pciexfn; 744 745prop error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (0)-> 746 error.io.pciex.fatal-u@pciexbus/pciexdev/pciexfn, 747 ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn; 748 749prop error.io.pciex.fatal-u@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 750 ereport.io.pci.sec-rserr@pciexrc; 751 752prop error.io.pciex.nonfatal@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 753 ereport.io.pciex.rc.nfe-msg@pciexrc<> { 754 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 755 756prop error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn (1)-> 757 error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn; 758 759prop error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn (0)-> 760 ereport.io.pci.sserr@pciexbus/pciexdev/pciexfn; 761 762prop error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (0)-> 763 error.io.pciex.nonfatal-u@pciexbus/pciexdev/pciexfn, 764 ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn; 765 766prop error.io.pciex.nonfatal-u@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 767 ereport.io.pci.sec-rserr@pciexrc; 768 769/* 770 * link-level errors - could generate ereports at either end of link 771 * 772 * can use may propagations here as these ereports are only seen for these 773 * faults. 774 */ 775prop error.io.pciex.corrlink@pciexbus (0)-> 776 ereport.io.pciex.dl.btlp@pciexbus/pciexdev/pciexfn 777 { IS_SWU || IS_LEAF || IS_BDG }, 778 ereport.io.pciex.dl.bdllp@pciexbus/pciexdev/pciexfn 779 { IS_SWU || IS_LEAF || IS_BDG }, 780 ereport.io.pciex.dl.rto@pciexbus/pciexdev/pciexfn 781 { IS_SWU || IS_LEAF || IS_BDG }, 782 ereport.io.pciex.dl.rnr@pciexbus/pciexdev/pciexfn 783 { IS_SWU || IS_LEAF || IS_BDG }, 784 ereport.io.pciex.pl.re@pciexbus/pciexdev/pciexfn 785 { IS_SWU || IS_LEAF || IS_BDG }; 786 787prop error.io.pciex.corrlink@pciexbus/pciexdev/pciexfn/pciexbus (0)-> 788 ereport.io.pciex.dl.btlp@pciexbus/pciexdev/pciexfn { IS_SWD }, 789 ereport.io.pciex.dl.bdllp@pciexbus/pciexdev/pciexfn { IS_SWD }, 790 ereport.io.pciex.dl.rto@pciexbus/pciexdev/pciexfn { IS_SWD }, 791 ereport.io.pciex.dl.rnr@pciexbus/pciexdev/pciexfn { IS_SWD }, 792 ereport.io.pciex.pl.re@pciexbus/pciexdev/pciexfn { IS_SWD }; 793 794prop error.io.pciex.corrlink@pciexrc/pciexbus (0)-> 795 ereport.io.pciex.dl.btlp@pciexrc, 796 ereport.io.pciex.dl.bdllp@pciexrc, 797 ereport.io.pciex.dl.rto@pciexrc, 798 ereport.io.pciex.dl.rnr@pciexrc, 799 ereport.io.pciex.pl.re@pciexrc; 800 801prop error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn (0)-> 802 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn 803 { IS_SWU || IS_LEAF || IS_BDG }; 804 805prop error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn (0)-> 806 ereport.io.pciex.dl.dllp@pciexbus/pciexdev/pciexfn 807 { IS_SWU || IS_LEAF || IS_BDG }, 808 ereport.io.pciex.tl.fcp@pciexbus/pciexdev/pciexfn 809 { IS_SWU || IS_LEAF || IS_BDG }, 810 ereport.io.pciex.tl.rof@pciexbus/pciexdev/pciexfn 811 { IS_SWU || IS_LEAF || IS_BDG }; 812 813prop error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn 814(0)-> 815 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn { IS_SWD }; 816 817prop error.io.pciex.fatlink@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (0)-> 818 ereport.io.pciex.dl.dllp@pciexbus/pciexdev/pciexfn { IS_SWD }, 819 ereport.io.pciex.pl.te@pciexbus/pciexdev/pciexfn { IS_SWD }, 820 ereport.io.pciex.tl.fcp@pciexbus/pciexdev/pciexfn { IS_SWD }, 821 ereport.io.pciex.tl.rof@pciexbus/pciexdev/pciexfn { IS_SWD }; 822 823prop error.io.pciex.fatlink@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 824 ereport.io.pciex.dl.dllp@pciexrc, 825 ereport.io.pciex.pl.te@pciexrc, 826 ereport.io.pciex.tl.fcp@pciexrc, 827 ereport.io.pciex.tl.rof@pciexrc; 828 829/* 830 * bridge internal error 831 */ 832prop error.io.pciex.sec-interr@pciexbus/pciexdev/pciexfn (2) -> 833 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn { IS_BDG }, 834 ereport.io.pciex.bdg.sec-interr@pciexbus/pciexdev/pciexfn { IS_BDG }; 835 836/* 837 * downstream poisoned request 838 * 839 * - poisreq-d cascades down to the leaf device/bridge and any switch ports 840 * on route must raise a ptlp ereport while any switch ports forwarding 841 * the poisoned request must raise sec-mdpe ereports. The originator of the 842 * poisoning (be it root complex or downstream port of a switch) also raises 843 * sec-mdpe. A hardened leaf driver will also raise ptlp. A target-mdpe 844 * cascades down to the leaf (which may be a pci device beyond the bridge). 845 * 846 * Additionally, the leaf/bridge may treat the request as a ur, which the 847 * root complex will see and report an ma. Use flt-ur-u to represent this. 848 * Note that sw-poisreq-d is to handle the case where the switch is actually 849 * the target of the packet (config request etc). 850 * 851 * The fault can always be recognized and the source identified using the ptlp 852 * and sec-mdpe ereports. 853 */ 854prop error.io.pciex.flt-f-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 855 error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn; 856 857prop error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 858 error.io.pciex.sw-poisreq-d@pciexbus/pciexdev/pciexfn, 859 error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 860 861prop error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 862 error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn; 863 864prop error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 865 error.io.pciex.f-lf-poisreq-d@pciexbus/pciexdev/pciexfn { IS_LEAF }; 866 867prop error.io.pciex.f-lf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 868 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn; 869 870prop error.io.pciex.f-lf-poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 871 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn, 872 ereport.io.service.lost@pciexbus/pciexdev/pciexfn, 873 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn; 874 875prop error.io.pciex.flt-nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 876 error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn; 877 878prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 879 error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 880 881prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 882 error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn; 883 884prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 885 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_LEAF }; 886 887prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 888 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_LEAF }; 889 890prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 891 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 892 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 893 894prop error.io.service.restored@pciexbus/pciexdev/pciexfn (1)-> 895 ereport.io.service.lost@pciexbus/pciexdev/pciexfn, 896 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn; 897 898prop error.io.service.restored@pciexbus/pciexdev/pciexfn (1)-> 899 ereport.io.service.restored@pciexbus/pciexdev/pciexfn; 900 901prop error.io.pciex.poisreq-d@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 902 ereport.io.pci.sec-mdpe@pciexrc; 903 904prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 905 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }; 906 907prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (0)-> 908 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWU }; 909 910prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 911 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 912 913prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn (2)-> 914 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_SWU || IS_BDG }, 915 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWU || IS_BDG }; 916 917prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 918 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 919 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWD }; 920 921prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 922 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn { IS_LEAF }; 923 924prop error.io.pciex.poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 925 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 926 927prop error.io.pciex.sw-poisreq-d@pciexbus/pciexdev/pciexfn (0)-> 928 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn { IS_SWU }; 929 930prop error.io.pciex.sw-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 931 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn { IS_SWU }; 932 933/* 934 * downstream poisoned completion 935 * 936 * - poiscomp-d cascades down to the leaf device/bridge and any switch ports on 937 * route must raise ptlp and mdpe ereports. A hardened leaf driver will also 938 * raise pltp and mdpe. For non-hardened leaf devices, no ptlp/mdpe may be 939 * reported, and though we should still see a nonfatal error reported from 940 * the root complex identifying the leaf device, we won't actually be informed 941 * that the error was an ptlp. 942 */ 943prop error.io.pciex.flt-f-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 944 error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn; 945 946prop error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 947 error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 948 949prop error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 950 error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn; 951 952prop error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn (0)-> 953 error.io.pciex.f-lf-poiscomp-d@pciexbus/pciexdev/pciexfn { IS_LEAF }; 954 955prop error.io.pciex.f-lf-poiscomp-d@pciexbus/pciexdev/pciexfn (2)-> 956 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn, 957 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn; 958 959prop error.io.pciex.f-lf-poiscomp-d@pciexbus/pciexdev/pciexfn (0)-> 960 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn, 961 ereport.io.service.lost@pciexbus/pciexdev/pciexfn, 962 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn; 963 964prop error.io.pciex.flt-nf-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 965 error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn; 966 967prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 968 error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 969 970prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 971 error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn; 972 973prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (2)-> 974 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_LEAF }, 975 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_LEAF }; 976 977prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (0)-> 978 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_LEAF }; 979 980prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 981 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 982 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 983 984prop error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 985 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 986 987prop error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn (3)-> 988 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_BDG }, 989 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_BDG }, 990 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_BDG }; 991 992prop error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn (2)-> 993 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 994 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWU }; 995 996prop error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 997 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 998 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWU }; 999 1000prop error.io.pciex.poiscomp-d@pciexbus/pciexdev/pciexfn (0)-> 1001 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1002 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1003 ereport.io.pci.dpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1004 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWD }; 1005 1006/* 1007 * downstream request with ecrc error. 1008 * 1009 * - ecrcreq-d cascades down to the leaf device/bridge and any switches on 1010 * route can optionally raise an ecrc ereport. A hardened leaf driver may also 1011 * raise ecrc. For non-hardened leaf devices, no ecrc may be reported, and 1012 * though we should still see a nonfatal error reported from the root complex 1013 * identifying the leaf device, we won't actually be informed that the error 1014 * was an ecrc. 1015 * 1016 * Additionally, as the leaf/bridge will just throw away the packet, we should 1017 * eventually get a cto at the root complex - so use an flt-nr-u at the pciex 1018 * leaf or bridge to get the appropriate behaviour. For the case where the leaf 1019 * driver wasn't hardened we may be able to identify the leaf device (and 1020 * therefore any intermediate switches which might have caused the problem) 1021 * either via a target-ma ereport if available or via the nonfatal error 1022 * reported from the root complex identifying the leaf device. The combination 1023 * of a nonfatal error reported from the root complex and a cto from the root 1024 * complex is sufficient to positively identify this case. 1025 * 1026 * Note that sw-ecrcreq-d is to handle the case where the switch is actually 1027 * the target of the packet (config request etc). 1028 */ 1029prop error.io.pciex.flt-f-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1030 error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn; 1031 1032prop error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1033 error.io.pciex.sw-ecrcreq-d@pciexbus/pciexdev/pciexfn, 1034 error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1035 1036prop error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1037 error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 1038 1039prop error.io.pciex.f-ecrcreq-d@pcibus/pcidev/pcifn (1)-> 1040 error.io.pciex.f-ecrcreq-d@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 1041 1042prop error.io.pciex.f-ecrcreq-d@pcibus/pcidev/pcifn (0)-> 1043 ereport.io.service.lost@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1044 ereport.io.service.degraded@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1045 1046prop error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1047 error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn; 1048 1049prop error.io.pciex.f-ecrcreq-d@pciexbus/pciexdev/pciexfn (0)-> 1050 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1051 ereport.io.service.lost@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1052 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1053 1054prop error.io.pciex.flt-nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1055 error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn; 1056 1057prop error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1058 error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1059 1060prop error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1061 error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 1062 1063prop error.io.pciex.nf-ecrcreq-d@pcibus/pcidev/pcifn (1)-> 1064 error.io.pciex.nf-ecrcreq-d@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 1065 1066prop error.io.pciex.nf-ecrcreq-d@pcibus/pcidev/pcifn (1)-> 1067 ereport.io.service.unaffected@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1068 error.io.service.restored@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1069 1070prop error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1071 error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn; 1072 1073prop error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1074 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1075 1076prop error.io.pciex.nf-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1077 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1078 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1079 1080prop error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1081 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1082 1083prop error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1084 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1085 1086prop error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1087 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_BDG }; 1088 1089prop error.io.pciex.ecrcreq-d@pciexbus/pciexdev/pciexfn (0)-> 1090 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_SWU || IS_SWD }; 1091 1092prop error.io.pciex.sw-ecrcreq-d@pciexbus/pciexdev/pciexfn (1)-> 1093 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn { IS_SWU }; 1094 1095/* 1096 * downstream completion with ecrc error. 1097 * 1098 * - ecrccomp-d cascades down to the leaf device/bridge and any switches on 1099 * route can optionally raise an ecrc ereport. A hardened leaf driver may 1100 * also raise ecrc. For non-hardened leaf devices, no ecrc may be reported, 1101 * and though we should still see a nonfatal error reported from the root 1102 * complex identifying the leaf device, we won't actually be informed that 1103 * the error was an ecrc. 1104 * 1105 * Additionally, as the leaf/bridge will just throw away the packet, we should 1106 * eventually get a cto. Note the leaf ereports are optional (ie in case driver 1107 * not hardened) but if we get both ecrc and cto we need to distinguish from 1108 * cto only which would be an nr-d. 1109 */ 1110prop error.io.pciex.flt-f-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1111 error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn; 1112 1113prop error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1114 error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1115 1116prop error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1117 error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 1118 1119prop error.io.pciex.f-ecrccomp-d@pcibus/pcidev/pcifn (1)-> 1120 error.io.pciex.f-ecrccomp-d@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 1121 1122prop error.io.pciex.f-ecrccomp-d@pcibus/pcidev/pcifn (0)-> 1123 ereport.io.service.lost@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1124 ereport.io.service.degraded@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1125 1126prop error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1127 error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn; 1128 1129prop error.io.pciex.f-ecrccomp-d@pciexbus/pciexdev/pciexfn (0)-> 1130 error.io.pciex.f-lf-ecrccomp-d@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1131 ereport.io.service.lost@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1132 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1133 1134prop error.io.pciex.f-lf-ecrccomp-d@pciexbus/pciexdev/pciexfn (2)-> 1135 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn, 1136 ereport.io.pciex.tl.cto@pciexbus/pciexdev/pciexfn; 1137 1138prop error.io.pciex.f-lf-ecrccomp-d@pciexbus/pciexdev/pciexfn (0)-> 1139 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn; 1140 1141prop error.io.pciex.flt-nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1142 error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn; 1143 1144prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1145 error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1146 1147prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1148 error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 1149 1150prop error.io.pciex.nf-ecrccomp-d@pcibus/pcidev/pcifn (1)-> 1151 error.io.pciex.nf-ecrccomp-d@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 1152 1153prop error.io.pciex.nf-ecrccomp-d@pcibus/pcidev/pcifn (1)-> 1154 ereport.io.service.unaffected@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1155 error.io.service.restored@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1156 1157prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1158 error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn; 1159 1160prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (2)-> 1161 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1162 ereport.io.pciex.tl.cto@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1163 1164prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (0)-> 1165 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1166 1167prop error.io.pciex.nf-ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1168 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1169 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1170 1171prop error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn (1)-> 1172 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1173 1174prop error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn (2)-> 1175 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_BDG }, 1176 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn { IS_BDG }; 1177 1178prop error.io.pciex.ecrccomp-d@pciexbus/pciexdev/pciexfn (0)-> 1179 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_SWU || IS_SWD }; 1180 1181/* 1182 * upstream poisoned request 1183 * 1184 * - flt-poisreq-u is just on the pciex node which generated the fault (if the 1185 * fault was generated by a pciex node and not a child pci node). 1186 * - source-poisreq-u cascades down to at least one leaf device (pciex or pci), 1187 * whose bdf must match the source-id in the payload of the ereport generated 1188 * from the root complex. Note that pci.esc rules have to generate the 1189 * source-poisreq-u so we limit it to the faulty node or nodes underneath the 1190 * faulty node. 1191 * - poisreq-u cascades up to the root complex and any switch ports on 1192 * route will raise a ptlp ereport, while any upstream devices generating 1193 * or forwarding the poisoned packed will raise an mdpe ereport. The root 1194 * complex should also report a ptlp. 1195 * 1196 * Additionally, as the root complex may treat the request as a ur, which the 1197 * leaf/bridge will see (and if hardened report) as an ma (including sending a 1198 * ta onto the child pci bus if this was a delayed write). 1199 * 1200 * We can always recognize what sort of fault this is from the ptlp (with no 1201 * sec-mdpe) at the root complex. Recognizing which originating devices may be 1202 * implicated can be done using the mdpe ereport (for a hardened leaf driver), 1203 * or for a non-hardened leaf driver by using the source-id payload in the ptlp 1204 * ereport to identify the originator of the request. The ptlp/mdpe ereports 1205 * at the intervening switches will narrow the fault down to a single suspect. 1206 */ 1207 1208prop error.io.pciex.flt-f-poisreq-u@pciexbus/pciexdev/pciexfn (2)-> 1209 error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn, 1210 error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 1211 1212prop error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1213 error.io.pciex.f-lf-poisreq-u@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1214 1215prop error.io.pciex.f-lf-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1216 ereport.io.service.lost@pciexbus/pciexdev/pciexfn, 1217 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn; 1218 1219prop error.io.pciex.f-lf-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1220 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn; 1221 1222prop error.io.pciex.source-f-poisreq-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 1223 ereport.io.pciex.tl.ptlp@pciexrc<> { 1224 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }, 1225 ereport.io.pciex.tl.ur@pciexrc<> { 1226 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1227 1228prop error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1229 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_BDG }; 1230 1231prop error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1232 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 1233 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1234 1235prop error.io.pci.source-f-dpdata-w-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1236 ereport.io.pciex.tl.ptlp@pciexrc<> { 1237 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }, 1238 ereport.io.pciex.tl.ur@pciexrc<> { 1239 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1240 1241prop error.io.pci.source-f-dpdata-w-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1242 ereport.io.pciex.bdg.sec-ude@pciexbus/pciexdev/pciexfn { IS_BDG && 1243 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 1244 1245prop error.io.pciex.flt-nf-poisreq-u@pciexbus/pciexdev/pciexfn (2)-> 1246 error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn, 1247 error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 1248 1249prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 1250 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1251 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1252 1253prop error.io.pciex.source-nf-poisreq-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 1254 ereport.io.pciex.tl.ptlp@pciexrc<> { 1255 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }, 1256 ereport.io.pciex.tl.ur@pciexrc<> { 1257 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1258 1259prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1260 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1261 1262prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1263 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_BDG }; 1264 1265prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1266 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 1267 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1268 1269prop error.io.pci.source-nf-dpdata-w-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1270 ereport.io.pciex.tl.ptlp@pciexrc<> { 1271 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }, 1272 ereport.io.pciex.tl.ur@pciexrc<> { 1273 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1274 1275prop error.io.pci.source-nf-dpdata-w-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1276 ereport.io.pciex.bdg.sec-ude@pciexbus/pciexdev/pciexfn { IS_BDG && 1277 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 1278 1279prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1280 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_BDG }; 1281 1282prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1283 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 1284 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1285 1286prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1287 error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 1288 1289prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (2)-> 1290 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1291 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWD }; 1292 1293prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1294 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 1295 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWU }; 1296 1297prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 1298 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_BDG || IS_SWU }; 1299 1300prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1301 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }; 1302 1303prop error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn (0)-> 1304 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1305 1306prop error.io.pciex.poisreq-u@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1307 ereport.io.pci.sec-dpe@pciexrc; 1308 1309/* 1310 * upstream poisoned completion 1311 * 1312 * - flt-poiscomp-u is just on the pciex node which generated the fault (if the 1313 * fault was generated by a pciex node and not a child pci node). There will 1314 * be a target-mdpe downstream from here. 1315 * - source-poiscomp-u cascades down to at least one leaf device (pciex or pci), 1316 * whose bdf must match the source-id in the payload of the ereport generated 1317 * from the root complex. Note that pci.esc rules have to generate the 1318 * source-poiscomp-u so we limit it to the faulty node or nodes underneath 1319 * the faulty node. 1320 * - poiscomp-u cascades up to the root complex and any switches on 1321 * route will raise ptlp and sec-mdpe ereports. The root complex will also 1322 * raise a sec-mdpe and ptlp. 1323 * 1324 * We can always recognize what sort of fault this is from the ptlp/sec-mdpe at 1325 * the root complex. Recognizing which originating devices may be implicated 1326 * can be done using the source-id payload in the ptlp ereport to identify the 1327 * originator of the completion. The ptlp/sec-mdpe ereports at the intervening 1328 * switches will narrow the fault down to a single suspect. 1329 */ 1330prop error.io.pciex.flt-f-poiscomp-u@pciexbus/pciexdev/pciexfn (3)-> 1331 error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn, 1332 error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn, 1333 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn; 1334 1335prop error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn (0)-> 1336 ereport.io.service.lost@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1337 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1338 1339prop error.io.pciex.source-f-poiscomp-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 1340 ereport.io.pciex.tl.ptlp@pciexrc<> { 1341 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1342 1343prop error.io.pci.source-f-dpdata-r-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1344 ereport.io.pciex.tl.ptlp@pciexrc<> { 1345 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1346 1347prop error.io.pci.source-f-dpdata-r-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1348 ereport.io.pciex.bdg.sec-ude@pciexbus/pciexdev/pciexfn { IS_BDG && 1349 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 1350 1351prop error.io.pciex.flt-nf-poiscomp-u@pciexbus/pciexdev/pciexfn (3)-> 1352 error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn, 1353 error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn, 1354 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn; 1355 1356prop error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 1357 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1358 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1359 1360prop error.io.pciex.source-nf-poiscomp-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 1361 ereport.io.pciex.tl.ptlp@pciexrc<> { 1362 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1363 1364prop error.io.pci.source-nf-dpdata-r-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1365 ereport.io.pciex.tl.ptlp@pciexrc<> { 1366 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1367 1368prop error.io.pci.source-nf-dpdata-r-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1369 ereport.io.pciex.bdg.sec-ude@pciexbus/pciexdev/pciexfn { IS_BDG && 1370 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 1371 1372prop error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1373 error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn; 1374 1375prop error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn (2)-> 1376 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1377 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWD }; 1378 1379prop error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 1380 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }, 1381 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_SWD }; 1382 1383prop error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn (0)-> 1384 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 1385 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 1386 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn { IS_SWU }, 1387 ereport.io.pciex.tl.ptlp@pciexbus/pciexdev/pciexfn { IS_SWU }; 1388 1389prop error.io.pciex.poiscomp-u@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1390 ereport.io.pci.sec-dpe@pciexrc; 1391 1392prop error.io.pciex.poiscomp-u@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 1393 ereport.io.pci.sec-mdpe@pciexrc; 1394 1395/* 1396 * upstream request with ecrc error. 1397 * 1398 * - flt-ecrcreq-u is just on the pciex node which generated the fault. 1399 * - source-ecrcreq-u cascades down to at least one leaf device (pciex or pci), 1400 * whose bdf must match the source-id in the payload of the ereport generated 1401 * from the root complex. 1402 * - ecrcreq-u cascades up to the root complex which must report it with an ecrc 1403 * ereport and any switches on route can optionally raise an ecrc ereport. 1404 * 1405 * Additionally, as the root complex will just throw away the packet, we'll 1406 * eventually get a cto - so use an nr-d at the pciex leaf or bridge to get 1407 * the appropriate behaviour. 1408 * 1409 * We can always recognize what sort of fault this is from the ecrc (with no 1410 * cto) at the root complex. Recognizing which leaf device may be implicated 1411 * can be done from the cto ereport (for a hardened leaf driver) or for a 1412 * non-hardened leaf using the source-id payload of the ecrc. 1413 */ 1414prop error.io.pciex.flt-f-ecrcreq-u@pciexbus/pciexdev/pciexfn (2)-> 1415 error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn, 1416 error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn; 1417 1418prop error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn (0)-> 1419 ereport.io.service.lost@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1420 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1421 1422prop error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 1423 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1424 1425prop error.io.pciex.source-f-ecrcreq-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (1)-> 1426 ereport.io.pciex.tl.ecrc@pciexrc<> { 1427 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1428 1429prop error.io.pciex.source-f-ecrcreq-u@pcibus/pcidev/pcifn (0)-> 1430 ereport.io.service.lost@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1431 ereport.io.service.degraded@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1432 1433prop error.io.pciex.source-f-ecrcreq-u@pciexfn/pcibus[b]/pcidev[d]/pcifn[f] (1)-> 1434 ereport.io.pciex.tl.ecrc@pciexrc<> { BDF_IS_PCI_IMM_LEAF && 1435 SOURCE_ID_MATCHES_BDF_OR_B && IMM_PCIBDF_IS_UNDER_RC }; 1436 1437prop error.io.pciex.source-f-ecrcreq-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1438 ereport.io.pciex.tl.ecrc@pciexrc<> { 1439 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1440 1441prop error.io.pciex.flt-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn (2)-> 1442 error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn, 1443 error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn; 1444 1445prop error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 1446 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1447 1448prop error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 1449 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1450 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1451 1452prop error.io.pciex.source-nf-ecrcreq-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (1)-> 1453 ereport.io.pciex.tl.ecrc@pciexrc<> { 1454 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1455 1456prop error.io.pciex.source-nf-ecrcreq-u@pcibus/pcidev/pcifn (1)-> 1457 ereport.io.service.unaffected@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1458 error.io.service.restored@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1459 1460prop error.io.pciex.source-nf-ecrcreq-u@pciexfn/pcibus[b]/pcidev[d]/pcifn[f] (1)-> 1461 ereport.io.pciex.tl.ecrc@pciexrc<> { BDF_IS_PCI_IMM_LEAF && 1462 SOURCE_ID_MATCHES_BDF_OR_B && IMM_PCIBDF_IS_UNDER_RC }; 1463 1464prop error.io.pciex.source-nf-ecrcreq-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1465 ereport.io.pciex.tl.ecrc@pciexrc<> { 1466 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1467 1468prop error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1469 error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn; 1470 1471prop error.io.pciex.ecrcreq-u@pciexbus/pciexdev/pciexfn (0)-> 1472 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_SWD || IS_SWU }; 1473 1474/* 1475 * upstream completion with ecrc error. 1476 * 1477 * - flt-ecrccomp-u is just on the pciex node which generated the fault. 1478 * - source-ecrccomp-u cascades down to at least one leaf device (pciex or pci), 1479 * whose bdf must match the source-id in the payload of the ereport generated 1480 * from the root complex. 1481 * - ecrccomp-u cascades up to the root complex, which should report it with an 1482 * ecrc ereport and any switches on route can optionally raise an ecrc 1483 * ereport. 1484 * 1485 * Additionally, as the root complex will just throw away the packet, we'll 1486 * eventually get a cto - so use an flt-nr-u at the pciex leaf or bridge to get 1487 * the appropriate behaviour. 1488 * 1489 * We can always recognize what sort of fault this from the ecrc/cto from the 1490 * root complex. Recognizing which leaf device may be implicated can be done 1491 * using either the source-id payload of the ecrc or the target-ma ereport if 1492 * available. 1493 */ 1494prop error.io.pciex.flt-f-ecrccomp-u@pciexbus/pciexdev/pciexfn (2)-> 1495 error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn, 1496 error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn; 1497 1498prop error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn (0)-> 1499 ereport.io.service.lost@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1500 ereport.io.service.degraded@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1501 1502prop error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 1503 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1504 1505prop error.io.pciex.source-f-ecrccomp-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (1)-> 1506 ereport.io.pciex.tl.ecrc@pciexrc<> { 1507 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1508 1509prop error.io.pciex.source-f-ecrccomp-u@pcibus/pcidev/pcifn (0)-> 1510 ereport.io.service.lost@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1511 ereport.io.service.degraded@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1512 1513prop error.io.pciex.source-f-ecrccomp-u@pciexfn/pcibus[b]/pcidev[d]/pcifn[f] (1)-> 1514 ereport.io.pciex.tl.ecrc@pciexrc<> { BDF_IS_PCI_IMM_LEAF && 1515 SOURCE_ID_MATCHES_BDF_OR_B && IMM_PCIBDF_IS_UNDER_RC }; 1516 1517prop error.io.pciex.source-f-ecrccomp-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1518 ereport.io.pciex.tl.ecrc@pciexrc<> { 1519 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1520 1521prop error.io.pciex.flt-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn (2)-> 1522 error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn, 1523 error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn; 1524 1525prop error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 1526 error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1527 1528prop error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 1529 ereport.io.service.unaffected@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1530 error.io.service.restored@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1531 1532prop error.io.pciex.source-nf-ecrccomp-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (1)-> 1533 ereport.io.pciex.tl.ecrc@pciexrc<> { 1534 SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1535 1536prop error.io.pciex.source-nf-ecrccomp-u@pcibus/pcidev/pcifn (1)-> 1537 ereport.io.service.unaffected@pcibus/pcidev/pcifn { IS_PCI_LEAF }, 1538 error.io.service.restored@pcibus/pcidev/pcifn { IS_PCI_LEAF }; 1539 1540prop error.io.pciex.source-nf-ecrccomp-u@pciexfn/pcibus[b]/pcidev[d]/pcifn[f] (1)-> 1541 ereport.io.pciex.tl.ecrc@pciexrc<> { BDF_IS_PCI_IMM_LEAF && 1542 SOURCE_ID_MATCHES_BDF_OR_B && IMM_PCIBDF_IS_UNDER_RC }; 1543 1544prop error.io.pciex.source-nf-ecrccomp-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1545 ereport.io.pciex.tl.ecrc@pciexrc<> { 1546 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1547 1548prop error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1549 error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn; 1550 1551prop error.io.pciex.ecrccomp-u@pciexbus/pciexdev/pciexfn (0)-> 1552 ereport.io.pciex.tl.ecrc@pciexbus/pciexdev/pciexfn { IS_SWD || IS_SWU }; 1553 1554/* 1555 * no response to downstream requester 1556 * 1557 * - nr-d will effectively cascade downstream to the requester. The fault here 1558 * is always at the root complex. For a hardened leaf device driver, we will 1559 * always be able to recognize this as the requester will report this as a 1560 * cto. For non-hardened leaf devices, no cto will be reported, and though we 1561 * should still see a nonfatal error reported from the root complex 1562 * identifying the leaf device, we won't actually be informed that the error 1563 * was a cto. 1564 */ 1565prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (1)-> 1566 error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1567 1568prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (1)-> 1569 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1570 1571prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (1)-> 1572 ereport.io.pciex.tl.cto@pciexbus/pciexdev/pciexfn { IS_BDG }; 1573 1574prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (0)-> 1575 ereport.io.pciex.tl.cto@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1576 1577prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (0)-> 1578 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1579 1580/* 1581 * no response to upstream requester 1582 * 1583 * - flt-nr-u is just on the pciex node which generated the fault. 1584 * - nr-u will effectively cascade upstream to the root complex which will 1585 * report it as a cto. 1586 * 1587 * We have to use target-ma to informs us which device failed to respond. 1588 */ 1589prop error.io.pciex.flt-nr-u@pciexbus/pciexdev/pciexfn (2)-> 1590 error.io.pciex.nr-u@pciexbus/pciexdev/pciexfn, 1591 error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn; 1592 1593prop error.io.pciex.nr-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1594 error.io.pciex.nr-u@pciexbus/pciexdev/pciexfn; 1595 1596prop error.io.pciex.nr-u@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1597 ereport.io.pciex.tl.cto@pciexrc; 1598 1599prop error.io.pciex.nr-u@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 1600 ereport.io.pci.sec-ma@pciexrc; 1601 1602/* 1603 * downstream malformed tlp 1604 * 1605 * This will cascade downstream to the receiver which will report it as an mtlp. 1606 * For non-hardened leaf drivers, no mtlp will be reported, and though we should 1607 * still see a fatal error reported from the root complex identifying the leaf 1608 * device, we won't actually be informed that the error was a mtlp. 1609 * Note that sw-mtlp-d is to handle the case where the switch is actually 1610 * the target of the packet (config request etc). 1611 */ 1612prop error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn (1)-> 1613 error.io.pciex.sw-mtlp-d@pciexbus/pciexdev/pciexfn, 1614 error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1615 1616prop error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn (1)-> 1617 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1618 1619prop error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn (1)-> 1620 ereport.io.pciex.tl.mtlp@pciexbus/pciexdev/pciexfn { IS_BDG }; 1621 1622prop error.io.pciex.mtlp-d@pciexbus/pciexdev/pciexfn (0)-> 1623 ereport.io.pciex.tl.mtlp@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1624 1625prop error.io.pciex.sw-mtlp-d@pciexbus/pciexdev/pciexfn (2)-> 1626 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn { IS_SWU }, 1627 ereport.io.pciex.tl.mtlp@pciexbus/pciexdev/pciexfn { IS_SWU }; 1628 1629/* 1630 * upstream malformed tlp 1631 * 1632 * This will cascade upstream to the receiver which will report it as an mtlp. 1633 * The source-id payload could be a pciexpress leaf or a pci leaf behind a 1634 * bridge. Or it could be completely invalid - should we trust it? 1635 */ 1636prop error.io.pciex.mtlp-u@pciexbus/pciexdev/pciexfn (1)-> 1637 error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn; 1638 1639prop error.io.pciex.source-mtlp-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (1)-> 1640 ereport.io.pciex.tl.mtlp@pciexrc<> { 1641 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC }; 1642 1643prop error.io.pciex.source-mtlp-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1644 ereport.io.pciex.tl.mtlp@pciexrc<> { 1645 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1646 1647/* 1648 * downstream completer aborts 1649 * 1650 * This could be the fault of the root complex or a switch reporting an internal 1651 * error, or of the leaf device sending an invalid request (the latter is 1652 * handled by the badreq-u case below). 1653 * 1654 * This is reported by the completer or by an intervening downstream switch 1655 * port. The completer abort response propagates down to the initiator which 1656 * will set the legacy pci bit rta. 1657 * 1658 * The fault can always be recognized by the ca ereport from the root complex 1659 * or downstream switch port. The originator of the request can be recognized 1660 * by the rta for a hardened driver or by using the source-id payload of the 1661 * ca ereport for a non-hardened driver. 1662 * 1663 * Note that there is no ur-d (we assume that a ur reported by the root complex 1664 * is always due to a badreq-u - see below). 1665 */ 1666prop error.io.pciex.ca-d@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1667 ereport.io.pci.sec-sta@pciexrc; 1668 1669prop error.io.pciex.ca-d@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 1670 ereport.io.pciex.tl.ca@pciexrc; 1671 1672prop error.io.pciex.flt-ca-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (2)-> 1673 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 1674 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn; 1675 1676prop error.io.pciex.flt-ca-d@pciexbus/pciexdev/pciexfn (1)-> 1677 error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn; 1678 1679prop error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn (1)-> 1680 error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1681 1682prop error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn (1)-> 1683 ereport.io.pci.rta@pciexbus/pciexdev/pciexfn { IS_BDG }; 1684 1685prop error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn (0)-> 1686 ereport.io.pci.rta@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1687 1688/* 1689 * upstream unexpected requests 1690 * 1691 * This could be the fault of a device behind a PCI Express/PCI(X) bridge not 1692 * responding, or of the root complex sending an invalid request (the latter 1693 * case is handled by badreq-d below). 1694 * 1695 * This is reported as a ur by the completer, which sets the 1696 * appropriate error bit in the completion message to the initiator which will 1697 * set the legacy pci bit sec-ma. 1698 * 1699 * The fault can always be recognized from the sec-ma bit at the root complex. 1700 * 1701 * If the fault was with the root complex, then we don't care which leaf is 1702 * involved. 1703 * 1704 * If the fault originated from a pci device behind a PCI Express/PCI(X) bridge 1705 * we can identify the leaf device from the target-ma ereport if available or 1706 * from the source-id payload of the sec-rma ereport from the bridge. 1707 */ 1708prop error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn (1)-> 1709 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn 1710 { IS_SWU || IS_LEAF || IS_BDG }; 1711 1712prop error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn (0)-> 1713 ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn { IS_LEAF || IS_BDG }; 1714 1715prop error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn (1)-> 1716 ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn { IS_SWU }; 1717 1718prop error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn (2)-> 1719 error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn, 1720 error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn; 1721 1722prop error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1723 error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn; 1724 1725prop error.io.pciex.ur-u@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1726 ereport.io.pci.sec-ma@pciexrc; 1727 1728/* 1729 * upstream completer aborts 1730 * 1731 * This could be the fault of the leaf device/bridge/upstream switch port 1732 * reporting an internal error, or of the root complex sending an invalid 1733 * request (the latter case is handled by badreq-d below). 1734 * 1735 * This is reported as a ca by the completer. The completer sends the 1736 * appropriate error bits in the completion message to the initiator which will 1737 * set the legacy pci bit sec-rta. 1738 * 1739 * The fault can always be recognized from the sec-rta bit at the root complex. 1740 * 1741 * If the fault was with a PCI Express leaf with a hardened driver, then we 1742 * will identify the device from the ca ereport. 1743 * 1744 * If the fault was with a PCI Express leaf with a non-hardened driver, then we 1745 * can still identify the leaf device from the source-id payload of the nonfatal 1746 * message ereport from the root complex or from the target-rta ereport. 1747 * 1748 * If the fault originated from a PCI(X) device behind a PCI Express/PCI(X) 1749 * bridge, and it's driver is hardened, we can identify the device from the PCI 1750 * sta ereport or from the source-id payload of the sec-rta ereport from the 1751 * bridge. 1752 * 1753 * If the fault originated from a PCI(X) device behind a PCI Express/PCI(X) 1754 * bridge, and its driver is not hardened we can only identify the leaf device 1755 * from the target-rta ereport if available or from the source-id payload of 1756 * the sec-rta ereport from the bridge. 1757 */ 1758prop error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn (1)-> 1759 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn 1760 { IS_SWU || IS_LEAF || IS_BDG }; 1761 1762prop error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn (0)-> 1763 ereport.io.pci.sta@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1764 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1765 1766prop error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn (2)-> 1767 ereport.io.pci.sta@pciexbus/pciexdev/pciexfn { IS_SWU || IS_BDG }, 1768 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn { IS_SWU || IS_BDG }; 1769 1770prop error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn (2)-> 1771 error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn, 1772 error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn; 1773 1774prop error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1775 error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn; 1776 1777prop error.io.pciex.ca-u@pciexrc/pciexbus/pciexdev/pciexfn (1)-> 1778 ereport.io.pci.sec-rta@pciexrc; 1779 1780/* 1781 * upstream bad request 1782 * 1783 * When detecting bad data on a request the completer (or any switch on the 1784 * way to the completer) may report ur or ca. If the switch detects the problem 1785 * first then the request doesn't get forwarded on to the completer. 1786 * 1787 * These are reported as ur/ca ereports. The reporter then sends the appropriate 1788 * error bits in the completion message to the initiator which will set the 1789 * legacy pci bits ma or rta (oddly there is no equivalent in pcie error 1790 * reporting). 1791 * 1792 * For badreq-u, the ca/ur ereports contain a source-id payload that identifies 1793 * the initiator. 1794 * - flt-badreq-u represents the initiator that caused the fault. This may 1795 * be a child pci device in which case flt-badreq-u is generated in pci.esc 1796 * - badreq-u propagates up to the root complex. 1797 * 1798 * The fault can always be recognized by the ca/ur ereport from the root 1799 * complex or downstream switch port. The originator of the request can be 1800 * recognized by the rta/ma for a hardened driver or by using the source-id 1801 * payload of the ca/ur ereport for a non-hardened driver. 1802 * 1803 * Note that handling of badreq-u where source and detector are both pciexfn 1804 * has to be handled specially to avoid path name matching. 1805 */ 1806prop error.io.pciex.flt-badreq-u@pciexbus/pciexdev/pciexfn (1)-> 1807 error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn; 1808 1809prop error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn (1)-> 1810 error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn; 1811 1812prop error.io.pciex.badreq-u@pciexrc/pciexbus/pciexdev/pciexfn (0)-> 1813 ereport.io.pci.sec-sta@pciexrc; 1814 1815prop error.io.pciex.flt-badreq-u@pciexbus[b]/pciexdev[d]/pciexfn[f] (0)-> 1816 ereport.io.pciex.tl.ur@pciexrc<> { 1817 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC}, 1818 ereport.io.pciex.tl.ca@pciexrc<> { 1819 BDF_IS_LEAF && SOURCE_ID_MATCHES_BDF && BDF_IS_UNDER_RC}; 1820 1821prop error.io.pci.badreq-pw-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1822 ereport.io.pciex.tl.ur@pciexrc<> { 1823 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }, 1824 ereport.io.pciex.tl.ca@pciexrc<> { 1825 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1826 1827prop error.io.pci.badreq-drw-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1828 ereport.io.pciex.tl.ur@pciexrc<> { 1829 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }, 1830 ereport.io.pciex.tl.ca@pciexrc<> { 1831 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_RC }; 1832 1833prop error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn (0)-> 1834 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn { IS_SWD }; 1835 1836prop error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn (0)-> 1837 error.io.pciex.badreq-u@pciexbus/pciexdev { IS_LEAF }; 1838 1839prop error.io.pciex.badreq-u@pciexbus[b]/pciexdev[d] (0)-> 1840 ereport.io.pciex.tl.ur@pciexfn { 1841 (confprop(asru(pciexfn), "EXCAP") == "pciexswd") && 1842 (payloadprop("source-valid") == 0 || 1843 (payloadprop("source-id") & 0xfff8) == ((b << 8) | (d << 3))) }, 1844 ereport.io.pciex.tl.ca@pciexfn { 1845 (confprop(asru(pciexfn), "EXCAP") == "pciexswd") && 1846 (payloadprop("source-valid") == 0 || 1847 (payloadprop("source-id") & 0xfff8) == ((b << 8) | (d << 3))) }; 1848 1849prop error.io.pci.badreq-pw-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1850 ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn { IS_SWD && 1851 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_DEV }, 1852 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn { IS_SWD && 1853 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_DEV }; 1854 1855prop error.io.pci.badreq-drw-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 1856 ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn { IS_SWD && 1857 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_DEV }, 1858 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn { IS_SWD && 1859 SOURCE_ID_MATCHES_BDF_OR_B && PCIBDF_IS_UNDER_DEV }; 1860 1861prop error.io.pciex.flt-badreq-u@pciexbus/pciexdev/pciexfn (0)-> 1862 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1863 ereport.io.pci.rta@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1864 1865/* 1866 * downstream bad request 1867 * 1868 * When detecting bad data on a request the completer (or any switch on the 1869 * way to the completer) may report ur or ca. If the switch detects the problem 1870 * first then the request doesn't get forwarded on to the completer. 1871 * 1872 * These are reported as ur/ca ereports (except where the completer is a non- 1873 * hardened leaf driver when all we get is a nonfatal error from the root 1874 * complex identifying the leaf device). The reporter then sends the appropriate 1875 * error bits in the completion message to the initiator which will set the 1876 * legacy pci bits ma or rta (oddly there is no equivalent in pcie error 1877 * reporting). 1878 */ 1879prop error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn (1)-> 1880 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn, 1881 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn, 1882 error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 1883 1884prop error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn (1)-> 1885 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1886 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1887 1888prop error.io.pciex.badreq-d@pciexbus/pciexdev/pciexfn (1)-> 1889 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn, 1890 error.io.pciex.flt-ca-u@pciexbus/pciexdev/pciexfn, 1891 error.io.pci.badreq-pw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 1892 error.io.pci.badreq-drw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 1893 1894/* 1895 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1896 * Stub unused legacy pci ereports at root complex. 1897 * Stub tl.uc as we can't do anything useful with it (we should eventually 1898 * get a cto which we can do something with - a uc without a cto is a genuinely 1899 * spurious completion which is at least harmless). 1900 * Stub messages that the root complex sends to itself. 1901 * Stub mce/mue/ce/nr/noadverr. 1902 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1903 */ 1904 1905event error.io.pciex.discard_rc@pciexrc; 1906 1907event ereport.io.pciex.tl.uc@pciexbus/pciexdev/pciexfn{within(5s)}; 1908event ereport.io.pciex.noadverr@pciexbus/pciexdev/pciexfn{within(5s)}; 1909event ereport.io.pciex.correctable@pciexbus/pciexdev/pciexfn{within(5s)}; 1910event ereport.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn{within(5s)}; 1911event ereport.io.pciex.fatal@pciexbus/pciexdev/pciexfn{within(5s)}; 1912event ereport.io.pci.nr@pciexbus/pciexdev/pciexfn{within(5s)}; 1913event ereport.io.pci.nr@pciexrc{within(5s)}; 1914event ereport.io.pci.ma@pciexrc{within(5s)}; 1915event ereport.io.pci.rta@pciexrc{within(5s)}; 1916event ereport.io.pci.sta@pciexrc{within(5s)}; 1917event ereport.io.pci.dpe@pciexrc{within(5s)}; 1918event ereport.io.pci.mdpe@pciexrc{within(5s)}; 1919event ereport.io.pci.sserr@pciexrc{within(5s)}; 1920event ereport.io.pciex.tl.uc@pciexrc{within(5s)}; 1921event ereport.io.pciex.noadverr@pciexrc{within(5s)}; 1922event ereport.io.pciex.rc.ce-msg@pciexrc{within(5s)}; 1923event ereport.io.pciex.rc.mce-msg@pciexrc{within(5s)}; 1924event ereport.io.pciex.rc.mue-msg@pciexrc{within(5s)}; 1925 1926event upset.io.pciex.discard_uc@pciexbus/pciexdev/pciexfn; 1927event upset.io.pciex.discard@pciexbus/pciexdev/pciexfn; 1928event upset.io.pciex.discard@pciexrc; 1929 1930prop upset.io.pciex.discard_uc@pciexbus/pciexdev/pciexfn (1)-> 1931 ereport.io.pciex.tl.uc@pciexbus/pciexdev/pciexfn { IS_BDG }; 1932 1933prop upset.io.pciex.discard_uc@pciexbus/pciexdev/pciexfn (2)-> 1934 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn { IS_LEAF }, 1935 ereport.io.pciex.tl.uc@pciexbus/pciexdev/pciexfn { IS_LEAF }; 1936 1937prop upset.io.pciex.discard@pciexbus/pciexdev/pciexfn (1)-> 1938 ereport.io.pci.nr@pciexbus/pciexdev/pciexfn, 1939 ereport.io.pciex.noadverr@pciexbus/pciexdev/pciexfn, 1940 ereport.io.pciex.correctable@pciexbus/pciexdev/pciexfn, 1941 ereport.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 1942 ereport.io.pciex.fatal@pciexbus/pciexdev/pciexfn; 1943 1944prop error.io.pciex.discard_rc@pciexrc (1)-> 1945 ereport.io.pciex.rc.fe-msg@pciexrc { SOURCE_ID_MATCHES_OWN_BDF }, 1946 ereport.io.pciex.rc.nfe-msg@pciexrc { SOURCE_ID_MATCHES_OWN_BDF }, 1947 ereport.io.pciex.rc.ce-msg@pciexrc { SOURCE_ID_MATCHES_OWN_BDF }; 1948 1949prop upset.io.pciex.discard@pciexrc (1)-> 1950 error.io.pciex.discard_rc@pciexrc, 1951 ereport.io.pci.nr@pciexrc, 1952 ereport.io.pciex.noadverr@pciexrc, 1953 ereport.io.pciex.rc.ce-msg@pciexrc, 1954 ereport.io.pciex.rc.mce-msg@pciexrc, 1955 ereport.io.pciex.rc.mue-msg@pciexrc, 1956 ereport.io.pciex.tl.uc@pciexrc, 1957 ereport.io.pci.ma@pciexrc, 1958 ereport.io.pci.rta@pciexrc, 1959 ereport.io.pci.sta@pciexrc, 1960 ereport.io.pci.dpe@pciexrc, 1961 ereport.io.pci.mdpe@pciexrc, 1962 ereport.io.pci.sserr@pciexrc; 1963 1964/* 1965 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1966 * rules for PCI Express to PCI bridge propagations 1967 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1968 */ 1969 1970event error.io.pci.retry-to-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1971event error.io.pci.badreq-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1972event error.io.pci.badreq-drw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1973event error.io.pci.ma-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1974event error.io.pci.ta-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1975event error.io.pci.ape-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1976event error.io.pci.source-ape-u@pcibus/pcidev/pcifn; 1977event error.io.pci.source-f-perr-u@pcibus/pcidev/pcifn; 1978event error.io.pci.source-nf-perr-u@pcibus/pcidev/pcifn; 1979event error.io.pci.target-ma-d@pcibus/pcidev/pcifn; 1980event error.io.pci.target-rta-d@pcibus/pcidev/pcifn; 1981event error.io.pci.f-dpdata-pw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1982event error.io.pci.nf-dpdata-pw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1983event error.io.pci.f-dpdata-dw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1984event error.io.pci.nf-dpdata-dw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1985event error.io.pci.f-dpdata-dr-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1986event error.io.pci.nf-dpdata-dr-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1987event error.io.pci.dpdata-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1988event error.io.pci.dpdata-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1989event error.io.pci.dpdata-dr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1990event error.io.pci.perr-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1991event error.io.pci.perr-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1992event error.io.pci.perr-dr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1993event error.io.pci.serr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1994event error.io.pcix.scpe-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1995event error.io.pcix.source-scpe-u@pcibus/pcidev/pcifn; 1996event error.io.pcix.spl-comp-ma-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1997event error.io.pcix.spl-comp-ta-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1998event error.io.pcix.spl-comp-ma-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 1999event error.io.pcix.spl-comp-ta-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2000event error.io.pcix.uscmd@pciexbus/pciexdev/pciexfn; 2001 2002event ereport.io.pcix.sec-spl-dis@pciexbus/pciexdev/pciexfn{within(5s)}; 2003event ereport.io.pciex.bdg.uscmd@pciexbus/pciexdev/pciexfn{within(5s)}; 2004event ereport.io.pciex.bdg.sec-perr@pciexbus/pciexdev/pciexfn{within(5s)}; 2005event ereport.io.pciex.bdg.sec-uadr@pciexbus/pciexdev/pciexfn{within(5s)}; 2006event ereport.io.pciex.bdg.sec-uat@pciexbus/pciexdev/pciexfn{within(5s)}; 2007event ereport.io.pciex.bdg.sec-serr@pciexbus/pciexdev/pciexfn{within(5s)}; 2008event ereport.io.pciex.bdg.sec-tex@pciexbus/pciexdev/pciexfn{within(5s)}; 2009event ereport.io.pciex.bdg.sec-rma@pciexbus/pciexdev/pciexfn{within(5s)}; 2010event ereport.io.pciex.bdg.sec-rta@pciexbus/pciexdev/pciexfn{within(5s)}; 2011event ereport.io.pciex.bdg.sec-ma-sc@pciexbus/pciexdev/pciexfn{within(5s)}; 2012event ereport.io.pciex.bdg.sec-ta-sc@pciexbus/pciexdev/pciexfn{within(5s)}; 2013event ereport.io.pci.dto@pciexbus/pciexdev/pciexfn{within(5s)}; 2014event ereport.io.pci.sec-rta@pciexbus/pciexdev/pciexfn{within(5s)}; 2015event ereport.io.pci.sec-ma@pciexbus/pciexdev/pciexfn{within(5s)}; 2016 2017/* 2018 * propagations from pci express onto pci/pci-x 2019 */ 2020 2021/* 2022 * poisoned tlps propagate as parity/ecc errors. 2023 */ 2024prop error.io.pciex.f-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 2025 error.io.pci.f-dpdata-pw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 2026 error.io.pci.f-dpdata-dw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2027 2028prop error.io.pciex.nf-poisreq-d@pciexbus/pciexdev/pciexfn (1)-> 2029 error.io.pci.nf-dpdata-pw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>, 2030 error.io.pci.nf-dpdata-dw-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2031 2032prop error.io.pciex.f-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 2033 error.io.pci.f-dpdata-dr-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2034 2035prop error.io.pciex.nf-poiscomp-d@pciexbus/pciexdev/pciexfn (1)-> 2036 error.io.pci.nf-dpdata-dr-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2037 2038/* 2039 * ca-d only propagates on to pci bus if non-posted access 2040 */ 2041prop error.io.pciex.ca-d@pciexbus/pciexdev/pciexfn (0)-> 2042 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 2043 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2044 2045/* 2046 * nr-d only propagates on to pci bus if non-posted access 2047 */ 2048prop error.io.pciex.nr-d@pciexbus/pciexdev/pciexfn (0)-> 2049 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 2050 error.io.pci.nr-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2051 error.io.pci.ta-drw-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2052 2053/* 2054 * propagations from pci/pci-x onto pci express 2055 */ 2056 2057/* 2058 * ma-u will only propagate on to pciex bus for non-posted accesses. It 2059 * is then represented as an unsupported request. 2060 */ 2061prop error.io.pci.ma-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2062 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2063 ereport.io.pciex.tl.ur@pciexbus/pciexdev/pciexfn, 2064 error.io.pciex.ur-u@pciexbus/pciexdev/pciexfn; 2065 2066prop error.io.pci.ma-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (2)-> 2067 ereport.io.pci.sec-ma@pciexbus/pciexdev/pciexfn, 2068 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 2069 2070prop error.io.pci.target-ma-d@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2071 ereport.io.pciex.bdg.sec-rma@pciexbus/pciexdev/pciexfn { IS_BDG && 2072 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2073 2074/* 2075 * ta-u will only propagate on to pciex bus for non-posted accesses. It is 2076 * then represented as a completer abort. 2077 */ 2078prop error.io.pci.ta-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2079 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2080 ereport.io.pci.sta@pciexbus/pciexdev/pciexfn, 2081 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn, 2082 error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn; 2083 2084prop error.io.pci.ta-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (2)-> 2085 ereport.io.pci.sec-rta@pciexbus/pciexdev/pciexfn, 2086 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 2087 2088prop error.io.pci.target-rta-d@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2089 ereport.io.pciex.bdg.sec-rta@pciexbus/pciexdev/pciexfn { IS_BDG && 2090 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2091 2092/* 2093 * PERR# on a delayed write is represented as an unsupported request 2094 */ 2095prop error.io.pci.perr-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (1)-> 2096 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn; 2097 2098prop error.io.pci.perr-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2099 error.io.pciex.flt-ur-u@pciexbus/pciexdev/pciexfn; 2100 2101prop error.io.pci.perr-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (1)-> 2102 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn; 2103 2104prop error.io.pci.perr-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2105 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 2106 2107prop error.io.pci.source-f-perr-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2108 ereport.io.pciex.bdg.sec-perr@pciexbus/pciexdev/pciexfn { IS_BDG && 2109 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2110 2111prop error.io.pci.source-nf-perr-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2112 ereport.io.pciex.bdg.sec-perr@pciexbus/pciexdev/pciexfn { IS_BDG && 2113 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2114 2115prop error.io.pci.perr-dr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (1)-> 2116 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 2117 2118/* 2119 * If the bridge receives data with bad ecc/parity from pci/pci-x, it will 2120 * propagate onto pci express as a poisoned tlp 2121 */ 2122prop error.io.pci.dpdata-dr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (4)-> 2123 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn, 2124 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2125 ereport.io.pci.sec-mdpe@pciexbus/pciexdev/pciexfn, 2126 error.io.pciex.poiscomp-u@pciexbus/pciexdev/pciexfn; 2127 2128prop error.io.pci.dpdata-dr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2129 error.io.pci.source-nf-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2130 error.io.pci.source-f-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2131 error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn, 2132 error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn, 2133 ereport.io.pci.mdpe@pciexbus/pciexdev/pciexfn; 2134 2135prop error.io.pci.dpdata-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (2)-> 2136 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn, 2137 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn; 2138 2139prop error.io.pci.dpdata-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2140 error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 2141 2142prop error.io.pci.dpdata-dw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2143 error.io.pci.source-nf-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2144 error.io.pci.source-f-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2145 2146prop error.io.pci.dpdata-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (3)-> 2147 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn, 2148 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2149 error.io.pciex.poisreq-u@pciexbus/pciexdev/pciexfn; 2150 2151prop error.io.pci.dpdata-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (1)-> 2152 error.io.pci.source-nf-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2153 error.io.pci.source-f-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2154 2155/* 2156 * If the bridge sees an address or attribute parity error it is considered 2157 * a fatal error. 2158 */ 2159prop error.io.pci.ape-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (4)-> 2160 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn, 2161 ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn, 2162 ereport.io.pciex.bdg.sec-serr@pciexbus/pciexdev/pciexfn, 2163 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn; 2164 2165prop error.io.pci.source-ape-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2166 ereport.io.pciex.bdg.sec-uat@pciexbus/pciexdev/pciexfn { IS_BDG && 2167 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }, 2168 ereport.io.pciex.bdg.sec-uadr@pciexbus/pciexdev/pciexfn { IS_BDG && 2169 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2170 2171prop error.io.pci.ape-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2172 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn; 2173 2174/* 2175 * If the bridge sees a split completion error (pci-x only) it could 2176 * result in a number of things 2177 * - unrecovered split completion message data error (uscmd). This would 2178 * happen on a pio write. A completer abort is returned to the initiator. 2179 * - for various faults in the split completion (eg address parity error) 2180 * we will respond with a target abort (which the child device will treat 2181 * as a split completion ta) 2182 * - for other faults we can't tell who send the split completion and so 2183 * just drop the request (which the child device sees as a split 2184 * completion ma) 2185 */ 2186prop error.io.pcix.scpe-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2187 ereport.io.pci.sec-dpe@pciexbus/pciexdev/pciexfn, 2188 ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn, 2189 ereport.io.pciex.bdg.sec-serr@pciexbus/pciexdev/pciexfn, 2190 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn, 2191 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn; 2192 2193prop error.io.pcix.source-scpe-u@pcibus[b]/pcidev[d]/pcifn[f] (0)-> 2194 ereport.io.pciex.bdg.sec-uat@pciexbus/pciexdev/pciexfn { IS_BDG && 2195 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }, 2196 ereport.io.pciex.bdg.sec-uadr@pciexbus/pciexdev/pciexfn { IS_BDG && 2197 BDF_IS_PCI_LEAF && SOURCE_ID_MATCHES_BDF && PCIBDF_IS_UNDER_DEV }; 2198 2199prop error.io.pcix.scpe-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (1)-> 2200 error.io.pcix.uscmd@pciexbus/pciexdev/pciexfn, 2201 error.io.pcix.spl-comp-ma-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn, 2202 error.io.pcix.spl-comp-ta-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2203 2204prop error.io.pcix.uscmd@pciexbus/pciexdev/pciexfn (5)-> 2205 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn, 2206 ereport.io.pci.sta@pciexbus/pciexdev/pciexfn, 2207 ereport.io.pciex.tl.ca@pciexbus/pciexdev/pciexfn, 2208 error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn, 2209 ereport.io.pciex.bdg.uscmd@pciexbus/pciexdev/pciexfn; 2210 2211/* 2212 * Similarly a child device may have responded with a master abort or 2213 * target abort to one of our split competions. The hardware just logs these. 2214 */ 2215prop error.io.pcix.spl-comp-ma-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (4)-> 2216 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2217 ereport.io.pcix.sec-spl-dis@pciexbus/pciexdev/pciexfn, 2218 ereport.io.pciex.bdg.sec-ma-sc@pciexbus/pciexdev/pciexfn, 2219 ereport.io.pci.sec-ma@pciexbus/pciexdev/pciexfn; 2220 2221prop error.io.pcix.spl-comp-ta-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (4)-> 2222 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2223 ereport.io.pcix.sec-spl-dis@pciexbus/pciexdev/pciexfn, 2224 ereport.io.pciex.bdg.sec-ta-sc@pciexbus/pciexdev/pciexfn, 2225 ereport.io.pci.sec-rta@pciexbus/pciexdev/pciexfn; 2226 2227/* 2228 * SERR# is considered fatal 2229 */ 2230prop error.io.pci.serr-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (3)-> 2231 error.io.pciex.fatal@pciexbus/pciexdev/pciexfn, 2232 ereport.io.pci.sec-rserr@pciexbus/pciexdev/pciexfn, 2233 ereport.io.pciex.bdg.sec-serr@pciexbus/pciexdev/pciexfn; 2234 2235/* 2236 * Retry time-out is nonfatal. The initial requester has stopped retrying so 2237 * there's nothing else the hardware can do but flag the error. 2238 */ 2239prop error.io.pci.retry-to-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (2)-> 2240 error.io.pciex.nonfatal@pciexbus/pciexdev/pciexfn, 2241 ereport.io.pciex.bdg.sec-tex@pciexbus/pciexdev/pciexfn; 2242 2243prop error.io.pci.retry-to-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2244 ereport.io.pci.sta@pciexbus/pciexdev/pciexfn, 2245 error.io.pciex.ca-u@pciexbus/pciexdev/pciexfn, 2246 ereport.io.pci.dto@pciexbus/pciexdev/pciexfn; 2247 2248/* 2249 * A bad dma request (eg with invalid address) propagates onto pci express 2250 * as a bad dma request. The end result may be a master abort or target abort 2251 * (depending on whether the child is pci-x or pci). 2252 */ 2253prop error.io.pci.badreq-pw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2254 error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn, 2255 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn, 2256 ereport.io.pci.rta@pciexbus/pciexdev/pciexfn, 2257 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn; 2258 2259prop error.io.pci.badreq-drw-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn (0)-> 2260 error.io.pciex.badreq-u@pciexbus/pciexdev/pciexfn, 2261 ereport.io.pci.ma@pciexbus/pciexdev/pciexfn, 2262 ereport.io.pci.rta@pciexbus/pciexdev/pciexfn, 2263 ereport.io.pci.sec-sta@pciexbus/pciexdev/pciexfn; 2264 2265/* 2266 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2267 * source- and target- propagations 2268 * 2269 * The source- propagations cascade down to a leaf device, which can then have 2270 * its bdf matched against the source-id of various ereports. This is necessary 2271 * because for a number of cases the source-id represents the original requester 2272 * of the packet which may be different from the detector of the error (which 2273 * could be a bridge or switch). 2274 * 2275 * A Root Complex driver may generate "target-" ereports when knowledge of the 2276 * physical address associated with a fault allows the target device to be 2277 * determined. This is not a requirement of the Diagnosis Engine, but can be 2278 * valuable when available. 2279 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2280 */ 2281event error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2282event error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2283event error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2284event error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2285event error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2286event error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2287event error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2288event error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2289event error.io.pci.source-f-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2290event error.io.pci.source-nf-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2291event error.io.pci.source-f-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2292event error.io.pci.source-nf-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2293event error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2294event error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2295event error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2296event error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2297event error.io.pciex.source-f-ecrcreq-u@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 2298event error.io.pciex.source-nf-ecrcreq-u@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 2299event error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2300event error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2301event error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2302event error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2303event error.io.pciex.source-f-ecrccomp-u@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 2304event error.io.pciex.source-nf-ecrccomp-u@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 2305event error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn/pciexbus/pciexdev/pciexfn; 2306event error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn/pcibus/pcidev/pcifn; 2307event error.io.pciex.source-mtlp-u@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn; 2308 2309event ereport.io.pci.target-mdpe@pciexbus/pciexdev/pciexfn{within(5s)}; 2310event ereport.io.pci.target-rta@pciexbus/pciexdev/pciexfn{within(5s)}; 2311event ereport.io.pci.target-ma@pciexbus/pciexdev/pciexfn{within(5s)}; 2312 2313prop error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn (1)-> 2314 error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2315 2316prop error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn (1)-> 2317 error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2318 2319prop error.io.pci.target-ma-d@pciexbus/pciexdev/pciexfn (0)-> 2320 ereport.io.pci.target-ma@pciexbus/pciexdev/pciexfn; 2321 2322prop error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn (1)-> 2323 error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2324 2325prop error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn (1)-> 2326 error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2327 2328prop error.io.pci.target-rta-d@pciexbus/pciexdev/pciexfn (0)-> 2329 ereport.io.pci.target-rta@pciexbus/pciexdev/pciexfn; 2330 2331prop error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn (1)-> 2332 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2333 2334prop error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn (1)-> 2335 error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2336 2337prop error.io.pci.target-mdpe-d@pciexbus/pciexdev/pciexfn (0)-> 2338 ereport.io.pci.target-mdpe@pciexbus/pciexdev/pciexfn; 2339 2340prop error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 2341 error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2342 2343prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 2344 error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2345 2346prop error.io.pciex.source-f-poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 2347 error.io.pci.source-f-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2348 2349prop error.io.pciex.source-nf-poisreq-u@pciexbus/pciexdev/pciexfn (1)-> 2350 error.io.pci.source-nf-dpdata-w-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2351 2352prop error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 2353 error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2354 2355prop error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 2356 error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2357 2358prop error.io.pciex.source-f-poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 2359 error.io.pci.source-f-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2360 2361prop error.io.pciex.source-nf-poiscomp-u@pciexbus/pciexdev/pciexfn (1)-> 2362 error.io.pci.source-nf-dpdata-r-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2363 2364prop error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 2365 error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2366 2367prop error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 2368 error.io.pciex.source-f-ecrcreq-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2369 2370prop error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 2371 error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2372 2373prop error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn (1)-> 2374 error.io.pciex.source-nf-ecrcreq-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2375 2376prop error.io.pciex.source-f-ecrcreq-u@pcibus/pcidev/pcifn (1)-> 2377 error.io.pciex.source-f-ecrcreq-u@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 2378 2379prop error.io.pciex.source-nf-ecrcreq-u@pcibus/pcidev/pcifn (1)-> 2380 error.io.pciex.source-nf-ecrcreq-u@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 2381 2382prop error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 2383 error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2384 2385prop error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 2386 error.io.pciex.source-f-ecrccomp-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2387 2388prop error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 2389 error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2390 2391prop error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn (1)-> 2392 error.io.pciex.source-nf-ecrccomp-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2393 2394prop error.io.pciex.source-f-ecrccomp-u@pcibus/pcidev/pcifn (1)-> 2395 error.io.pciex.source-f-ecrccomp-u@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 2396 2397prop error.io.pciex.source-nf-ecrccomp-u@pcibus/pcidev/pcifn (1)-> 2398 error.io.pciex.source-nf-ecrccomp-u@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 2399 2400prop error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn (1)-> 2401 error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn/pciexbus<>/pciexdev<>/pciexfn<>; 2402 2403prop error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn (1)-> 2404 error.io.pciex.source-mtlp-u@pciexbus/pciexdev/pciexfn/pcibus<>/pcidev<>/pcifn<>; 2405 2406prop error.io.pciex.source-mtlp-u@pcibus/pcidev/pcifn (1)-> 2407 error.io.pciex.source-mtlp-u@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>; 2408 2409/* 2410 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2411 * stub unused pciex-pci bridge ereports 2412 * - ignore usc/sec-unex-spl 2413 * - ignore sec-spl-or/sec-spl-dly as these aren't really faults (tuning info) 2414 * - ignore ecc.ue ereports (we get everything we need from dpe/mdpe) 2415 * - ignore ecc.ce ereports for now (could do serd on these) 2416 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2417 */ 2418 2419event ereport.io.pciex.bdg.usc@pciexbus/pciexdev/pciexfn{within(5s)}; 2420event ereport.io.pcix.sec-unex-spl@pciexbus/pciexdev/pciexfn{within(5s)}; 2421event ereport.io.pcix.sec-spl-or@pciexbus/pciexdev/pciexfn{within(5s)}; 2422event ereport.io.pcix.sec-spl-dly@pciexbus/pciexdev/pciexfn{within(5s)}; 2423event ereport.io.pcix.sec-ecc.ce-addr@pciexbus/pciexdev/pciexfn{within(5s)}; 2424event ereport.io.pcix.sec-ecc.ce-attr@pciexbus/pciexdev/pciexfn{within(5s)}; 2425event ereport.io.pcix.sec-ecc.ce-data@pciexbus/pciexdev/pciexfn{within(5s)}; 2426event ereport.io.pcix.sec-ecc.ue-addr@pciexbus/pciexdev/pciexfn{within(5s)}; 2427event ereport.io.pcix.sec-ecc.ue-attr@pciexbus/pciexdev/pciexfn{within(5s)}; 2428event ereport.io.pcix.sec-ecc.ue-data@pciexbus/pciexdev/pciexfn{within(5s)}; 2429event ereport.io.pcix.sec-s-ce@pciexbus/pciexdev/pciexfn{within(5s)}; 2430event ereport.io.pcix.sec-s-ue@pciexbus/pciexdev/pciexfn{within(5s)}; 2431 2432event upset.io.pciex.discard-bdg@pciexbus/pciexdev/pciexfn; 2433 2434prop upset.io.pciex.discard-bdg@pciexbus/pciexdev/pciexfn (1)-> 2435 ereport.io.pciex.bdg.usc@pciexbus/pciexdev/pciexfn, 2436 ereport.io.pcix.sec-unex-spl@pciexbus/pciexdev/pciexfn, 2437 ereport.io.pcix.sec-spl-or@pciexbus/pciexdev/pciexfn, 2438 ereport.io.pcix.sec-spl-dly@pciexbus/pciexdev/pciexfn, 2439 ereport.io.pcix.sec-ecc.ce-addr@pciexbus/pciexdev/pciexfn, 2440 ereport.io.pcix.sec-ecc.ce-attr@pciexbus/pciexdev/pciexfn, 2441 ereport.io.pcix.sec-ecc.ce-data@pciexbus/pciexdev/pciexfn, 2442 ereport.io.pcix.sec-ecc.ue-addr@pciexbus/pciexdev/pciexfn, 2443 ereport.io.pcix.sec-ecc.ue-attr@pciexbus/pciexdev/pciexfn, 2444 ereport.io.pcix.sec-ecc.ue-data@pciexbus/pciexdev/pciexfn, 2445 ereport.io.pcix.sec-s-ce@pciexbus/pciexdev/pciexfn, 2446 ereport.io.pcix.sec-s-ue@pciexbus/pciexdev/pciexfn; 2447