1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _PICLDEFS_H 28 #define _PICLDEFS_H 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 /* 35 * PICL Tree paths 36 */ 37 #define PLATFORM_PATH "/platform" 38 #define MEMORY_PATH "/platform/memory" 39 #define FRUTREE_PATH "/frutree" 40 #define PICL_FRUTREE_CHASSIS "/frutree/chassis" 41 42 /* 43 * PICL classes 44 */ 45 #define PICL_CLASS_BYTE "byte" 46 #define PICL_CLASS_BLOCK "block" 47 #define PICL_CLASS_DISK "disk" 48 #define PICL_CLASS_CDROM "cdrom" 49 #define PICL_CLASS_FLOPPY "floppy" 50 #define PICL_CLASS_TAPE "tape" 51 #define PICL_CLASS_FABRIC "fabric" 52 #define PICL_CLASS_ATTACHMENT_POINT "attachment-point" 53 #define PICL_CLASS_DISPLAY "display" 54 #define PICL_CLASS_SERIAL "serial" 55 #define PICL_CLASS_PARALLEL "parallel" 56 #define PICL_CLASS_SEEPROM "seeprom" 57 #define PICL_CLASS_KEYBOARD "keyboard" 58 #define PICL_CLASS_MOUSE "mouse" 59 #define PICL_CLASS_MEMORY "memory" 60 #define PICL_CLASS_I2C "i2c" 61 #define PICL_CLASS_USB "usb" 62 #define PICL_CLASS_ISA "isa" 63 #define PICL_CLASS_DMA "dma" 64 #define PICL_CLASS_OBP_DEVICE "obp-device" 65 #define PICL_CLASS_TEMPERATURE_DEVICE "temperature-device" 66 #define PICL_CLASS_TEMPERATURE_SENSOR "temperature-sensor" 67 #define PICL_CLASS_TEMPERATURE_INDICATOR "temperature-indicator" 68 #define PICL_CLASS_VOLTAGE_INDICATOR "voltage-indicator" 69 #define PICL_CLASS_VOLTAGE_SENSOR "voltage-sensor" 70 #define PICL_CLASS_CURRENT_INDICATOR "current-indicator" 71 #define PICL_CLASS_CURRENT_SENSOR "current-sensor" 72 #define PICL_CLASS_LED "led" 73 #define PICL_CLASS_FAN "fan" 74 #define PICL_CLASS_FAN_CONTROL "fan-control" 75 #define PICL_CLASS_KEYSWITCH "keyswitch" 76 #define PICL_CLASS_EBUS "ebus" 77 #define PICL_CLASS_SYSTEM_CONTROLLER "system-controller" 78 #define PICL_CLASS_SERVICE_PROCESSOR "service-processor" 79 #define PICL_CLASS_HARDWARE_MONITOR "hardware-monitor" 80 #define PICL_CLASS_FLASHPROM "flashprom" 81 #define PICL_CLASS_SEEPROM "seeprom" 82 #define PICL_CLASS_FIREWIRE "firewire" 83 #define PICL_CLASS_I86CPUS "cpus" 84 #define PICL_CLASS_CPU "cpu" 85 #define PICL_CLASS_UPA "upa" 86 #define PICL_CLASS_PCI "pci" 87 #define PICL_CLASS_PCIEX "pciex" 88 #define PICL_CLASS_PMU "pmu" 89 #define PICL_CLASS_SOUND "sound" 90 #define PICL_CLASS_SBUS "sbus" 91 #define PICL_CLASS_SCSI "scsi" 92 #define PICL_CLASS_SCSI2 "scsi-2" 93 #define PICL_CLASS_GPTWO "gptwo" 94 #define PICL_CLASS_JBUS "jbus" 95 #define PICL_CLASS_MEMORY "memory" 96 #define PICL_CLASS_MEMORY_SEGMENT "memory-segment" 97 #define PICL_CLASS_MEMORY_BANK "memory-bank" 98 #define PICL_CLASS_MEMORY_CONTROLLER "memory-controller" 99 #define PICL_CLASS_MEMORY_MODULE_GROUP "memory-module-group" 100 #define PICL_CLASS_MEMORY_MODULE "memory-module" 101 #define PICL_CLASS_FRU "fru" 102 #define PICL_CLASS_LOCATION "location" 103 #define PICL_CLASS_SECTION "fru-section" 104 #define PICL_CLASS_SEGMENT "fru-segment" 105 #define PICL_CLASS_PORT "port" 106 #define PICL_CLASS_WATCHDOG_CONTROLLER "watchdog-controller" 107 #define PICL_CLASS_WATCHDOG_TIMER "watchdog-timer" 108 #define PICL_CLASS_CHASSIS_SERIAL_NUM "chassis-serial-number" 109 #define PICL_CLASS_MULTIPATH "multipath" 110 111 /* 112 * Sun4v platforms do not create /frutree; instead they create 113 * the /physical-platform subtree. The following is the list of 114 * additional PICL classes that may be present in /physical-platform 115 */ 116 #define PICL_CLASS_ALARM "alarm" 117 #define PICL_CLASS_BACKPLANE "backplane" 118 #define PICL_CLASS_BATTERY "battery" 119 #define PICL_CLASS_CHASSIS "chassis" 120 #define PICL_CLASS_CONTAINER "container" 121 #define PICL_CLASS_MODULE "module" 122 #define PICL_CLASS_OTHER "other" 123 #define PICL_CLASS_POWERSUPPLY "power-supply" 124 #define PICL_CLASS_RPM_INDICATOR "rpm-indicator" 125 #define PICL_CLASS_RPM_SENSOR "rpm-sensor" 126 #define PICL_CLASS_PRESENCE_INDICATOR "presence-indicator" 127 #define PICL_CLASS_INDICATOR "indicator" 128 #define PICL_CLASS_SENSOR "sensor" 129 #define PICL_CLASS_STACK "stack" 130 #define PICL_CLASS_UNKNOWN "unknown" 131 #define PICL_CLASS_HUMIDITY_SENSOR "humidity-sensor" 132 #define PICL_CLASS_HUMIDITY_INDICATOR "humidity-indicator" 133 134 /* 135 * Solaris driver property names 136 */ 137 #define PICL_PROP_INSTANCE "instance" 138 #define PICL_PROP_BINDING_NAME "binding-name" 139 #define PICL_PROP_BUS_ADDR "bus-addr" 140 #define PICL_PROP_DRIVER_NAME "driver-name" 141 #define PICL_PROP_DEVFS_PATH "devfs-path" 142 #define PICL_PROP_STATUS "status" 143 144 /* 145 * PICL property names 146 */ 147 #define PICL_PROP_PLATFORM_NAME "PlatformName" 148 #define PICL_PROP_SYSNAME "OS-Name" 149 #define PICL_PROP_NODENAME "HostName" 150 #define PICL_PROP_MACHINE "PlatformGroup" 151 #define PICL_PROP_RELEASE "OS-Release" 152 #define PICL_PROP_VERSION "OS-Version" 153 #define PICL_PROP_SIZE "Size" 154 #define PICL_PROP_ID "ID" 155 #define PICL_PROP_STATE "State" 156 #define PICL_PROP_PROCESSOR_TYPE "ProcessorType" 157 #define PICL_PROP_FPUTYPE "FPUType" 158 #define PICL_PROP_STATE_BEGIN "StateBegin" 159 #define PICL_PROP_FFB_BOARD_REV "FFB-Board-Rev" 160 #define PICL_PROP_FFB_FBRAM_VER "FFB-FBRAM-Ver" 161 #define PICL_PROP_FFB_DAC_VER "FFB-DAC-Ver" 162 #define PICL_PROP_UNIT_ADDRESS "UnitAddress" 163 #define PICL_PROP_SLOT "Slot" 164 #define PICL_PROP_DEVICE_ID "DeviceID" 165 #define PICL_PROP_TRANSFER_SIZE "TransferSize" 166 #define PICL_PROP_BASEADDRESS "BaseAddress" 167 #define PICL_PROP_INTERLEAVE_FACTOR "InterleaveFactor" 168 #define PICL_PROP_ADDRESSMASK "AddressMask" 169 #define PICL_PROP_ADDRESSMATCH "AddressMatch" 170 #define PICL_PROP_LABEL "Label" 171 #define PICL_PROP_CONTAINER "Container" 172 #define PICL_PROP_OFFSET "Offset" 173 #define PICL_PROP_LENGTH "Length" 174 #define PICL_PROP_PROTECTED "Protected" 175 #define PICL_PROP_NUM_SEGMENTS "#Segments" 176 #define PICL_PROP_DESCRIPTOR "Descriptor" 177 #define PICL_PROP_PACKET_TABLE "PacketTable" 178 #define PICL_PROP_NUM_TAGS "#Packets" 179 #define PICL_PROP_ADD_SEGMENT "AddSegment" 180 #define PICL_PROP_DELETE_PACKET "DeletePacket" 181 #define PICL_PROP_ADD_PACKET "AddPacket" 182 #define PICL_PROP_DELETE_SEGMENT "DeleteSegment" 183 #define PICL_PROP_TAG "Tag" 184 #define PICL_PROP_PAYLOAD "Payload" 185 #define PICL_PROP_FRUDATA_AVAIL "FRUDataAvailable" 186 #define PICL_PROP_DEVICEPATH "FRUDevicePath" 187 #define PICL_PROP_FAN_SPEED "Speed" 188 #define PICL_PROP_FAN_SPEED_UNIT "SpeedUnit" 189 #define PICL_PROP_TEMPERATURE "Temperature" 190 #define PICL_PROP_CPU_AMB_TEMP "AmbientTemperature" 191 #define PICL_PROP_CPU_DIE_TEMP "Temperature" 192 #define PICL_PROP_IS_LOCATOR "IsLocator" 193 #define PICL_PROP_LOCATOR_NAME "LocatorName" 194 #define PICL_PROP_DEVICES "Devices" 195 #define PICL_PROP_ENV "Environment" 196 #define PICL_PROP_COLOR "Color" 197 #define PICL_PROP_SC_HANDLE "SC_handle" 198 #define PICL_PROP_FRU_TYPE "FRUType" 199 #define PICL_PROP_SLOT_TYPE "SlotType" 200 #define PICL_PROP_OPERATIONAL_STATUS "OperationalStatus" 201 #define PICL_PROP_VOLTAGE "Voltage" 202 #define PICL_PROP_CURRENT "Current" 203 #define PICL_PROP_CLASS "Class" 204 #define PICL_PROP_CONDITION "Condition" 205 #define PICL_REFPROP_LOC_PARENT "_location_parent" 206 #define PICL_REFPROP_FRU_PARENT "_fru_parent" 207 #define PICL_REFPROP_PORT_PARENT "_port_parent" 208 #define PICL_REFPROP_MEMORY_MODULE_GROUP "_memory-module-group_" 209 #define PICL_REFPROP_MEMORY_MODULE "_memory-module_" 210 #define PICL_REFPROP_SEEPROM_SRC "_seeprom_source" 211 #define PICL_PROP_DEVICE_TYPE "device_type" 212 #define PICL_PROP_PROBE_PATH "PdevProbePath" 213 #define PICL_PROP_WATCHDOG_ACTION "WdAction" 214 #define PICL_PROP_WATCHDOG_TIMEOUT "WdTimeout" 215 #define PICL_PROP_WATCHDOG_OPERATION "WdOp" 216 #define PICL_PROP_STATUS_TIME "StatusTime" 217 #define PICL_PROP_CONDITION "Condition" 218 #define PICL_PROP_CONDITION_TIME "ConditionTime" 219 #define PICL_PROP_CHASSIS_TYPE "ChassisType" 220 #define PICL_PROP_GEO_ADDR "GeoAddr" 221 #define PICL_PROP_ADMIN_LOCK "AdminLock" 222 #define PICL_PROP_PORT_TYPE "PortType" 223 #define PICL_PROP_SERIAL_NUMBER "SerialNumber" 224 225 #define PICL_UNITADDR_LEN_MAX 256 226 227 /* 228 * Additional PICL properties for Sun4v platforms 229 */ 230 #define PICL_PROP_BATTERY_STATUS "BatteryStatus" 231 #define PICL_PROP_EXPECTED "Expected" 232 #define PICL_PROP_FW_REVISION "FW-version" 233 #define PICL_PROP_HW_REVISION "HW-version" 234 #define PICL_PROP_IS_REPLACEABLE "Replaceable" 235 #define PICL_PROP_IS_HOT_SWAPPABLE "HotSwappable" 236 #define PICL_PROP_IS_FRU "FRU" 237 #define PICL_PROP_PHYS_DESCRIPTION "Description" 238 #define PICL_PROP_SPEED "Speed" 239 #define PICL_PROP_MFG_NAME "MfgName" 240 #define PICL_PROP_MODEL_NAME "ModelName" 241 #define PICL_PROP_SENSOR_VALUE "SensorValue" 242 #define PICL_PROP_BASE_UNITS "BaseUnits" 243 #define PICL_PROP_EXPONENT "Exponent" 244 #define PICL_PROP_RATE_UNITS "RateUnits" 245 #define PICL_PROP_HUMIDITY "Humidity" 246 247 /* 248 * Various threshold property names 249 */ 250 #define PICL_PROP_LOW_POWER_OFF "LowPowerOffThreshold" 251 #define PICL_PROP_LOW_SHUTDOWN "LowShutdownThreshold" 252 #define PICL_PROP_LOW_WARNING "LowWarningThreshold" 253 #define PICL_PROP_TARGET_TEMPERATURE "TargetTemperature" 254 #define PICL_PROP_HIGH_POWER_OFF "HighPowerOffThreshold" 255 #define PICL_PROP_HIGH_SHUTDOWN "HighShutdownThreshold" 256 #define PICL_PROP_HIGH_WARNING "HighWarningThreshold" 257 258 /* 259 * OBP property names 260 */ 261 #define OBP_PROP_UPA_PORTID "upa-portid" 262 #define OBP_PROP_PORTID "portid" 263 #define OBP_PROP_CPUID "cpuid" 264 #define OBP_PROP_SIZE_CELLS "#size-cells" 265 #define OBP_PROP_ADDRESS_CELLS "#address-cells" 266 267 /* 268 * PICL Event names 269 */ 270 #define PICLEVENT_SYSEVENT_DEVICE_ADDED "sysevent-device-added" 271 #define PICLEVENT_SYSEVENT_DEVICE_REMOVED "sysevent-device-removed" 272 #define PICLEVENT_DR_AP_STATE_CHANGE "dr-ap-state-change" 273 #define PICLEVENT_MC_ADDED "picl-memory-controller-added" 274 #define PICLEVENT_MC_REMOVED "picl-memory-controller-removed" 275 #define PICLEVENT_STATE_CHANGE "picl-state-change" 276 #define PICLEVENT_CONDITION_CHANGE "picl-condition-change" 277 #define PICLEVENT_CPU_STATE_CHANGE "picl-cpu-node-state-change" 278 #define PICLEVENT_DR_REQ "dr-req" 279 280 /* 281 * Contract Private 282 */ 283 #define PICL_FRU_ADDED "picl-fru-added" /* PSARC/2000/546 */ 284 #define PICL_FRU_REMOVED "picl-fru-removed" /* PSARC/2000/546 */ 285 286 /* 287 * PICL Event Argument Names 288 */ 289 #define PICLEVENTARG_DEVFS_PATH "devfs-path" 290 #define PICLEVENTARG_AP_ID "ap-id" 291 #define PICLEVENTARG_HINT "hint" 292 #define PICLEVENTARG_NODEHANDLE "picl-nodehandle" 293 #define PICLEVENTARG_DR_REQ_TYPE "req-type" 294 #define PICLEVENTARG_CPU_EV_TYPE "cpu-ev-type" 295 #define PICLEVENTARG_STATE "State" 296 #define PICLEVENTARG_LAST_STATE "LastState" 297 #define PICLEVENTARG_CONDITION "Condition" 298 299 /* 300 * PICL Label Names 301 */ 302 #define PICL_PROPVAL_LABEL_DIE "Die" 303 #define PICL_PROPVAL_LABEL_AMBIENT "Ambient" 304 305 /* 306 * Contract Private 307 */ 308 #define PICLEVENTARG_FRUHANDLE "picl-fru-handle" /* PSARC/2000/546 */ 309 #define PICLEVENTARG_PARENTHANDLE "picl-parent-handle" /* 2000/546 */ 310 311 /* 312 * The following are PICL PRIVATE event argument names 313 */ 314 #define PICLEVENTARG_EVENT_NAME "piclevent-name" 315 #define PICLEVENTARG_DATA_TYPE "piclevent-data-type" 316 317 /* 318 * The following are values of piclevent-data-type (PRIVATE) 319 */ 320 #define PICLEVENTARG_PICLEVENT_DATA "piclevent-data" 321 322 /* These values are used for PICLEVENT_CPU_STATE_CHANGE event */ 323 #define PICLEVENTARGVAL_ONLINE "Online" 324 #define PICLEVENTARGVAL_OFFLINE "Offline" 325 326 /* 327 * These values are used for PICLEVENT_STATE_CHANGE, 328 * PICLEVENT_CONDITION_CHANGE event 329 */ 330 #define PICLEVENTARGVAL_UNKNOWN "unknown" 331 #define PICLEVENTARGVAL_OK "ok" 332 #define PICLEVENTARGVAL_FAILING "failing" 333 #define PICLEVENTARGVAL_FAILED "failed" 334 #define PICLEVENTARGVAL_TESTING "testing" 335 #define PICLEVENTARGVAL_UNUSABLE "unusable" 336 #define PICLEVENTARGVAL_CONNECTING "connecting" 337 #define PICLEVENTARGVAL_DISCONNECTING "disconnecting" 338 #define PICLEVENTARGVAL_CONNECTED "connected" 339 #define PICLEVENTARGVAL_DISCONNECTED "disconnected" 340 #define PICLEVENTARGVAL_EMPTY "empty" 341 #define PICLEVENTARGVAL_CONFIGURED "configured" 342 #define PICLEVENTARGVAL_UNCONFIGURED "unconfigured" 343 #define PICLEVENTARGVAL_CONFIGURING "configuring" 344 #define PICLEVENTARGVAL_UNCONFIGURING "unconfiguring" 345 #define PICLEVENTARGVAL_UP "up" 346 #define PICLEVENTARGVAL_DOWN "down" 347 348 /* PSARC 2003/163 */ 349 #define PICLEVENTARGVAL_SENSOR_COND_WARNING "warning" 350 #define PICLEVENTARGVAL_SENSOR_COND_SHUTDOWN "shutdown" 351 352 /* PSARC 2003/231 */ 353 /* watchdog property values */ 354 #define PICL_PROPVAL_WD_OP_ARM "arm" 355 #define PICL_PROPVAL_WD_OP_DISARM "disarm" 356 #define PICL_PROPVAL_WD_ACTION_NONE "none" 357 #define PICL_PROPVAL_WD_ACTION_REBOOT "reboot" 358 #define PICL_PROPVAL_WD_ACTION_ALARM "alarm" 359 #define PICL_PROPVAL_WD_ACTION_RESET "reset" 360 #define PICL_PROPVAL_WD_STATE_ARMED "armed" 361 #define PICL_PROPVAL_WD_STATE_DISARMED "disarmed" 362 #define PICL_PROPVAL_WD_STATE_EXPIRED "expired" 363 364 #ifdef __cplusplus 365 } 366 #endif 367 368 #endif /* _PICLDEFS_H */ 369