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