pci.esc revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#pragma dictionary "PCI"
#define PCI_DEV_FIT 1000
#define PCI_BUS_FIT 500
asru pcibus/pcidev/pcifn;
fru pcibus/pcidev;
/*
* Faulty PCI device
*/
event fault.io.pci.device@pcibus/pcidev/pcifn,
FITrate=PCI_DEV_FIT, FRU=pcibus/pcidev, ASRU=pcibus/pcidev/pcifn;
event error.io.pci.tx-ma@pcibus/pcidev/pcifn;
event error.io.pci.rx-ma@pcibus/pcidev/pcifn;
event error.io.pci.tx-serr@pcibus/pcidev/pcifn;
event error.io.pci.serr@pcibus;
event error.io.pci.rx-ta@pcibus/pcidev/pcifn;
event error.io.pci.tx-dpe@pcibus/pcidev/pcifn;
event error.io.pci.tx-wdpe@pcibus/pcidev/pcifn;
event error.io.pci.rec-ma@pcibus/pcidev/pcifn;
event error.io.pci.rec-ta@pcibus/pcidev/pcifn;
event error.io.pci.rec-mdpe@pcibus/pcidev/pcifn;
event error.io.pci.tx-pma@pcibus/pcidev/pcifn;
event error.io.pci.tx-dma@pcibus/pcidev/pcifn;
event error.io.pci.tx-rdpe@pcibus/pcidev/pcifn;
event error.io.pci.tx-pwdpe@pcibus/pcidev/pcifn;
event error.io.pci.tx-dwdpe@pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.sta@pcibus/pcidev/pcifn;
event error.io.pci.rx-pma@pcibus/pcidev/pcifn;
event error.io.pci.rx-dma@pcibus/pcidev/pcifn;
event error.io.pci.sec-tx-ta@pcibus/pcidev/pcifn;
event error.io.pci.sec-rx-pta@pcibus/pcidev/pcifn;
event error.io.pci.sec-rx-dta@pcibus/pcidev/pcifn;
event error.io.pci.rx-pta@pcibus/pcidev/pcifn;
event error.io.pci.tx-pta@pcibus/pcidev/pcifn;
event error.io.pci.rx-dta@pcibus/pcidev/pcifn;
event error.io.pci.bdg-rx-dpe@pcibus/pcidev/pcifn;
event error.io.pci.sec-rx-dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-pwdpe@pcibus/pcidev/pcifn;
event error.io.pci.bdg-dwdpe@pcibus/pcidev/pcifn;
event error.io.pci.rx-rdpe@pcibus/pcidev/pcifn;
event error.io.pci.rx-wdpe@pcibus/pcidev/pcifn;
event error.io.pci.sec-rx-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.sec-target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.sec-target-ma@pcibus/pcidev/pcifn;
event error.io.pci.sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-ape@pcibus/pcidev/pcifn;
event error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pcix.tx-oor@pcibus/pcidev/pcifn;
event error.io.pcix.rx-discard@pcibus/pcidev/pcifn;
event error.io.pcix.rx-unex-sc@pcibus/pcidev/pcifn;
event ereport.io.pci.dto@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-ma@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-ma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.ma@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.ma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-rserr@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sserr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-ma@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sserr@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.rta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-rta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.dpe@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.mdpe@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-sta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-mdpe@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-rta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.target-rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pcix.oor@pcibus/pcidev/pcifn;
event ereport.io.pcix.discard@pcibus/pcidev/pcifn;
event ereport.io.pcix.unex-sc@pcibus/pcidev/pcifn;
/*
* A faulty PCI device may cause:
*
* - tx-ma: the device to not respond to a valid request.
* - rx-ma: the device to issue an errant address.
* - tx-serr: the device to signal an serr.
* - rx-ta: the device to receive a target abort from an unhappy target.
* - tx-dpe: the device to trasmit data data and/or parity.
* - tx-ape: address/parity to get corrupted during transmission -
* only the serr is a must - sserr/dpe will show up if
* target driver is hardened. In addition the target could target
* abort or master abort.
*
* A fault PCI-X device may cause:
*
* - tx-oor: the device sends a byte count larger than the completers
* address range.
* - tx-discard a DMA split completion received a master abort or a
* target abort which caused the device to discard the
* split completion
* - rx-unex-sc the device recieved a split completion with a tag
* which does not match any outstanding transaction.
*
* NOTE: The rules below are for pci-pci bridge support
*
* - tx-pma: the device not to respond to a posted request across a bridge.
* - tx-dma: the device not to respond to a delayed request across a bridge.
* - rx-pta: the device to receive a target abort from a posted transaction
* across a bridge.
* - rx-dta: the device to receive a target abort from a delayed transaction
* across a bridge.
* - tx-ape-bdg: address/parity to get corrupted during transmission.
* Must see serr/serr/dpe. In addition the pci-pci bridge
* could target abort or master abort or let the request through
* to the secondary bus causing an ape there.
* - tx-rdpe: the device to transfer bad data and/or bad parity during a read
* request to a bridge.
* - tx-pwdpe: the device to transfer bad data and/or bad parity during a
* posted write request to a bridge.
* - tx-dwdpe: the device to transfer bad data and/or bad parity during a
* delayed write request to a bridge.
*
* NOTE: The rules below are specifically for the pci-pci bridge, in which it
* sends incorrect data/parity when receiving correct data/parity.
*
* - bdg-tx-ape: address/parity to get corrupted during transmission
* on the primary side bus. Must see sserr/dpe/rec_serr.
* In addition the hostbridge could target abort
* or master abort and if this was a delayed access
* we could get target abort propagated to secondary bus.
* - bdg-tx-dwdpe: the bridge sends bad data/parity during a delayed write
* request to the primary side bus.
* - bdg-tx-pwdpe: the bridge sends bad data/parity during a posted write
* request to the primary side bus.
* - bdg-tx-rdpe: the bridge sends bad data/parity during a read request
* to the primary side bus.
* - bdg-tx-sec-ape: address/parity to get corrupted during transmission
* on the secondary side bus. Only the sec-rserr/sserr/
* serr *must* happen. In addition any hardened leaf
* driver on the secondary bus that detects the ape will
* report sserr/dpe. Also the target device can target
* abort or master abort.
* - bdg-tx-sec-rdpe: the bridge sends bad data/parity during a read request
* to the secondary side bus.
* - bdg-tx-sec-pwdpe: the bridge sends bad data/parity during a posted write
* request to the secondary side bus.
* - bdg-tx-sec-dwdpe: the bridge sends bad data/parity during a delayed write
* request to the secondary side bus.
*
* - dto: the device could exceed the timeout alloted for a delayed
* transaction, causing the bridge to signal a discard timeout.
*/
prop fault.io.pci.device@pcibus/pcidev/pcifn (0)->
error.io.pci.tx-ma@pcibus/pcidev/pcifn,
error.io.pci.rx-ma@pcibus/pcidev/pcifn,
error.io.pci.tx-serr@pcibus/pcidev/pcifn,
error.io.pci.rx-ta@pcibus/pcidev/pcifn,
error.io.pci.tx-ape@pcibus/pcidev/pcifn,
error.io.pci.tx-dpe@pcibus/pcidev/pcifn,
error.io.pcix.rx-discard@pcibus/pcidev/pcifn,
error.io.pcix.tx-oor@pcibus/pcidev/pcifn,
error.io.pcix.rx-unex-sc@pcibus/pcidev/pcifn,
ereport.io.pci.dto@pcibus/pcidev<>/pcifn<>;
prop fault.io.pci.device@pcibus/pcidev/pcifn (0)->
error.io.pci.tx-pma@pcibus/pcidev/pcifn,
error.io.pci.tx-dma@pcibus/pcidev/pcifn,
error.io.pci.rx-pta@pcibus/pcidev/pcifn,
error.io.pci.rx-dta@pcibus/pcidev/pcifn,
error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn,
error.io.pci.tx-rdpe@pcibus/pcidev/pcifn,
error.io.pci.tx-pwdpe@pcibus/pcidev/pcifn,
error.io.pci.tx-dwdpe@pcibus/pcidev/pcifn;
prop fault.io.pci.device@pcibus/pcidev/pcifn (0)->
error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.tx-ma@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-ma@pcibus/pcidev/pcifn;
prop error.io.pci.tx-ma@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rec-ma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.rx-ma@pcibus/pcidev/pcifn (1)->
error.io.pci.rec-ma@pcibus/pcidev/pcifn;
prop error.io.pci.rx-ma@pcibus/pcidev[fromdev]/pcifn (1)->
ereport.io.pci.target-ma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
error.io.pci.sec-target-ma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.sec-target-ma@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-ma@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.rec-ma@pcibus/pcidev/pcifn (1)->
ereport.io.pci.ma@pcibus/pcidev/pcifn;
prop error.io.pci.rec-ta@pcibus/pcidev/pcifn (1)->
ereport.io.pci.rta@pcibus/pcidev/pcifn;
prop error.io.pci.rec-mdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-serr@pcibus/pcidev/pcifn (1)->
error.io.pci.serr@pcibus;
prop error.io.pci.tx-serr@pcibus/pcidev/pcifn (0)->
ereport.io.pci.sserr@pcibus/pcidev/pcifn;
prop error.io.pci.rx-ta@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rec-ta@pcibus/pcidev[fromdev]/pcifn,
error.io.pci.sta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.sta@pcibus/pcidev/pcifn (1)->
ereport.io.pci.sta@pcibus/pcidev/pcifn,
ereport.io.pci.target-rta@pcibus/pcidev/pcifn;
prop error.io.pci.tx-dpe@pcibus/pcidev/pcifn (1)->
error.io.pci.tx-rdpe@pcibus/pcidev/pcifn,
error.io.pci.tx-wdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-rdpe@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rx-rdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.rx-rdpe@pcibus/pcidev/pcifn (2)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn,
ereport.io.pci.dpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-rdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-wdpe@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rx-wdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-wdpe@pcibus/pcidev/pcifn (0)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.rx-wdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn,
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-ape@pcibus/pcidev/pcifn (1)->
error.io.pci.serr@pcibus;
prop error.io.pci.tx-ape@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.dpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-ape@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.target-rta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.sta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-ape@pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ta@pcibus/pcidev/pcifn;
prop error.io.pci.tx-ape@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.target-ma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-ape@pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ma@pcibus/pcidev/pcifn;
prop error.io.pcix.tx-oor@pcibus/pcidev/pcifn (1)->
ereport.io.pcix.oor@pcibus/pcidev/pcifn;
prop error.io.pcix.rx-discard@pcibus/pcidev/pcifn (1)->
ereport.io.pcix.discard@pcibus/pcidev/pcifn;
prop error.io.pcix.rx-unex-sc@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pcix.unex-sc@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
/*
* the rules below are for hostbridge faults above a pci-pci bridge
*/
prop error.io.pci.tx-pma@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-ma@pcibus/pcidev/pcifn;
prop error.io.pci.tx-pma@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rx-pma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.rx-pma@pcibus/pcidev/pcifn (3)->
error.io.pci.serr@pcibus,
ereport.io.pci.sserr@pcibus/pcidev/pcifn,
error.io.pci.rec-ma@pcibus/pcidev/pcifn;
prop error.io.pci.tx-dma@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-ma@pcibus/pcidev/pcifn;
prop error.io.pci.tx-dma@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.rx-dma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.rx-dma@pcibus/pcidev/pcifn (2)->
error.io.pci.rec-ma@pcibus/pcidev/pcifn<>,
error.io.pci.sec-tx-ta@pcibus/pcidev/pcifn;
prop error.io.pci.sec-tx-ta@pcibus/pcidev/pcifn (1)->
ereport.io.pci.sec-sta@pcibus/pcidev/pcifn;
prop error.io.pci.sec-tx-ta@pcibus/pcidev/pcifn (0)->
ereport.io.pci.target-rta@pcibus/pcidev/pcifn,
ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.rx-pta@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.tx-pta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-pta@pcibus/pcidev/pcifn (3)->
error.io.pci.serr@pcibus,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.sec-rx-pta@pcibus/pcidev/pcifn;
prop error.io.pci.sec-rx-pta@pcibus/pcidev/pcifn (1)->
ereport.io.pci.sec-rta@pcibus/pcidev/pcifn;
prop error.io.pci.sec-rx-pta@pcibus/pcidev/pcifn (0)->
ereport.io.pci.sta@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.rx-dta@pcibus/pcidev/pcifn (1)->
error.io.pci.rec-ta@pcibus/pcidev/pcifn;
prop error.io.pci.rx-dta@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.sec-rx-dta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.sec-rx-dta@pcibus/pcidev/pcifn (2)->
ereport.io.pci.sec-rta@pcibus/pcidev/pcifn,
ereport.io.pci.sta@pcibus/pcidev/pcifn<>;
prop error.io.pci.sec-rx-dta@pcibus/pcidev/pcifn (0)->
ereport.io.pci.sta@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.sec-rx-dta@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-rta@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.tx-rdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-rdpe@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.bdg-rx-dpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-rx-dpe@pcibus/pcidev/pcifn (2)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn,
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn<>,
ereport.io.pci.dpe@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-rx-dpe@pcibus/pcidev/pcifn (0)->
error.io.pci.sec-rx-mdpe@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.sec-rx-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (2)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.tx-pwdpe@pcibus/pcidev/pcifn (1)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-pwdpe@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.bdg-pwdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-pwdpe@pcibus/pcidev/pcifn (2)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn<>,
ereport.io.pci.sec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.bdg-pwdpe@pcibus/pcidev/pcifn (1)->
error.io.pci.sec-target-mdpe@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.sec-target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.sec-target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.tx-dwdpe@pcibus/pcidev/pcifn (1)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-dwdpe@pcibus/pcidev[fromdev]/pcifn (1)->
error.io.pci.bdg-dwdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-dwdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-dwdpe@pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus<>/pcidev<>/pcifn<>;
prop error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn (1)->
error.io.pci.serr@pcibus;
prop error.io.pci.tx-ape-bdg@pcibus/pcidev[fromdev]/pcifn (2)->
ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.dpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-ape-bdg@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.target-rta@pcibus/pcidev<todev>/pcifn<>/pcibus/pcidev/pcifn
{fromdev != todev},
ereport.io.pci.sta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ta@pcibus/pcidev/pcifn;
prop error.io.pci.tx-ape-bdg@pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.target-ma@pcibus/pcidev<todev>/pcifn<>/pcibus/pcidev/pcifn
{fromdev != todev};
prop error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ma@pcibus/pcidev/pcifn;
prop error.io.pci.tx-ape-bdg@pcibus/pcidev[fromdev]/pcifn (0)->
error.io.pci.bdg-tx-sec-ape@pcibus/pcidev<todev>/pcifn<>/pcibus/pcidev/pcifn
{fromdev != todev};
/*
* The rules below are specifically for the pci-pci bridge, in which it
* sends incorrect data/parity when receiving correct data/parity.
*/
prop error.io.pci.bdg-tx-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-dwdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rx-wdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (2)->
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.bdg-tx-pwdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rx-wdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-rdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rx-rdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (2)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus,
ereport.io.pci.sec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.sec-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.sec-rx-dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rec-mdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.sec-rx-dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-ape@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sserr@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.dpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
error.io.pci.serr@pcibus;
prop error.io.pci.bdg-tx-ape@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.target-rta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ta@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-ape@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.target-ma@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ma@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sec-sta@pcibus/pcidev/pcifn,
ereport.io.pci.target-rta@pcibus/pcidev/pcifn,
ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sec-rserr@pcibus/pcidev/pcifn,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sserr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-rta@pcibus/pcidev/pcifn,
ereport.io.pci.target-rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sta@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sec-ma@pcibus/pcidev/pcifn,
ereport.io.pci.target-ma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sta@pcibus/pcidev/pcifn<>;
prop error.io.pci.bdg-tx-sec-ape@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.rec-ta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
fru pcibus;
asru pcibus;
event fault.io.pci.bus@pcibus,
FITrate=PCI_BUS_FIT, FRU=pcibus, ASRU=pcibus;
/* A faulty PCI bus may cause:
*
* - tx-dpe: data/parity to get corrupted during transmission.
* - tx-ape: address/parity to get corrupted during transmission.
*
* NOTE: The rules below are valid for pci-pci bridge transactions.
*
* - tx-ape-bdg: address/parity to get corrupted during transmission.
* - tx-pwdpe: data/parity to get corrupted during posted write transmission
* to a pci-pci bridge.
* - tx-dwdpe: data/parity to get corrupted during delayed write transmission
* to a pci-pci bridge.
* - tx-rdpe: data/parity to get corrupted during read transmission
* to a pci-pci bridge.
* - bdg-tx-ape: address/parity to get corrupted during transmission
* from a pci-pci bridge.
* - bdg-tx-pwdpe: data/parity to get corrupted during posted write
* transmission from a pci-pci bridge.
* - bdg-tx-dwdpe: data/parity to get corrupted during delayed write
* transmission from a pci-pci bridge.
* - bdg-tx-rdpe: data/parity to get corrupted during read transmission
* from a pci-pci bridge.
*/
prop fault.io.pci.bus@pcibus (0)->
error.io.pci.tx-dpe@pcibus/pcidev/pcifn,
error.io.pci.tx-ape@pcibus/pcidev/pcifn,
error.io.pcix.tx-oor@pcibus/pcidev/pcifn,
error.io.pcix.rx-unex-sc@pcibus/pcidev/pcifn;
prop fault.io.pci.bus@pcibus (0)->
error.io.pci.tx-ape-bdg@pcibus/pcidev/pcifn,
error.io.pci.tx-pwdpe@pcibus/pcidev/pcifn,
error.io.pci.tx-rdpe@pcibus/pcidev/pcifn,
error.io.pci.tx-dwdpe@pcibus/pcidev/pcifn;
prop fault.io.pci.bus@pcibus (0)->
error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
/*
* A defective PCI device driver may cause:
*
* - tx-ma: a device to not respond because it was power managed and the
* driver attempted to access it.
* - rx-ma: a device to address a non-existent device.
* - rx-ta: a device to request a transaction from a target that is invalid
* causing a target abort to be received.
*/
event defect.io.pci.driver@pcibus/pcidev/pcifn;
prop defect.io.pci.driver@pcibus/pcidev/pcifn (0)->
error.io.pci.tx-ma@pcibus/pcidev/pcifn,
error.io.pci.rx-ma@pcibus/pcidev/pcifn,
error.io.pci.rx-ta@pcibus/pcidev/pcifn,
error.io.pcix.tx-oor@pcibus/pcidev/pcifn;
/* PCI-PCI devices */
asru pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
fru pcibus/pcidev/pcifn/pcibus/pcidev;
event fault.io.pci.device@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
FITrate=PCI_DEV_FIT, FRU=pcibus/pcidev/pcifn/pcibus/pcidev,
ASRU=pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-pma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-dma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.rx-sec-pta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.rx-sec-dta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-serr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
event error.io.pci.sec-dpe@pcibus/pcidev/pcifn;
event ereport.io.pci.target-rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-sta@pcibus/pcidev/pcifn{within(5s)};
event ereport.io.pci.sec-dpe@pcibus/pcidev/pcifn{within(5s)};
/*
* A faulty PCI device off of a pci-pci bridge may cause:
*
* - tx-sec-pma: the device not to respond to a valid request during a
* posted transaction.
* - tx-sec-dma: the device not to respond to a valid request during a
* delayed transaction.
* - rx-sec-pta: the device to receive a target abort during a posted
* transaction.
* - rx-sec-dta: the device to receive a target abort during a delayed
* transaction.
* - tx-sec-serr: the device to signal a system error.
* - tx-sec-ape: the transfer of bad address/parity. We must see sec_dpe/
* sserr/rec_serr. The initiator will only see the PERR# -
* so may raise mdpe. Another device on the secondary bus
* could detect and report the ape. The bridge could target
* abort or master abort or pass the request up to the
* primary bus.
* - tx-sec-pwdpe: the device to deliver bad data/parity during a posted
* write.
* - tx-sec-dwdpe: the device to deliver bad data/parity during a delayed
* write.
* - tx-sec-rdpe: the device to deliver bad data/parity during a read.
* - dto: the device to exceed the set timeout for a delayed
* transaction.
* - rx-pma: the device to send a bad address to the primary side
* bus during a posted transaction.
* - rx-dma: the device to send a bad address to the primary side bus
* during a delayed transaction.
*/
prop fault.io.pci.device@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.tx-sec-pma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-dma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-sec-pta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-sec-dta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-serr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-pma@pcibus/pcidev/pcifn,
error.io.pci.rx-dma@pcibus/pcidev/pcifn,
ereport.io.pci.dto@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-pma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sec-ma@pcibus/pcidev/pcifn,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.tx-sec-dma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.target-rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-ma@pcibus/pcidev/pcifn,
ereport.io.pci.sta@pcibus/pcidev/pcifn<>;
prop error.io.pci.tx-sec-dma@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rec-ta@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.rx-sec-pta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
error.io.pci.rx-ta@pcibus/pcidev/pcifn<>,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.rx-sec-dta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.target-rta@pcibus/pcidev/pcifn,
ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.rx-sec-dta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (2)->
ereport.io.pci.sec-sta@pcibus/pcidev/pcifn,
error.io.pci.rx-ta@pcibus/pcidev/pcifn<>;
prop error.io.pci.tx-sec-serr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sserr@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-rserr@pcibus/pcidev/pcifn,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (2)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-dpe@pcibus/pcidev/pcifn,
error.io.pci.rec-mdpe@pcibus/pcidev/pcifn<>,
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-pwdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.sec-dpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.sec-dpe@pcibus/pcidev/pcifn (2)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn,
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (1)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-dpe@pcibus/pcidev/pcifn,
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.sec-mdpe@pcibus/pcidev/pcifn,
ereport.io.pci.sec-dpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-rdpe@pcibus/pcidev[fromdev]/pcifn/pcibus/pcidev/pcifn (1)->
error.io.pci.rx-rdpe@pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (3)->
ereport.io.pci.sec-dpe@pcibus/pcidev/pcifn,
ereport.io.pci.sserr@pcibus/pcidev/pcifn<>,
error.io.pci.serr@pcibus;
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.mdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
ereport.io.pci.target-mdpe@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev[fromdev]/pcifn (0)->
ereport.io.pci.dpe@pcibus/pcidev/pcifn/pcibus/pcidev<todev>/pcifn<>
{fromdev != todev},
ereport.io.pci.sserr@pcibus/pcidev/pcifn/pcibus/pcidev<todev>/pcifn<>
{fromdev != todev};
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sec-rserr@pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.sec-sta@pcibus/pcidev/pcifn,
ereport.io.pci.target-rta@pcibus/pcidev/pcifn,
ereport.io.pci.rta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
ereport.io.pci.target-ma@pcibus/pcidev/pcifn,
ereport.io.pci.ma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.bdg-tx-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
asru pcibus/pcidev;
fru pcibus/pcidev/pcifn/pcibus;
/*
* A faulty secondary side PCI bus may cause:
*
* - tx-sec-ape: the transfer of bad address/parity when the secondary
* bus is the originator.
* - tx-sec-pwdpe: the transfer of bad data/parity during a posted write.
* - tx-sec-dwdpe: the transfer of bad data/parity during a delayed write.
* - tx-sec-rdpe: the transfer of bad data/parity during a read.
* - bdg-tx-sec-ape: the transfer of bad address/parity when the secondary
* bus is the destination.
* - bdg-tx-sec-rdpe: the transfer from the bridge of bad data/parity during a
* read.
* - bdg-tx-sec-pwdpe: the transfer from the bridge of bad data/parity during a
* posted write.
* - bdg-tx-sec-dwdpe: the transfer from the bridge of bad data/parity during a
* delayed write.
*/
event fault.io.pci.bus@pcibus/pcidev/pcifn/pcibus,
FITrate=PCI_BUS_FIT, FRU=pcibus/pcidev/pcifn/pcibus,
ASRU=pcibus/pcidev;
prop fault.io.pci.bus@pcibus/pcidev/pcifn/pcibus (0)->
error.io.pci.tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-ape@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-rdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-pwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.bdg-tx-sec-dwdpe@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
/*
* A defective device driver of a device that is off of a pci-pci bridge may
* cause:
*
* - tx-sec-pma: the device to not respond to a posted transaction.
* - tx-sec-dma: the device to not respond to a delayed transaction.
* - rx-sec-pta: the device to receive a target abort during a posted
* transaction.
* - rx-sec-dta: the device to receive a target abort during a delayed
* transaction.
* - rx-pma: the device to send a bad address to the primary side bus
* during a posted transaction.
* - rx-dma: the device to send a bad address to the primary side bus
* during a delayed transaction.
*/
event defect.io.pci.driver@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn;
prop defect.io.pci.driver@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn (0)->
error.io.pci.tx-sec-pma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.tx-sec-dma@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-sec-pta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-sec-dta@pcibus/pcidev/pcifn/pcibus/pcidev/pcifn,
error.io.pci.rx-pma@pcibus/pcidev/pcifn,
error.io.pci.rx-dma@pcibus/pcidev/pcifn;