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