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