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