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