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