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