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 (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 24 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 25 */ 26 27 #ifndef _TOPO_HC_H 28 #define _TOPO_HC_H 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 /* 35 * Allowable hardware component names for hc FMRIs 36 */ 37 #define BANK "bank" 38 #define BAY "bay" 39 #define BLADE "blade" 40 #define BRANCH "branch" 41 #define CMP "CMP" 42 #define CENTERPLANE "centerplane" 43 #define CHASSIS "chassis" 44 #define CHIP "chip" 45 #define CORE "core" 46 #define STRAND "strand" 47 #define CHIP_SELECT "chip-select" 48 #define CONTROLLER "controller" 49 #define CPU "cpu" 50 #define CPUBOARD "cpuboard" 51 #define DIMM "dimm" 52 #define DISK "disk" 53 #define DRAM "dram" 54 #define DRAMCHANNEL "dram-channel" 55 #define FAN "fan" 56 #define FANBOARD "fanboard" 57 #define FANMODULE "fanmodule" 58 #define HBA "hba" 59 #define HOSTBRIDGE "hostbridge" 60 #define INTERCONNECT "interconnect" 61 #define IOBOARD "ioboard" 62 #define IPORT "iport" 63 #define MEMBOARD "memboard" 64 #define MEMORYBUFFER "memory-buffer" 65 #define MEMORYCONTROL "memory-controller" 66 #define MICROCORE "micro-core" 67 #define MOTHERBOARD "motherboard" 68 #define NIU "niu" 69 #define NIUFN "niufn" 70 #define PCI_BUS "pcibus" 71 #define PCI_DEVICE "pcidev" 72 #define PCI_FUNCTION "pcifn" 73 #define PCIEX_BUS "pciexbus" 74 #define PCIEX_DEVICE "pciexdev" 75 #define PCIEX_FUNCTION "pciexfn" 76 #define PCIEX_ROOT "pciexrc" 77 #define PCIEX_SWUP "pciexswu" 78 #define PCIEX_SWDWN "pciexswd" 79 #define POWERBOARD "powerboard" 80 #define POWERMODULE "powermodule" 81 #define PSU "psu" 82 #define RANK "rank" 83 #define RECEPTACLE "receptacle" 84 #define RISER "riser" 85 #define SASEXPANDER "sas-expander" 86 #define SHELF "shelf" 87 #define SCSI_DEVICE "scsi-device" 88 #define SES_ENCLOSURE "ses-enclosure" 89 #define SMP_DEVICE "smp-device" 90 #define SP "sp" 91 #define SUBCHASSIS "subchassis" 92 #define SYSTEMBOARD "systemboard" 93 #define XAUI "xaui" 94 #define XFP "xfp" 95 96 /* 97 * Allowable hc node property group and property names 98 */ 99 #define TOPO_PGROUP_IO "io" 100 #define TOPO_IO_DEVTYPE "devtype" 101 #define TOPO_IO_DRIVER "driver" 102 #define TOPO_IO_MODULE "module" 103 #define TOPO_IO_DEV "dev" 104 #define TOPO_IO_DEVID "devid" 105 #define TOPO_IO_DEV_PATH "devfs-path" 106 #define TOPO_IO_AP_PATH "ap-path" 107 #define TOPO_IO_PHYS_PATH "phys-path" 108 109 #define TOPO_PGROUP_PCI "pci" 110 #define TOPO_PCI_VENDID "vendor-id" 111 #define TOPO_PCI_DEVID "device-id" 112 #define TOPO_PCI_EXCAP "extended-capabilities" 113 #define TOPO_PCI_BDF "BDF" 114 #define TOPO_PCI_CLASS "class-code" 115 #define TOPO_PCI_AADDR "assigned-addresses" 116 117 #define TOPO_PGROUP_BINDING "binding" 118 #define TOPO_BINDING_OCCUPANT "occupant-path" 119 #define TOPO_BINDING_DRIVER "driver" 120 #define TOPO_BINDING_DEVCTL "devctl" 121 #define TOPO_BINDING_ENCLOSURE "enclosure" 122 #define TOPO_BINDING_SLOT "slot" 123 124 #define TOPO_PGROUP_STORAGE "storage" 125 #define TOPO_STORAGE_INITIATOR_PORT "initiator-port" 126 #define TOPO_STORAGE_INITIATOR_PORT_PM "initiator-port-pm" 127 #define TOPO_STORAGE_TARGET_PORT "target-port" 128 #define TOPO_STORAGE_TARGET_PORT_L0ID "target-port-l0id" 129 #define TOPO_STORAGE_TARGET_PORT_L0IDS "target-port-l0ids" 130 #define TOPO_STORAGE_ATTACHED_PORT "attached-port" 131 #define TOPO_STORAGE_TARGET_PORT_PM "target-port-pm" 132 #define TOPO_STORAGE_ATTACHED_PORT_PM "attached-port-pm" 133 #define TOPO_STORAGE_DEVID "devid" 134 #define TOPO_STORAGE_LUN64 "lun64" 135 #define TOPO_STORAGE_DEVICE_TYPE "inquiry-device-type" 136 #define TOPO_STORAGE_MANUFACTURER "manufacturer" 137 #define TOPO_STORAGE_MODEL "model" 138 #define TOPO_STORAGE_FIRMWARE_REV "firmware-revision" 139 #define TOPO_STORAGE_SAS_PHY_MASK "receptacle-pm" 140 #define TOPO_STORAGE_SAS_CONNECTOR_TYPE "sas-connector-type" 141 142 #define TOPO_PGROUP_SES "ses" 143 /* Applied any SES standard related topo node. */ 144 #define TOPO_PROP_NODE_ID "node-id" 145 #define TOPO_PROP_TARGET_PATH "target-path" 146 #define TOPO_PROP_SES_DEVID "ses-devid" 147 #define TOPO_PROP_SES_DEV_PATH "ses-devfs-path" 148 #define TOPO_PROP_SES_PHYS_PATH "ses-phys-path" 149 #define TOPO_PROP_SES_TARGET_PORT "ses-target-port" 150 151 #define TOPO_PGROUP_SMP "smp" 152 /* host SMP target related info for an expander node. */ 153 #define TOPO_PROP_SMP_DEVID "smp-devid" 154 #define TOPO_PROP_SMP_DEV_PATH "smp-devfs-path" 155 #define TOPO_PROP_SMP_PHYS_PATH "smp-phys-path" 156 #define TOPO_PROP_SMP_TARGET_PORT "smp-target-port" 157 #define TOPO_PROP_SAS_ADDR "sas-address" 158 #define TOPO_PROP_PHY_COUNT "phy-count" 159 #define TOPO_PROP_PATHS "paths" 160 #define TOPO_PROP_CHASSIS_TYPE "chassis-type" 161 #define TOPO_PROP_SAS_PHY_MASK "phy-mask" 162 #define TOPO_PROP_SAS_CONNECTOR_TYPE "sas-connector-type" 163 164 #ifdef __cplusplus 165 } 166 #endif 167 168 #endif /* _TOPO_HC_H */ 169