xref: /onnv-gate/usr/src/cmd/fm/eversholt/files/sparc/sun4u/oberon.esc (revision 7197:6062b005c7ea)
11772Sjl139090/*
21772Sjl139090 * CDDL HEADER START
31772Sjl139090 *
41772Sjl139090 * The contents of this file are subject to the terms of the
51772Sjl139090 * Common Development and Distribution License (the "License").
61772Sjl139090 * You may not use this file except in compliance with the License.
71772Sjl139090 *
81772Sjl139090 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91772Sjl139090 * or http://www.opensolaris.org/os/licensing.
101772Sjl139090 * See the License for the specific language governing permissions
111772Sjl139090 * and limitations under the License.
121772Sjl139090 *
131772Sjl139090 * When distributing Covered Code, include this CDDL HEADER in each
141772Sjl139090 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151772Sjl139090 * If applicable, add the following below this CDDL HEADER, with the
161772Sjl139090 * fields enclosed by brackets "[]" replaced with your own identifying
171772Sjl139090 * information: Portions Copyright [yyyy] [name of copyright owner]
181772Sjl139090 *
191772Sjl139090 * CDDL HEADER END
201772Sjl139090 */
211772Sjl139090/*
22*7197Sstephh * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
231772Sjl139090 * Use is subject to license terms.
241772Sjl139090 */
251772Sjl139090
261772Sjl139090#pragma ident	"%Z%%M%	%I%	%E% SMI"
271772Sjl139090
281772Sjl139090/*
291772Sjl139090 * Eversholt rules for Oberon ASICs
301772Sjl139090 */
311772Sjl139090
321772Sjl139090#pragma dictionary "SUN4U"
331772Sjl139090
341772Sjl139090#define HB_FIT            1000
351772Sjl139090
361772Sjl139090/*
371772Sjl139090 * Test for primary or secondary ereports
381772Sjl139090 */
391772Sjl139090#define IS_PRIMARY (payloadprop("primary"))
401772Sjl139090#define IS_SECONDARY (! payloadprop("primary"))
411772Sjl139090
421772Sjl139090event error.io.oberon.pec.secondary@hostbridge/pciexrc;
431772Sjl139090event error.io.oberon.pec.fabric_error@hostbridge/pciexrc;
441772Sjl139090
451772Sjl139090/*
461772Sjl139090 * Ereports derived from the
471772Sjl139090 * UBC Status Clear Register
481772Sjl139090 *
491772Sjl139090 *    dmarduea-channel	DMA read uncorrectable error (UE) in leaf A
501772Sjl139090 *    dmawtuea		DMA write UE in leaf A
511772Sjl139090 *    memrdaxa  	Memory read invalid address error in leaf A
521772Sjl139090 *    memwtaxa  	Memory write invalid address error in leaf A
531772Sjl139090 *    dmardueb-channel  DMA read uncorrectable error (UE) in leaf B
541772Sjl139090 *    dmawtueb		DMA write UE in leaf B
551772Sjl139090 *    memrdaxb		Memory read invalid address error in leaf B
561772Sjl139090 *    memwtaxb		Memory write invalid address error in leaf B
571772Sjl139090 *    piowtue-channel	PIO write UE
581772Sjl139090 *    piowbeue-channel	PIO write byte enable UE
591772Sjl139090 *    piorbeue-channel	PIO read byte enable UE
601772Sjl139090 */
611772Sjl139090event ereport.io.oberon.ubc.dmarduea-channel@hostbridge/pciexrc{within(5s)};
621772Sjl139090event ereport.io.oberon.ubc.dmawtuea@hostbridge/pciexrc{within(5s)};
631772Sjl139090event ereport.io.oberon.ubc.memrdaxa@hostbridge/pciexrc{within(5s)};
641772Sjl139090event ereport.io.oberon.ubc.memwtaxa@hostbridge/pciexrc{within(5s)};
651772Sjl139090event ereport.io.oberon.ubc.dmardueb-channel@hostbridge/pciexrc{within(5s)};
661772Sjl139090event ereport.io.oberon.ubc.dmawtueb@hostbridge/pciexrc{within(5s)};
671772Sjl139090event ereport.io.oberon.ubc.memrdaxb@hostbridge/pciexrc{within(5s)};
681772Sjl139090event ereport.io.oberon.ubc.memwtaxb@hostbridge/pciexrc{within(5s)};
691772Sjl139090event ereport.io.oberon.ubc.piowtue-channel@hostbridge/pciexrc{within(5s)};
701772Sjl139090event ereport.io.oberon.ubc.piowbeue-channel@hostbridge/pciexrc{within(5s)};
711772Sjl139090event ereport.io.oberon.ubc.piorbeue-channel@hostbridge/pciexrc{within(5s)};
721772Sjl139090
731772Sjl139090/*
741772Sjl139090 *    tlueitmo	TLU Egress Issue Timeout
751772Sjl139090 */
761772Sjl139090event ereport.io.oberon.pec.tlueitmo@hostbridge/pciexrc{within(5s)};
771772Sjl139090
781772Sjl139090/*
791772Sjl139090 * TLU Uncorrectable and Correctable ereports
801772Sjl139090 *
811772Sjl139090 *     ecrc	End-to-end CRC error
821772Sjl139090 */
831772Sjl139090event ereport.io.oberon.pec.ecrc@hostbridge/pciexrc{within(5s)};
841772Sjl139090
851772Sjl139090/*
861772Sjl139090 * A faulty Oberon may cause;
871772Sjl139090 *
881772Sjl139090 *  - DMA write internal RAM UE: dmawtuea, dmawtueb
891772Sjl139090 *  - TLU ECRC
901772Sjl139090 *
911772Sjl139090 *  Errors marked with * may cause PCI-E abort
921772Sjl139090 */
931772Sjl139090
945168Sarutzfru hostbridge;
955168Sarutzasru hostbridge;
965168Sarutzevent fault.io.oberon@hostbridge,
975168Sarutz    FITrate=HB_FIT, FRU=hostbridge, ASRU=hostbridge;
985168Sarutzprop fault.io.oberon@hostbridge (0)->
995168Sarutz    ereport.io.oberon.ubc.dmawtuea@hostbridge/pciexrc,
1005168Sarutz    ereport.io.oberon.ubc.dmawtueb@hostbridge/pciexrc;
1011772Sjl139090event fault.io.oberon@hostbridge/pciexrc,
1025168Sarutz    FITrate=HB_FIT, FRU=hostbridge, ASRU=hostbridge;
1031772Sjl139090prop fault.io.oberon@hostbridge/pciexrc (0)->
1041772Sjl139090    ereport.io.oberon.pec.ecrc@hostbridge/pciexrc { IS_PRIMARY };
1051772Sjl139090
1061772Sjl139090/*
1071772Sjl139090 * A faulty PX nexus driver can cause
1081772Sjl139090 * - Jbus unmapped error
1091772Sjl139090 * - mmu invalid, out of range, protection etc. all except data parity
1101772Sjl139090 * - invalid pio r/w
1111772Sjl139090 * - unsolicited read or interrupt return
1121772Sjl139090 * - msg received to unenabled queue
1131772Sjl139090 */
1141772Sjl139090
1153989Set142600#define SW_FIT			5000	/* No real fit rate, SW */
116*7197Sstephhevent fault.io.fire.hb.sw-config@hostbridge/pciexrc, retire=0, response=0,
1173989Set142600    FITrate=SW_FIT;
1181772Sjl139090
1193989Set142600prop fault.io.fire.hb.sw-config@hostbridge/pciexrc (0)->
1201772Sjl139090    ereport.io.oberon.ubc.memrdaxa@hostbridge/pciexrc,
1211772Sjl139090    ereport.io.oberon.ubc.memrdaxb@hostbridge/pciexrc,
1221772Sjl139090    ereport.io.oberon.ubc.memwtaxa@hostbridge/pciexrc,
1231772Sjl139090    ereport.io.oberon.ubc.memwtaxb@hostbridge/pciexrc;
1241772Sjl139090
1251772Sjl139090/*
1261772Sjl139090 * Secondary errors of the ereport that the device is at fault.
1271772Sjl139090 * Undiagnosed the secondary errors since the payload is invalid.
1281772Sjl139090 */
1291772Sjl139090prop error.io.oberon.pec.secondary@hostbridge/pciexrc (0) ->
1301772Sjl139090    ereport.io.oberon.pec.ecrc@hostbridge/pciexrc{ IS_SECONDARY };
1311772Sjl139090
1321772Sjl139090/*
1331772Sjl139090 * For logging purpose only.
1341772Sjl139090 * The px nexus driver generates equivalent pciex ereports for the
1351772Sjl139090 * common pciex rules to diagnose.
1361772Sjl139090 */
1371772Sjl139090prop error.io.oberon.pec.fabric_error@hostbridge/pciexrc(0) ->
1381772Sjl139090    ereport.io.oberon.pec.ecrc@hostbridge/pciexrc;
1391772Sjl139090
1401772Sjl139090event ereport.io.oberon.nodiag@hostbridge;
1411772Sjl139090
1421772Sjl139090/*
1431772Sjl139090 * Upset used to hide ereports that are not currently diagnosed.
1441772Sjl139090 */
1451772Sjl139090engine serd.io.oberon.nodiag@hostbridge,
1461772Sjl139090    N=1000, T=1s, method=persistent,
1471772Sjl139090    trip=ereport.io.oberon.nodiag@hostbridge;
1481772Sjl139090
1491772Sjl139090event upset.io.oberon.nodiag@hostbridge,
1501772Sjl139090    engine=serd.io.oberon.nodiag@hostbridge;
1511772Sjl139090
1521772Sjl139090prop upset.io.oberon.nodiag@hostbridge (0)->
1531772Sjl139090   ereport.io.oberon.ubc.dmarduea-channel@hostbridge/pciexrc,
1541772Sjl139090   ereport.io.oberon.ubc.dmardueb-channel@hostbridge/pciexrc,
1551772Sjl139090   ereport.io.oberon.ubc.piowtue-channel@hostbridge/pciexrc,
1561772Sjl139090   ereport.io.oberon.ubc.piowbeue-channel@hostbridge/pciexrc,
1571772Sjl139090   ereport.io.oberon.ubc.piorbeue-channel@hostbridge/pciexrc,
1581772Sjl139090   ereport.io.oberon.pec.tlueitmo@hostbridge/pciexrc,
1591772Sjl139090   error.io.oberon.pec.fabric_error@hostbridge/pciexrc,
1601772Sjl139090   ereport.io.oberon.nodiag@hostbridge;
161