xref: /onnv-gate/usr/src/cmd/fm/eversholt/files/common/sensor.esc (revision 8526:8159d305568c)
1*8526SRobert.Johnston@Sun.COM/*
2*8526SRobert.Johnston@Sun.COM * CDDL HEADER START
3*8526SRobert.Johnston@Sun.COM *
4*8526SRobert.Johnston@Sun.COM * The contents of this file are subject to the terms of the
5*8526SRobert.Johnston@Sun.COM * Common Development and Distribution License (the "License").
6*8526SRobert.Johnston@Sun.COM * You may not use this file except in compliance with the License.
7*8526SRobert.Johnston@Sun.COM *
8*8526SRobert.Johnston@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*8526SRobert.Johnston@Sun.COM * or http://www.opensolaris.org/os/licensing.
10*8526SRobert.Johnston@Sun.COM * See the License for the specific language governing permissions
11*8526SRobert.Johnston@Sun.COM * and limitations under the License.
12*8526SRobert.Johnston@Sun.COM *
13*8526SRobert.Johnston@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each
14*8526SRobert.Johnston@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*8526SRobert.Johnston@Sun.COM * If applicable, add the following below this CDDL HEADER, with the
16*8526SRobert.Johnston@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying
17*8526SRobert.Johnston@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner]
18*8526SRobert.Johnston@Sun.COM *
19*8526SRobert.Johnston@Sun.COM * CDDL HEADER END
20*8526SRobert.Johnston@Sun.COM */
21*8526SRobert.Johnston@Sun.COM/*
22*8526SRobert.Johnston@Sun.COM * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23*8526SRobert.Johnston@Sun.COM * Use is subject to license terms.
24*8526SRobert.Johnston@Sun.COM */
25*8526SRobert.Johnston@Sun.COM
26*8526SRobert.Johnston@Sun.COM#pragma dictionary "SENSOR"
27*8526SRobert.Johnston@Sun.COM
28*8526SRobert.Johnston@Sun.COM#define	TOPO_SENSOR_ERRSRC_UNKNOWN	0
29*8526SRobert.Johnston@Sun.COM#define	TOPO_SENSOR_ERRSRC_INTERNAL	1
30*8526SRobert.Johnston@Sun.COM#define	TOPO_SENSOR_ERRSRC_EXTERNAL	2
31*8526SRobert.Johnston@Sun.COM
32*8526SRobert.Johnston@Sun.COMfru fan;
33*8526SRobert.Johnston@Sun.COMfru psu;
34*8526SRobert.Johnston@Sun.COM
35*8526SRobert.Johnston@Sun.COM/*
36*8526SRobert.Johnston@Sun.COM * Generic fan/psu fault events.
37*8526SRobert.Johnston@Sun.COM */
38*8526SRobert.Johnston@Sun.COMevent fault.fan.failed@fan;
39*8526SRobert.Johnston@Sun.COMevent fault.psu.failed@psu;
40*8526SRobert.Johnston@Sun.COM
41*8526SRobert.Johnston@Sun.COM
42*8526SRobert.Johnston@Sun.COM/*
43*8526SRobert.Johnston@Sun.COM * Fine-grained fan/psu fault events
44*8526SRobert.Johnston@Sun.COM */
45*8526SRobert.Johnston@Sun.COMevent fault.fan.failed-pred@fan;
46*8526SRobert.Johnston@Sun.COMevent fault.psu.failed-int@psu;
47*8526SRobert.Johnston@Sun.COMevent fault.psu.failed-ext@psu;
48*8526SRobert.Johnston@Sun.COMevent fault.psu.failed-pred@psu;
49*8526SRobert.Johnston@Sun.COM
50*8526SRobert.Johnston@Sun.COM/*
51*8526SRobert.Johnston@Sun.COM * fan and psu ereports.
52*8526SRobert.Johnston@Sun.COM */
53*8526SRobert.Johnston@Sun.COMevent ereport.sensor.failure@fan;
54*8526SRobert.Johnston@Sun.COMevent ereport.sensor.failure@psu;
55*8526SRobert.Johnston@Sun.COM
56*8526SRobert.Johnston@Sun.COM/*
57*8526SRobert.Johnston@Sun.COM * Propagations.
58*8526SRobert.Johnston@Sun.COM */
59*8526SRobert.Johnston@Sun.COMprop fault.fan.failed@fan ->
60*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@fan { payloadprop("type") == "fan" &&
61*8526SRobert.Johnston@Sun.COM	payloadprop("predictive") == 0 };
62*8526SRobert.Johnston@Sun.COM
63*8526SRobert.Johnston@Sun.COMprop fault.fan.failed-pred@fan ->
64*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@fan { payloadprop("type") == "fan" &&
65*8526SRobert.Johnston@Sun.COM	payloadprop("predictive") == 1 };
66*8526SRobert.Johnston@Sun.COM
67*8526SRobert.Johnston@Sun.COMprop fault.psu.failed@psu ->
68*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@psu { payloadprop("type") == "psu" &&
69*8526SRobert.Johnston@Sun.COM        payloadprop("source") == TOPO_SENSOR_ERRSRC_UNKNOWN &&
70*8526SRobert.Johnston@Sun.COM	payloadprop("predictive") == 0 };
71*8526SRobert.Johnston@Sun.COM
72*8526SRobert.Johnston@Sun.COMprop fault.psu.failed-int@psu ->
73*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@psu { payloadprop("type") == "psu" &&
74*8526SRobert.Johnston@Sun.COM        payloadprop("source") == TOPO_SENSOR_ERRSRC_INTERNAL &&
75*8526SRobert.Johnston@Sun.COM	payloadprop("predictive") == 0 };
76*8526SRobert.Johnston@Sun.COM
77*8526SRobert.Johnston@Sun.COMprop fault.psu.failed-ext@psu ->
78*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@psu { payloadprop("type") == "psu" &&
79*8526SRobert.Johnston@Sun.COM        payloadprop("source") == TOPO_SENSOR_ERRSRC_EXTERNAL &&
80*8526SRobert.Johnston@Sun.COM	payloadprop("predictive") == 0 };
81*8526SRobert.Johnston@Sun.COM
82*8526SRobert.Johnston@Sun.COMprop fault.psu.failed-pred@psu ->
83*8526SRobert.Johnston@Sun.COM    ereport.sensor.failure@psu { payloadprop("type") == "psu" &&
84*8526SRobert.Johnston@Sun.COM        payloadprop("predictive") == 1 };
85