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