1<?xml version="1.0"?>
2<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1">
3<!--
4 Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5 Use is subject to license terms.
6
7 CDDL HEADER START
8
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.
12
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.
17
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]
23
24 CDDL HEADER END
25
26-->
27
28<topology name='chip' scheme='hc'>
29
30    <range name='chip' min='0' max='256'>
31
32        <set type='product'
33	    setlist='Sun-Fire(TM)-X2100|W1100z-2100z|Sun-Ultra-20-Workstation|Ultra20-M2|Sun-Ultra-40-M2-Workstation'>
34
35            <propgroup name='protocol' version='1'
36                name-stability='Private' data-stability='Private' >
37
38                <propmethod name='simple_chip_label' version='0'
39		            propname='label' proptype='string' >
40
41                    <argval name='format' type='string' value='CPU %d' />
42                    <argval name='offset' type='uint32' value='0' />
43
44                </propmethod>
45
46            </propgroup>
47
48        </set>
49        <set type='product' setlist='SUN-FIRE-X4150|SUN-FIRE-X4250'>
50
51	    <fac-enum provider='fac_prov_ipmi' />
52            <propgroup name='protocol' version='1'
53                name-stability='Private' data-stability='Private' >
54
55                <propmethod name='simple_chip_label' version='0'
56		            propname='label' proptype='string' >
57
58                    <argval name='format' type='string' value='CPU %d' />
59                    <argval name='offset' type='uint32' value='0' />
60
61                </propmethod>
62
63            </propgroup>
64            <propgroup name='ipmi' version='1'
65               name-stability='Private' data-stability='Private' >
66                 <propmethod name='ipmi_entity' version='0'
67		            propname='entity_ref' proptype='string_array' >
68
69                    <argval name='format' type='string_array'>
70		        <argitem value='MB/P%d' />
71		    </argval>
72                    <argval name='offset' type='uint32' value='0' />
73                    <argval name='nparams' type='uint32' value='1' />
74
75                </propmethod>
76            </propgroup>
77
78        </set>
79        <set type='product'
80	    setlist='Sun-Fire-V20z|Sun-Fire-V40z'>
81
82	    <fac-enum provider='fac_prov_ipmi' />
83            <propgroup name='protocol' version='1'
84                name-stability='Private' data-stability='Private' >
85
86                <propmethod name='simple_chip_label' version='0'
87		            propname='label' proptype='string' >
88
89                    <argval name='format' type='string' value='CPU %d' />
90                    <argval name='offset' type='uint32' value='0' />
91
92                </propmethod>
93
94            </propgroup>
95            <propgroup name='ipmi' version='1'
96               name-stability='Private' data-stability='Private' >
97                 <propmethod name='ipmi_entity' version='0'
98		            propname='entity_ref' proptype='string_array' >
99
100                    <argval name='format' type='string_array'>
101		        <argitem value='cpu%d.vpd' />
102		    </argval>
103                    <argval name='offset' type='uint32' value='0' />
104                    <argval name='nparams' type='uint32' value='1' />
105
106                </propmethod>
107            </propgroup>
108
109        </set>
110        <set type='product'
111	    setlist='X2100-M2|Sun-Blade-X8440-Server-Module'>
112            <propgroup name='protocol' version='1'
113                name-stability='Private' data-stability='Private' >
114
115                <propmethod name='simple_chip_label' version='0'
116		            propname='label' proptype='string' >
117
118                    <argval name='format' type='string' value='CPU %d' />
119                    <argval name='offset' type='uint32' value='0' />
120
121                </propmethod>
122
123            </propgroup>
124            <propgroup name='ipmi' version='1'
125               name-stability='Private' data-stability='Private' >
126                 <propmethod name='ipmi_entity' version='0'
127		            propname='entity_ref' proptype='string_array' >
128
129                    <argval name='format' type='string_array'>
130		        <argitem value='p%d.fru' />
131		    </argval>
132                    <argval name='offset' type='uint32' value='0' />
133                    <argval name='nparams' type='uint32' value='1' />
134
135                </propmethod>
136            </propgroup>
137        </set>
138
139        <set type='product'
140	    setlist='Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4200E|Sun-Fire-X4140|Sun-Fire-X4240|Sun-Fire-X4440'>
141	    <fac-enum provider='fac_prov_ipmi' />
142	    <!--
143	       chip FRU label
144	    -->
145            <propgroup name='protocol' version='1'
146                name-stability='Private' data-stability='Private' >
147
148                <propmethod name='simple_chip_label' version='0'
149		            propname='label' proptype='string' >
150
151                    <argval name='format' type='string' value='CPU %d' />
152                    <argval name='offset' type='uint32' value='0' />
153
154                </propmethod>
155
156            </propgroup>
157            <propgroup name='ipmi' version='1'
158               name-stability='Private' data-stability='Private' >
159                 <propmethod name='ipmi_entity' version='0'
160		            propname='entity_ref' proptype='string_array' >
161
162                    <argval name='format' type='string_array'>
163		        <argitem value='MB/P%d' />
164		        <argitem value='p%d.fru' />
165		    </argval>
166                    <argval name='offset' type='uint32' value='0' />
167                    <argval name='nparams' type='uint32' value='1' />
168
169                </propmethod>
170            </propgroup>
171	    <!--
172	       chip service LED
173	    -->
174            <facility name='service' type='indicator' provider='fac_prov_ipmi' >
175                <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
176                    <propval name='type' type='uint32' value='0' />
177                    <propmethod name='ipmi_entity' version='0'
178		        propname='entity_ref' proptype='string_array' >
179
180                        <argval name='format' type='string_array'>
181			    <argitem value='p%d.led' />
182			    <argitem value='MB/P%d/SVC' />
183			</argval>
184                        <argval name='offset' type='uint32' value='0' />
185                        <argval name='nparams' type='uint32' value='1' />
186                    </propmethod>
187                    <propmethod name='ipmi_indicator_mode' version='0'
188                       propname='mode' proptype='uint32' mutable='1'>
189                    </propmethod>
190                </propgroup>
191            </facility>
192        </set>
193        <set type='product' setlist='Sun-Fire-X4500'>
194            <fac-enum provider='fac_prov_ipmi' />
195            <!--
196               chip FRU label
197            -->
198            <propgroup name='protocol' version='1'
199                name-stability='Private' data-stability='Private' >
200
201                <propmethod name='simple_chip_label' version='0'
202                            propname='label' proptype='string' >
203
204                    <argval name='format' type='string' value='CPU %d' />
205                    <argval name='offset' type='uint32' value='0' />
206
207                </propmethod>
208
209            </propgroup>
210            <propgroup name='ipmi' version='1'
211               name-stability='Private' data-stability='Private' >
212                 <propmethod name='ipmi_entity' version='0'
213                            propname='entity_ref' proptype='string_array' >
214
215                    <argval name='format' type='string_array'>
216		        <argitem value='p%d.fru' />
217		    </argval>
218                    <argval name='offset' type='uint32' value='0' />
219                    <argval name='nparams' type='uint32' value='1' />
220
221                </propmethod>
222	    </propgroup>
223            <!--
224               chip service LED
225            -->
226            <facility name='service' type='indicator' provider='fac_prov_ipmi' >
227                <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
228                    <propval name='type' type='uint32' value='0' />
229                    <propmethod name='ipmi_entity' version='0'
230		        propname='entity_ref' proptype='string_array' >
231
232                        <argval name='format' type='string_array'>
233			    <argitem value='p%d.fail.led' />
234			</argval>
235                        <argval name='offset' type='uint32' value='0' />
236                        <argval name='nparams' type='uint32' value='1' />
237                    </propmethod>
238                    <propmethod name='ipmi_indicator_mode' version='0'
239                       propname='mode' proptype='uint32' mutable='1' >
240                    </propmethod>
241                </propgroup>
242            </facility>
243        </set>
244
245        <set type='product' setlist='Sun-Fire-X4540'>
246	    <fac-enum provider='fac_prov_ipmi' />
247	    <!--
248	       chip FRU label
249	    -->
250            <propgroup name='protocol' version='1'
251                name-stability='Private' data-stability='Private' >
252
253                <propmethod name='simple_chip_label' version='0'
254		            propname='label' proptype='string' >
255
256                    <argval name='format' type='string' value='CPU %d' />
257                    <argval name='offset' type='uint32' value='0' />
258
259                </propmethod>
260
261            </propgroup>
262            <propgroup name='ipmi' version='1'
263               name-stability='Private' data-stability='Private' >
264                 <propmethod name='ipmi_entity' version='0'
265		            propname='entity_ref' proptype='string_array' >
266
267                    <argval name='format' type='string_array'>
268		        <argitem value='MB/P%d' />
269		        <argitem value='p%d.fru' />
270		    </argval>
271                    <argval name='offset' type='uint32' value='0' />
272                    <argval name='nparams' type='uint32' value='1' />
273
274                </propmethod>
275            </propgroup>
276	    <!--
277	       chip service LED
278	    -->
279            <facility name='service' type='indicator' provider='fac_prov_ipmi' >
280                <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
281                    <propval name='type' type='uint32' value='0' />
282                    <propmethod name='ipmi_entity' version='0'
283		        propname='entity_ref' proptype='string_array' >
284
285                        <argval name='format' type='string_array'>
286			    <argitem value='P%d/SVC' />
287			    <argitem value='p%d.led' />
288			</argval>
289                        <argval name='offset' type='uint32' value='0' />
290                        <argval name='nparams' type='uint32' value='1' />
291                    </propmethod>
292                    <propmethod name='ipmi_indicator_mode' version='0'
293                       propname='mode' proptype='uint32' mutable='1' >
294                    </propmethod>
295                </propgroup>
296            </facility>
297        </set>
298        <set type='product'
299	    setlist='Sun-Fire-X4100-M2|Sun-Fire-X4200-M2'>
300	    <fac-enum provider='fac_prov_ipmi' />
301	    <!--
302	       chip FRU label
303	    -->
304            <propgroup name='protocol' version='1'
305                name-stability='Private' data-stability='Private' >
306                <propmethod name='simple_chip_label' version='0'
307		            propname='label' proptype='string' >
308
309                    <argval name='format' type='string' value='CPU %d' />
310                    <argval name='offset' type='uint32' value='1' />
311
312                </propmethod>
313
314            </propgroup>
315            <propgroup name='ipmi' version='1'
316               name-stability='Private' data-stability='Private' >
317                 <propmethod name='ipmi_entity' version='0'
318		            propname='entity_ref' proptype='string_array' >
319
320                    <argval name='format' type='string_array'>
321		        <argitem value='p%d.fru' />
322		    </argval>
323                    <argval name='offset' type='uint32' value='0' />
324                    <argval name='nparams' type='uint32' value='1' />
325
326                </propmethod>
327            </propgroup>
328	    <!--
329	       chip service LED
330	    -->
331            <facility name='service' type='indicator' provider='fac_prov_ipmi' >
332                <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
333                    <propval name='type' type='uint32' value='0' />
334                    <propmethod name='ipmi_entity' version='0'
335		        propname='entity_ref' proptype='string_array' >
336
337                        <argval name='format' type='string_array'>
338			    <argitem value='p%d.led' />
339			</argval>
340                        <argval name='offset' type='uint32' value='0' />
341                        <argval name='nparams' type='uint32' value='1' />
342                    </propmethod>
343                    <propmethod name='ipmi_indicator_mode' version='0'
344                       propname='mode' proptype='uint32' mutable='1' >
345                    </propmethod>
346                </propgroup>
347            </facility>
348        </set>
349        <set type='product'
350	    setlist='Sun-Fire-X4450|SUN-FIRE-X4450'>
351	    <fac-enum provider='fac_prov_ipmi' />
352	    <!--
353	       chip FRU label
354	    -->
355            <propgroup name='protocol' version='1'
356                name-stability='Private' data-stability='Private' >
357                <propmethod name='fsb2_chip_label' version='0'
358		            propname='label' proptype='string' >
359
360                    <argval name='format' type='string' value='CPU %d' />
361                    <argval name='offset' type='uint32' value='0' />
362
363                </propmethod>
364
365            </propgroup>
366            <propgroup name='ipmi' version='1'
367               name-stability='Private' data-stability='Private' >
368                 <propmethod name='ipmi_entity' version='0'
369		            propname='entity_ref' proptype='string_array' >
370
371                    <argval name='format' type='string_array'>
372		        <argitem value='MB/P%d' />
373		    </argval>
374                    <argval name='offset' type='uint32' value='0' />
375                    <argval name='nparams' type='uint32' value='1' />
376
377                </propmethod>
378            </propgroup>
379        </set>
380        <set type='product'
381	    setlist='Sun-Blade-X6450-Server-Module|SUN-BLADE-X6450-SERVER-MODULE|Sun-Blade-X6450|SUN-BLADE-X6450'>
382	    <!--
383	       chip FRU label
384	    -->
385            <propgroup name='protocol' version='1'
386                name-stability='Private' data-stability='Private' >
387                <propmethod name='fsb2_chip_label' version='0'
388		            propname='label' proptype='string' >
389
390                    <argval name='format' type='string' value='CPU %d' />
391                    <argval name='offset' type='uint32' value='0' />
392
393                </propmethod>
394
395            </propgroup>
396        </set>
397        <set type='product'
398	    setlist='Sun-Blade-X8450-Server-Module|SUN-BLADE-X8450-SERVER-MODULE'>
399	    <!--
400	       chip FRU label
401	    -->
402            <propgroup name='protocol' version='1'
403                name-stability='Private' data-stability='Private' >
404                <propmethod name='fsb2_chip_label' version='0'
405		            propname='label' proptype='string' >
406
407                    <argval name='format' type='string' value='CPU %d' />
408                    <argval name='offset' type='uint32' value='0' />
409
410                </propmethod>
411
412            </propgroup>
413        </set>
414        <set type='product'
415	    setlist='Sun-Fire-X4600|Sun-Fire-X4600-M2'>
416
417	    <fac-enum provider='fac_prov_ipmi' />
418	    <!--
419	       chip FRU label
420	    -->
421            <propgroup name='protocol' version='1'
422                name-stability='Private' data-stability='Private' >
423
424                <propmethod name='g4_chip_label' version='0'
425		            propname='label' proptype='string' >
426
427                    <argval name='format' type='string' value='CPU %c' />
428
429                </propmethod>
430
431            </propgroup>
432            <propgroup name='ipmi' version='1'
433               name-stability='Private' data-stability='Private' >
434                 <propmethod name='ipmi_entity' version='0'
435		            propname='entity_ref' proptype='string_array' >
436
437                    <argval name='format' type='string_array'>
438		        <argitem value='p%d.fru' />
439		    </argval>
440                    <argval name='offset' type='uint32' value='0' />
441                    <argval name='nparams' type='uint32' value='1' />
442
443                </propmethod>
444            </propgroup>
445	    <!--
446	       chip service LED
447	    -->
448            <facility name='service' type='indicator' provider='fac_prov_ipmi' >
449                <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
450                    <propval name='type' type='uint32' value='0' />
451                    <propmethod name='ipmi_entity' version='0' propname='entity_ref'
452		       proptype='string_array' >
453                        <argval name='format' type='string_array'>
454			    <argitem value='p%d.led' />
455			</argval>
456                        <argval name='offset' type='uint32' value='0' />
457                        <argval name='nparams' type='uint32' value='1' />
458                    </propmethod>
459                    <propmethod name='ipmi_indicator_mode' version='0'
460                       propname='mode' proptype='uint32' mutable='1' >
461                    </propmethod>
462                </propgroup>
463            </facility>
464
465        </set>
466        <set type='product'
467	    setlist='Sun-Blade-X8420-Server-Module|Sun-Blade-X8440-Server-Module|SUN-BLADE-X8440-SERVER-MODULE'>
468
469            <propgroup name='protocol' version='1'
470                name-stability='Private' data-stability='Private' >
471
472                <propmethod name='a4fplus_chip_label' version='0'
473		            propname='label' proptype='string' >
474
475                    <argval name='format' type='string' value='CPU %d' />
476
477                </propmethod>
478
479            </propgroup>
480
481        </set>
482
483    <dependents grouping='children'>
484
485        <range name='memory-controller' min='0' max='16'>
486        <dependents grouping='children'>
487
488            <range name='dram-channel' min='0' max='3'>
489            <dependents grouping='children'>
490
491                <range name='chip-select' min='0' max='7'>
492                    <set type='product' setlist='Sun-Blade-X8440-Server-Module|Sun-Fire-X4600-M2'>
493
494                        <propgroup name='protocol' version='1'
495                               name-stability='Private'
496			       data-stability='Private' >
497
498                            <propmethod name='simple_cs_label_mp' version='0'
499			            propname='label' proptype='string' >
500
501                                <argval name='format' type='string'
502			            value='CPU %d DIMM %d' />
503                                <argval name='offset' type='uint32' value='0' />
504
505                            </propmethod>
506
507                        </propgroup>
508
509                    </set>
510
511		  <!--
512	       		Lets consider both upper and lower case formats for the product name
513			Since few X6240 test systems had SMB_TYPE_SYSTEM set to
514			all upper case characters in SMBIOS
515		  -->
516          	  <set type='product' setlist='SUN-BLADE-X6240-SERVER-MODULE|Sun-Blade-X6240-Server-Module'>
517
518	                <fac-enum provider='fac_prov_ipmi' />
519                        <propgroup name='protocol' version='1'
520                               name-stability='Private'
521                               data-stability='Private' >
522
523                            <propmethod name='simple_cs_label_mp' version='0'
524                                    propname='label' proptype='string' >
525
526                                <argval name='format' type='string'
527                                    value='CPU %d D%d' />
528                                <argval name='offset' type='uint32' value='0' />
529                            </propmethod>
530
531                            <propmethod name='get_dimm_serial' version='0'
532                                    propname='serial' proptype='string'
533				    nonvolatile='1' />
534
535                        </propgroup>
536                        <propgroup name='ipmi' version='1'
537                    	    name-stability='Private' data-stability='Private' >
538
539                            <propmethod name='cs_ipmi_entity' version='0'
540		               propname='entity_ref' proptype='string_array' >
541
542                                <argval name='format' type='string_array'>
543			            <argitem value='MB/P%d/D%d' />
544			            <argitem value='p%d.d%d.fru' />
545			        </argval>
546                                <argval name='offset' type='uint32' value='0' />
547
548                            </propmethod>
549                        </propgroup>
550
551                    </set>
552
553		  <!--
554	       		Lets consider both upper and lower case formats for the product name
555			Since few X6440 test systems had SMB_TYPE_SYSTEM set to
556			all upper case characters in SMBIOS
557		  -->
558                  <set type='product' setlist='SUN-BLADE-X6440-SERVER-MODULE|Sun-Blade-X6440-Server-Module'>
559
560	                <fac-enum provider='fac_prov_ipmi' />
561                        <propgroup name='protocol' version='1'
562                               name-stability='Private'
563                               data-stability='Private' >
564
565                            <propmethod name='simple_cs_label_mp' version='0'
566                                    propname='label' proptype='string' >
567
568                                <argval name='format' type='string'
569                                    value='CPU %d D%d' />
570                                <argval name='offset' type='uint32' value='0' />
571                            </propmethod>
572
573                            <propmethod name='get_dimm_serial' version='0'
574                                    propname='serial' proptype='string'
575				    nonvolatile='1' />
576
577                        </propgroup>
578                        <propgroup name='ipmi' version='1'
579                    	    name-stability='Private' data-stability='Private' >
580
581                            <propmethod name='cs_ipmi_entity' version='0'
582		               propname='entity_ref' proptype='string_array' >
583
584                                <argval name='format' type='string_array'>
585			            <argitem value='MB/P%d/D%d' />
586			            <argitem value='p%d.d%d.fru' />
587			        </argval>
588                                <argval name='offset' type='uint32' value='0' />
589
590                            </propmethod>
591                        </propgroup>
592
593                    </set>
594
595
596                    <set type='product' setlist='Sun-Fire-X4140|Sun-Fire-X4240|Sun-Fire-X4440'>
597
598	                <fac-enum provider='fac_prov_ipmi' />
599                        <propgroup name='protocol' version='1'
600                               name-stability='Private'
601			       data-stability='Private' >
602
603                            <propmethod name='simple_cs_label_mp' version='0'
604			            propname='label' proptype='string' >
605
606                                <argval name='format' type='string'
607			            value='CPU %d D%d' />
608                                <argval name='offset' type='uint32' value='0' />
609
610                            </propmethod>
611                            <propmethod name='get_dimm_serial' version='0'
612                                    propname='serial' proptype='string'
613				    nonvolatile='1' />
614                        </propgroup>
615                        <propgroup name='ipmi' version='1'
616                    	    name-stability='Private' data-stability='Private' >
617
618                            <propmethod name='cs_ipmi_entity' version='0'
619		               propname='entity_ref' proptype='string_array' >
620
621                                <argval name='format' type='string_array'>
622			            <argitem value='MB/P%d/D%d' />
623			            <argitem value='p%d.d%d.fru' />
624			        </argval>
625                                <argval name='offset' type='uint32' value='0' />
626
627                            </propmethod>
628                        </propgroup>
629
630                    </set>
631		</range>
632            </dependents>
633	    </range>
634
635            <range name='dimm' min='0' max='16'>
636
637                <set type='product' setlist='Sun-Ultra-20-Workstation|Sun-Fire(TM)-X2100'>
638
639                    <propgroup name='protocol' version='1'
640                               name-stability='Private'
641			       data-stability='Private' >
642
643                        <propmethod name='simple_dimm_label' version='0'
644			            propname='label' proptype='string' >
645
646                            <argval name='format' type='string'
647			        value='DIMM %d' />
648                            <argval name='offset' type='uint32' value='1' />
649
650                        </propmethod>
651
652                    </propgroup>
653
654                </set>
655                <set type='product' setlist='Sun-Fire-V20z|Sun-Fire-V40z'>
656
657		    <fac-enum provider='fac_prov_ipmi' />
658                    <propgroup name='protocol' version='1'
659                               name-stability='Private'
660			       data-stability='Private' >
661
662                        <propmethod name='simple_dimm_label_mp' version='0'
663			            propname='label' proptype='string' >
664
665                            <argval name='format' type='string'
666			        value='CPU %d DIMM %d' />
667                            <argval name='offset' type='uint32' value='0' />
668                            <argval name='order' type='string'
669			        value='forward' />
670                            <argval name='dimms_per_chip' type='uint32'
671			        value='4' />
672
673                        </propmethod>
674                        <propmethod name='get_dimm_serial' version='0'
675			            propname='serial' proptype='string'
676				    nonvolatile='1' />
677
678                    </propgroup>
679                    <propgroup name='ipmi' version='1'
680                    	name-stability='Private' data-stability='Private' >
681
682                         <propmethod name='dimm_ipmi_entity' version='0'
683		            propname='entity_ref' proptype='string_array' >
684
685                            <argval name='format' type='string_array'>
686			        <argitem value='cpu%d.mem%d.vpd' />
687			    </argval>
688                            <argval name='offset' type='uint32' value='0' />
689
690                        </propmethod>
691                    </propgroup>
692                </set>
693                <set type='product' setlist='Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4200E'>
694
695		    <fac-enum provider='fac_prov_ipmi' />
696                    <propgroup name='protocol' version='1'
697                               name-stability='Private'
698			       data-stability='Private' >
699
700                        <propmethod name='simple_dimm_label_mp' version='0'
701			            propname='label' proptype='string' >
702
703                            <argval name='format' type='string'
704			        value='CPU %d DIMM %d' />
705                            <argval name='offset' type='uint32' value='0' />
706                            <argval name='order' type='string'
707			        value='forward' />
708                            <argval name='dimms_per_chip' type='uint32'
709			        value='4' />
710
711                        </propmethod>
712                        <propmethod name='get_dimm_serial' version='0'
713			            propname='serial' proptype='string'
714				    nonvolatile='1' />
715                    </propgroup>
716                    <propgroup name='ipmi' version='1'
717                    	name-stability='Private' data-stability='Private' >
718
719                         <propmethod name='dimm_ipmi_entity' version='0'
720		            propname='entity_ref' proptype='string_array' >
721
722                            <argval name='format' type='string_array'>
723			        <argitem value='p%d.d%d.fru' />
724			    </argval>
725                            <argval name='offset' type='uint32' value='0' />
726
727                        </propmethod>
728                    </propgroup>
729                    <facility name='service' type='indicator' provider='fac_prov_ipmi' >
730                        <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
731                          <propval name='type' type='uint32' value='0' />
732                          <propmethod name='dimm_ipmi_entity' version='0'
733			      propname='entity_ref' proptype='string_array' >
734
735                            <argval name='format' type='string_array'>
736			        <argitem value='p%d.d%d.led' />
737			    </argval>
738                            <argval name='offset' type='uint32' value='0' />
739                          </propmethod>
740                          <propmethod name='ipmi_indicator_mode' version='0'
741                             propname='mode' proptype='uint32' mutable='1' >
742                          </propmethod>
743                       </propgroup>
744                    </facility>
745                </set>
746                <set type='product' setlist='Sun-Fire-X4500'>
747
748		    <fac-enum provider='fac_prov_ipmi' />
749                    <propgroup name='protocol' version='1'
750                               name-stability='Private'
751			       data-stability='Private' >
752
753                        <propmethod name='simple_dimm_label_mp' version='0'
754			            propname='label' proptype='string' >
755
756                            <argval name='format' type='string'
757			        value='CPU %d DIMM %d' />
758                            <argval name='offset' type='uint32' value='0' />
759                            <argval name='order' type='string'
760			        value='forward' />
761                            <argval name='dimms_per_chip' type='uint32'
762			        value='4' />
763
764                        </propmethod>
765                        <propmethod name='get_dimm_serial' version='0'
766			            propname='serial' proptype='string'
767				    nonvolatile='1' />
768                    </propgroup>
769                    <propgroup name='ipmi' version='1'
770                    	name-stability='Private' data-stability='Private' >
771
772                         <propmethod name='dimm_ipmi_entity' version='0'
773		            propname='entity_ref' proptype='string_array' >
774
775                            <argval name='format' type='string_array'>
776			        <argitem value='p%d.d%d.fru' />
777			    </argval>
778                            <argval name='offset' type='uint32' value='0' />
779
780                        </propmethod>
781                    </propgroup>
782                    <facility name='service' type='indicator' provider='fac_prov_ipmi' >
783                        <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
784                          <propval name='type' type='uint32' value='0' />
785                          <propmethod name='dimm_ipmi_entity' version='0'
786			      propname='entity_ref' proptype='string_array' >
787
788			    <argval name='format' type='string_array'>
789			        <argitem value='p%d.d%d.fail.led' />
790			    </argval>
791                            <argval name='offset' type='uint32' value='0' />
792                          </propmethod>
793                          <propmethod name='ipmi_indicator_mode' version='0'
794                             propname='mode' proptype='uint32' mutable='1' >
795                          </propmethod>
796                       </propgroup>
797                    </facility>
798                </set>
799                <set type='product' setlist='Sun-Fire-X4100-M2|Sun-Fire-X4200-M2'>
800
801		    <fac-enum provider='fac_prov_ipmi' />
802                    <propgroup name='protocol' version='1'
803                               name-stability='Private'
804			       data-stability='Private' >
805
806                        <propmethod name='g12f_dimm_label' version='0'
807			            propname='label' proptype='string' >
808
809                            <argval name='format' type='string'
810			        value='CPU %d %c%d' />
811
812                        </propmethod>
813                        <propmethod name='get_dimm_serial' version='0'
814			            propname='serial' proptype='string'
815				    nonvolatile='1' />
816
817                    </propgroup>
818                    <propgroup name='ipmi' version='1'
819                    	name-stability='Private' data-stability='Private' >
820
821                         <propmethod name='dimm_ipmi_entity' version='0'
822		            propname='entity_ref' proptype='string_array' >
823
824                            <argval name='format' type='string_array'>
825			        <argitem value='p%d.d%d.fru' />
826			    </argval>
827                            <argval name='offset' type='uint32' value='0' />
828
829                        </propmethod>
830                    </propgroup>
831		    <!--
832		      DIMM service LED
833		    -->
834                    <facility name='service' type='indicator' provider='fac_prov_ipmi' >
835                        <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
836                          <propval name='type' type='uint32' value='0' />
837                          <propmethod name='dimm_ipmi_entity' version='0'
838			      propname='entity_ref' proptype='string_array' >
839
840                            <argval name='format' type='string_array'>
841			        <argitem value='p%d.d%d.led' />
842			    </argval>
843                            <argval name='offset' type='uint32' value='0' />
844                          </propmethod>
845                          <propmethod name='ipmi_indicator_mode' version='0'
846                             propname='mode' proptype='uint32' mutable='1' >
847                          </propmethod>
848                       </propgroup>
849                    </facility>
850                </set>
851                <set type='product' setlist='Sun-Fire-X4600|Sun-Fire-X4600-M2'>
852
853		    <fac-enum provider='fac_prov_ipmi' />
854                    <propgroup name='protocol' version='1'
855                               name-stability='Private'
856			       data-stability='Private' >
857
858                        <propmethod name='g4_dimm_label' version='0'
859			            propname='label' proptype='string' >
860
861                            <argval name='format' type='string'
862			        value='%s DIMM %d' />
863                            <argval name='offset' type='uint32' value='0' />
864
865                        </propmethod>
866                        <propmethod name='get_dimm_serial' version='0'
867			            propname='serial' proptype='string'
868				    nonvolatile='1' />
869
870                    </propgroup>
871                    <propgroup name='ipmi' version='1'
872                    	name-stability='Private' data-stability='Private' >
873
874                         <propmethod name='dimm_ipmi_entity' version='0'
875		            propname='entity_ref' proptype='string_array' >
876
877                            <argval name='format' type='string_array'>
878			        <argitem value='p%d.d%d.fru' />
879			    </argval>
880                            <argval name='offset' type='uint32' value='0' />
881
882                        </propmethod>
883                    </propgroup>
884		    <!--
885		      DIMM service LED
886		    -->
887                    <facility name='service' type='indicator' provider='fac_prov_ipmi' >
888                        <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' >
889                          <propval name='type' type='uint32' value='0' />
890                          <propmethod name='dimm_ipmi_entity' version='0'
891			      propname='entity_ref' proptype='string_array' >
892
893                            <argval name='format' type='string_array'>
894			        <argitem value='p%d.d%d.led' />
895			    </argval>
896                            <argval name='offset' type='uint32' value='0' />
897                          </propmethod>
898                          <propmethod name='ipmi_indicator_mode' version='0'
899                             propname='mode' proptype='uint32' mutable='1' >
900                          </propmethod>
901                       </propgroup>
902                    </facility>
903
904                </set>
905                <set type='product'
906		    setlist='Sun-Ultra-40-M2-Workstation'>
907
908                    <propgroup name='protocol' version='1'
909                               name-stability='Private'
910			       data-stability='Private' >
911
912                        <propmethod name='seq_dimm_label' version='0'
913			            propname='label' proptype='string' >
914
915                            <argval name='format' type='string'
916			        value='DIMM %d' />
917                            <argval name='offset' type='uint32' value='0' />
918                            <argval name='order' type='string'
919			        value='reverse' />
920
921                        </propmethod>
922
923                    </propgroup>
924
925                </set>
926                <set type='product'
927		    setlist='X2100-M2'>
928
929                    <propgroup name='protocol' version='1'
930                               name-stability='Private'
931			       data-stability='Private' >
932
933                        <propmethod name='seq_dimm_label' version='0'
934			            propname='label' proptype='string' >
935
936                            <argval name='format' type='string'
937			        value='B0D%d' />
938                            <argval name='offset' type='uint32' value='0' />
939                            <argval name='order' type='string'
940			        value='reverse' />
941
942                        </propmethod>
943
944                    </propgroup>
945
946               </set>
947
948            </range>
949
950        </dependents>
951        </range>
952
953    </dependents>
954    </range>
955
956</topology>
957