2 <!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1">
4 Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5 Use is subject to license terms.
9 The contents of this file are subject to the terms of the
10 Common Development and Distribution License (the "License").
11 You may not use this file except in compliance with the License.
13 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14 or http://www.opensolaris.org/os/licensing.
15 See the License for the specific language governing permissions
16 and limitations under the License.
18 When distributing Covered Code, include this CDDL HEADER in each
19 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20 If applicable, add the following below this CDDL HEADER, with the
21 fields enclosed by brackets "[]" replaced with your own identifying
22 information: Portions Copyright [yyyy] [name of copyright owner]
28 <topology name='psu' scheme='hc'>
30 <set type='product' setlist='Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4100-M2|Sun-Fire-X4200-M2|Sun-Fire-X4140|Sun-Fire-X4240|Sun-Fire-X4440|Sun-Fire-X4600|Sun-Fire-X4600-M2'>
31 <range name='psu' min='0' max='100'>
32 <facility name='service' type='indicator' provider='fac_prov_ipmi' >
33 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
34 <propval name='entity_ref' type='string_array' >
35 <propitem value='PS_FAULT' />
36 <propitem value='sys.psfail.led' />
38 <propval name='type' type='uint32' value='0' />
39 <propmethod name='ipmi_indicator_mode' version='0'
40 propname='mode' proptype='uint32' mutable='1' >
45 We override the 'vinok' and 'pwrok' sensors so that we can declare
46 them as TOPO_SENSOR_TYPE_GENERIC_OK, which has semantic meaning for
47 fan/psu fault diagnosis.
49 <facility name='ps.vinok' type='sensor' provider='fac_prov_ipmi' >
50 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
51 <propval name='type' type='uint32' value='270' />
52 <propval name='sensor-class' type='string' value='discrete' />
53 <propmethod name='ipmi_entity' version='0'
54 propname='entity_ref' proptype='string_array' >
55 <argval name='format' type='string_array'>
56 <argitem value='PS%d/VINOK' />
57 <argitem value='ps%d.vinok' />
59 <argval name='offset' type='uint32' value='0' />
60 <argval name='nparams' type='uint32' value='1' />
62 <propmethod name='ipmi_sensor_state' version='0'
63 propname='state' proptype='uint32' >
67 <facility name='ps.pwrok' type='sensor' provider='fac_prov_ipmi' >
68 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
69 <propval name='type' type='uint32' value='270' />
70 <propval name='sensor-class' type='string' value='discrete' />
71 <propmethod name='ipmi_entity' version='0'
72 propname='entity_ref' proptype='string_array' >
73 <argval name='format' type='string_array' >
74 <argitem value='PS%d/PWROK' />
75 <argitem value='ps%d.pwrok' />
77 <argval name='offset' type='uint32' value='0' />
78 <argval name='nparams' type='uint32' value='1' />
80 <propmethod name='ipmi_sensor_state' version='0'
81 propname='state' proptype='uint32' >
85 <propgroup name='protocol' version='1'
86 name-stability='Private' data-stability='Private' >
88 <propmethod name='ipmi_fru_label' version='0'
89 propname='label' proptype='string' >
91 <argval name='format' type='string' value='PS%d' />
92 <argval name='offset' type='uint32' value='0' />
96 <propgroup name='ipmi' version='1'
97 name-stability='Private' data-stability='Private' >
99 <propmethod name='ipmi_entity' version='0'
100 propname='entity_ref' proptype='string_array' >
102 <argval name='format' type='string_array'>
103 <argitem value='PS%d/PRSNT' />
104 <argitem value='ps%d.prsnt' />
106 <argval name='offset' type='uint32' value='0' />
107 <argval name='nparams' type='uint32' value='1' />
115 Thumper platforms explicitly have only two power supplies, as the third
116 (unused) bay is reported via IPMI but not actually valid.
117 See comments above for why we manually specify vinok/pwrok
119 <set type='product' setlist='Sun-Fire-X4500|Sun-Fire-X4540'>
120 <range name='psu' min='0' max='100'>
122 <facility name='ps0.vinok' type='sensor' provider='fac_prov_ipmi' >
123 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
124 <propval name='type' type='uint32' value='270' />
125 <propval name='sensor-class' type='string' value='discrete' />
126 <propmethod name='ipmi_entity' version='0'
127 propname='entity_ref' proptype='string_array' >
128 <argval name='format' type='string_array' >
129 <argitem value='PS%d/VINOK' />
130 <argitem value='ps%d.vinok' />
132 <argval name='offset' type='uint32' value='0' />
133 <argval name='nparams' type='uint32' value='1' />
135 <propmethod name='ipmi_sensor_state' version='0'
136 propname='state' proptype='uint32' >
140 <facility name='ps0.pwrok' type='sensor' provider='fac_prov_ipmi' >
141 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
142 <propval name='type' type='uint32' value='270' />
143 <propval name='sensor-class' type='string' value='discrete' />
144 <propmethod name='ipmi_entity' version='0'
145 propname='entity_ref' proptype='string_array' >
146 <argval name='format' type='string_array' >
147 <argitem value='PS%d/PWROK' />
148 <argitem value='ps%d.pwrok' />
150 <argval name='offset' type='uint32' value='0' />
151 <argval name='nparams' type='uint32' value='1' />
153 <propmethod name='ipmi_sensor_state' version='0'
154 propname='state' proptype='uint32' >
158 <propgroup name='protocol' version='1'
159 name-stability='Private' data-stability='Private' >
160 <propval name='label' type='string' value='PS0' />
161 <propmethod name='ipmi_fru_fmri' version='0'
162 propname='FRU' proptype='fmri' >
163 <argval name='entity' type='string' value='self' />
166 <propgroup name='ipmi' version='1'
167 name-stability='Private' data-stability='Private' >
169 <propval name='entity_ref' type='string_array'>
170 <propitem value='PS0/PRSNT' />
171 <propitem value='ps0.prsnt' />
174 <enum-method name='ipmi' version='1' />
177 <facility name='ps1.vinok' type='sensor' provider='fac_prov_ipmi' >
178 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
179 <propval name='type' type='uint32' value='270' />
180 <propval name='sensor-class' type='string' value='discrete' />
181 <propmethod name='ipmi_entity' version='0'
182 propname='entity_ref' proptype='string_array' >
183 <argval name='format' type='string_array' >
184 <argitem value='PS%d/VINOK' />
185 <argitem value='ps%d.vinok' />
187 <argval name='offset' type='uint32' value='0' />
188 <argval name='nparams' type='uint32' value='1' />
190 <propmethod name='ipmi_sensor_state' version='0'
191 propname='state' proptype='uint32' >
195 <facility name='ps1.pwrok' type='sensor' provider='fac_prov_ipmi' >
196 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
197 <propval name='type' type='uint32' value='270' />
198 <propval name='sensor-class' type='string' value='discrete' />
199 <propmethod name='ipmi_entity' version='0'
200 propname='entity_ref' proptype='string_array' >
201 <argval name='format' type='string_array' >
202 <argitem value='PS%d/PWROK' />
203 <argitem value='ps%d.pwrok' />
205 <argval name='offset' type='uint32' value='0' />
206 <argval name='nparams' type='uint32' value='1' />
208 <propmethod name='ipmi_sensor_state' version='0'
209 propname='state' proptype='uint32' >
213 <propgroup name='protocol' version='1'
214 name-stability='Private' data-stability='Private' >
215 <propval name='label' type='string' value='PS1' />
216 <propmethod name='ipmi_fru_fmri' version='0'
217 propname='FRU' proptype='fmri' >
218 <argval name='entity' type='string' value='self' />
221 <propgroup name='ipmi' version='1'
222 name-stability='Private' data-stability='Private' >
224 <propval name='entity_ref' type='string_array'>
225 <propitem value='PS1/PRSNT' />
226 <propitem value='ps1.prsnt' />
229 <enum-method name='ipmi' version='1' />
233 <set type='product' setlist='SUN-FIRE-X4150|SUN-FIRE-X4250|SUN-FIRE-X4450'>
234 <range name='psu' min='0' max='1'>
235 <fac-enum provider='fac_prov_ipmi' />
237 <facility name='PS0.VINOK' type='sensor' provider='fac_prov_ipmi' >
238 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
239 <propval name='type' type='uint32' value='270' />
240 <propval name='sensor-class' type='string' value='discrete' />
241 <propmethod name='ipmi_entity' version='0'
242 propname='entity_ref' proptype='string_array' >
243 <argval name='format' type='string_array'>
244 <argitem value='PS%d/VINOK' />
246 <argval name='offset' type='uint32' value='0' />
247 <argval name='nparams' type='uint32' value='1' />
249 <propmethod name='ipmi_sensor_state' version='0'
250 propname='state' proptype='uint32' >
254 <facility name='PS0.PWROK' type='sensor' provider='fac_prov_ipmi' >
255 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
256 <propval name='type' type='uint32' value='270' />
257 <propval name='sensor-class' type='string' value='discrete' />
258 <propmethod name='ipmi_entity' version='0'
259 propname='entity_ref' proptype='string_array' >
260 <argval name='format' type='string_array'>
261 <argitem value='PS%d/PWROK' />
263 <argval name='offset' type='uint32' value='0' />
264 <argval name='nparams' type='uint32' value='1' />
266 <propmethod name='ipmi_sensor_state' version='0'
267 propname='state' proptype='uint32' >
271 <propgroup name='protocol' version='1'
272 name-stability='Private' data-stability='Private' >
273 <propval name='label' type='string' value='PS0' />
274 <propmethod name='ipmi_fru_fmri' version='0'
275 propname='FRU' proptype='fmri' >
276 <argval name='entity' type='string' value='self' />
279 <propgroup name='ipmi' version='1'
280 name-stability='Private' data-stability='Private' >
282 <propval name='entity_ref' type='string_array'>
283 <propitem value='PS0/PRSNT' />
286 <enum-method name='ipmi' version='1' />
289 <facility name='PS1.VINOK' type='sensor' provider='fac_prov_ipmi' >
290 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
291 <propval name='type' type='uint32' value='270' />
292 <propval name='sensor-class' type='string' value='discrete' />
293 <propmethod name='ipmi_entity' version='0'
294 propname='entity_ref' proptype='string_array' >
295 <argval name='format' type='string_array' >
296 <argitem value='PS%d/VINOK' />
298 <argval name='offset' type='uint32' value='0' />
299 <argval name='nparams' type='uint32' value='1' />
301 <propmethod name='ipmi_sensor_state' version='0'
302 propname='state' proptype='uint32' >
306 <facility name='PS1.PWROK' type='sensor' provider='fac_prov_ipmi' >
307 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
308 <propval name='type' type='uint32' value='270' />
309 <propval name='sensor-class' type='string' value='discrete' />
310 <propmethod name='ipmi_entity' version='0'
311 propname='entity_ref' proptype='string_array' >
312 <argval name='format' type='string_array' >
313 <argitem value='PS%d/PWROK' />
315 <argval name='offset' type='uint32' value='0' />
316 <argval name='nparams' type='uint32' value='1' />
318 <propmethod name='ipmi_sensor_state' version='0'
319 propname='state' proptype='uint32' >
323 <propgroup name='protocol' version='1'
324 name-stability='Private' data-stability='Private' >
325 <propval name='label' type='string' value='PS1' />
326 <propmethod name='ipmi_fru_fmri' version='0'
327 propname='FRU' proptype='fmri' >
328 <argval name='entity' type='string' value='self' />
331 <propgroup name='ipmi' version='1'
332 name-stability='Private' data-stability='Private' >
334 <propval name='entity_ref' type='string' value='PS1/PRSNT' />
336 <enum-method name='ipmi' version='1' />