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
* 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.
*/
/*
* Faulty PCI device
*/
/*
* 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.
* 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.
* could target abort or master abort or let the request through
* to the secondary bus causing an ape there.
* request to a bridge.
* posted write request to a bridge.
* delayed write request to a bridge.
*
* NOTE: The rules below are specifically for the pci-pci bridge, in which it
*
* 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.
* request to the primary side bus.
* request to the primary side bus.
* to the primary side bus.
* serr *must* happen. In addition any hardened leaf
* driver on the secondary bus that detects the ape will
* abort or master abort.
* to the secondary side bus.
* request to the secondary side bus.
* 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.
*/
/*
* the rules below are for hostbridge faults above a pci-pci bridge
*/
/*
* The rules below are specifically for the pci-pci bridge, in which it
*/
/* A faulty PCI bus may cause:
*
*
* NOTE: The rules below are valid for pci-pci bridge transactions.
*
* to a pci-pci bridge.
* to a pci-pci bridge.
* to a pci-pci bridge.
* from a pci-pci bridge.
* transmission from a pci-pci bridge.
* transmission from a pci-pci bridge.
* from a pci-pci bridge.
*/
/*
* 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.
*/
/* PCI-PCI devices */
/*
* 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.
* 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.
* write.
* write.
* - 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.
*/
/*
* A faulty secondary side PCI bus may cause:
*
* bus is the originator.
* bus is the destination.
* read.
* posted write.
* delayed write.
*/
/*
* 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.
*/