1<?xml version="1.0"?>
2<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1">
3<!--
4 Copyright 2008 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    ident	"%Z%%M%	%I%	%E% SMI"
27-->
28
29<topology name='chip' scheme='hc'>
30
31    <range name='chip' min='0' max='100'>
32
33        <set type='product'
34	    setlist='Sun-Fire-V20z|Sun-Fire-V40z|W1100z-2100z|Sun-Ultra-20-Workstation|Ultra20-M2|Sun-Ultra-40-M2-Workstation'>
35
36            <propgroup name='protocol' version='1'
37                name-stability='Private' data-stability='Private' >
38
39                <propmethod name='simple_chip_label' version='0'
40		            propname='label' proptype='string' >
41
42                    <argval name='format' type='string' value='CPU %d' />
43                    <argval name='offset' type='uint32' value='0' />
44
45                </propmethod>
46
47            </propgroup>
48
49        </set>
50        <set type='product'
51	    setlist='Sun-Fire(TM)-X2100|Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4200E|Sun-Fire-X4500|X2100-M2|Sun-Fire-X4140|Sun-Fire-X4240|Sun-Fire-X4440'>
52
53            <propgroup name='protocol' version='1'
54                name-stability='Private' data-stability='Private' >
55
56                <propmethod name='simple_chip_label' version='0'
57		            propname='label' proptype='string' >
58
59                    <argval name='format' type='string' value='CPU %d' />
60                    <argval name='offset' type='uint32' value='0' />
61
62                </propmethod>
63
64            </propgroup>
65
66        </set>
67        <set type='product'
68	    setlist='Sun-Fire-X4100-M2|Sun-Fire-X4200-M2'>
69
70            <propgroup name='protocol' version='1'
71                name-stability='Private' data-stability='Private' >
72
73                <propmethod name='simple_chip_label' version='0'
74		            propname='label' proptype='string' >
75
76                    <argval name='format' type='string' value='CPU %d' />
77                    <argval name='offset' type='uint32' value='1' />
78
79                </propmethod>
80
81            </propgroup>
82
83        </set>
84        <set type='product'
85	    setlist='Sun-Fire-X4600|Sun-Fire-X4600-M2'>
86
87            <propgroup name='protocol' version='1'
88                name-stability='Private' data-stability='Private' >
89
90                <propmethod name='g4_chip_label' version='0'
91		            propname='label' proptype='string' >
92
93                    <argval name='format' type='string' value='CPU %c' />
94
95                </propmethod>
96
97            </propgroup>
98
99        </set>
100        <set type='product'
101	    setlist='Sun-Blade-X8420-Server-Module|Sun-Blade-X8440-Server-Module|SUN-BLADE-X8440-SERVER-MODULE'>
102
103            <propgroup name='protocol' version='1'
104                name-stability='Private' data-stability='Private' >
105
106                <propmethod name='a4fplus_chip_label' version='0'
107		            propname='label' proptype='string' >
108
109                    <argval name='format' type='string' value='CPU %d' />
110
111                </propmethod>
112
113            </propgroup>
114
115        </set>
116
117    <dependents grouping='children'>
118
119        <range name='memory-controller' min='0' max='16'>
120        <dependents grouping='children'>
121
122            <range name='dram-channel' min='0' max='1'>
123            <dependents grouping='children'>
124
125                <range name='chip-select' min='0' max='7'>
126                    <set type='product' setlist='Sun-Blade-X8440-Server-Module|Sun-Fire-X4600-M2'>
127
128                        <propgroup name='protocol' version='1'
129                               name-stability='Private'
130			       data-stability='Private' >
131
132                            <propmethod name='simple_cs_label_mp' version='0'
133			            propname='label' proptype='string' >
134
135                                <argval name='format' type='string'
136			            value='CPU %d DIMM %d' />
137                                <argval name='offset' type='uint32' value='0' />
138
139                            </propmethod>
140
141                        </propgroup>
142
143                    </set>
144                    <set type='product' setlist='Sun-Fire-X4140|Sun-Fire-X4240|Sun-Fire-X4440'>
145
146                        <propgroup name='protocol' version='1'
147                               name-stability='Private'
148			       data-stability='Private' >
149
150                            <propmethod name='simple_cs_label_mp' version='0'
151			            propname='label' proptype='string' >
152
153                                <argval name='format' type='string'
154			            value='CPU %d D%d' />
155                                <argval name='offset' type='uint32' value='0' />
156
157                            </propmethod>
158
159                        </propgroup>
160
161                    </set>
162		</range>
163            </dependents>
164	    </range>
165
166            <range name='dimm' min='0' max='16'>
167
168                <set type='product' setlist='Sun-Ultra-20-Workstation|Sun-Fire(TM)-X2100'>
169
170                    <propgroup name='protocol' version='1'
171                               name-stability='Private'
172			       data-stability='Private' >
173
174                        <propmethod name='simple_dimm_label' version='0'
175			            propname='label' proptype='string' >
176
177                            <argval name='format' type='string'
178			        value='DIMM %d' />
179                            <argval name='offset' type='uint32' value='1' />
180
181                        </propmethod>
182
183                    </propgroup>
184
185                </set>
186                <set type='product' setlist='Sun-Fire-V20z|Sun-Fire-V40z'>
187
188                    <propgroup name='protocol' version='1'
189                               name-stability='Private'
190			       data-stability='Private' >
191
192                        <propmethod name='simple_dimm_label_mp' version='0'
193			            propname='label' proptype='string' >
194
195                            <argval name='format' type='string'
196			        value='CPU %d DIMM %d' />
197                            <argval name='offset' type='uint32' value='0' />
198                            <argval name='order' type='string'
199			        value='forward' />
200                            <argval name='dimms_per_chip' type='uint32'
201			        value='4' />
202
203                        </propmethod>
204                        <propmethod name='get_dimm_serial' version='0'
205			            propname='serial' proptype='string' >
206
207                            <argval name='format' type='string'
208			        value='cpu%d.mem%d.vpd' />
209                            <argval name='offset' type='uint32' value='0' />
210
211                        </propmethod>
212
213                    </propgroup>
214                </set>
215                <set type='product' setlist='Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4200E|Sun-Fire-X4500'>
216
217                    <propgroup name='protocol' version='1'
218                               name-stability='Private'
219			       data-stability='Private' >
220
221                        <propmethod name='simple_dimm_label_mp' version='0'
222			            propname='label' proptype='string' >
223
224                            <argval name='format' type='string'
225			        value='CPU %d DIMM %d' />
226                            <argval name='offset' type='uint32' value='0' />
227                            <argval name='order' type='string'
228			        value='forward' />
229                            <argval name='dimms_per_chip' type='uint32'
230			        value='4' />
231
232                        </propmethod>
233                        <propmethod name='get_dimm_serial' version='0'
234			            propname='serial' proptype='string' >
235
236                            <argval name='format' type='string'
237			        value='p%d.d%d.fru' />
238                            <argval name='offset' type='uint32' value='0' />
239
240                        </propmethod>
241
242                    </propgroup>
243
244                </set>
245                <set type='product' setlist='Sun-Fire-X4100-M2|Sun-Fire-X4200-M2'>
246
247                    <propgroup name='protocol' version='1'
248                               name-stability='Private'
249			       data-stability='Private' >
250
251                        <propmethod name='g12f_dimm_label' version='0'
252			            propname='label' proptype='string' >
253
254                            <argval name='format' type='string'
255			        value='CPU %d %c%d' />
256
257                        </propmethod>
258                        <propmethod name='get_dimm_serial' version='0'
259			            propname='serial' proptype='string' >
260
261                            <argval name='format' type='string'
262			        value='p%d.d%d.fru' />
263                            <argval name='offset' type='uint32' value='0' />
264
265                        </propmethod>
266
267                    </propgroup>
268
269                </set>
270                <set type='product' setlist='Sun-Fire-X4600|Sun-Fire-X4600-M2'>
271
272                    <propgroup name='protocol' version='1'
273                               name-stability='Private'
274			       data-stability='Private' >
275
276                        <propmethod name='g4_dimm_label' version='0'
277			            propname='label' proptype='string' >
278
279                            <argval name='format' type='string'
280			        value='%s DIMM %d' />
281                            <argval name='offset' type='uint32' value='0' />
282
283                        </propmethod>
284                        <propmethod name='get_dimm_serial' version='0'
285			            propname='serial' proptype='string' >
286
287                            <argval name='format' type='string'
288			        value='p%d.d%d.fru' />
289                            <argval name='offset' type='uint32' value='0' />
290
291                        </propmethod>
292
293                    </propgroup>
294
295                </set>
296                <set type='product'
297		    setlist='Sun-Ultra-40-M2-Workstation'>
298
299                    <propgroup name='protocol' version='1'
300                               name-stability='Private'
301			       data-stability='Private' >
302
303                        <propmethod name='seq_dimm_label' version='0'
304			            propname='label' proptype='string' >
305
306                            <argval name='format' type='string'
307			        value='DIMM %d' />
308                            <argval name='offset' type='uint32' value='0' />
309                            <argval name='order' type='string'
310			        value='reverse' />
311
312                        </propmethod>
313
314                    </propgroup>
315
316                </set>
317                <set type='product'
318		    setlist='X2100-M2'>
319
320                    <propgroup name='protocol' version='1'
321                               name-stability='Private'
322			       data-stability='Private' >
323
324                        <propmethod name='seq_dimm_label' version='0'
325			            propname='label' proptype='string' >
326
327                            <argval name='format' type='string'
328			        value='B0D%d' />
329                            <argval name='offset' type='uint32' value='0' />
330                            <argval name='order' type='string'
331			        value='reverse' />
332
333                        </propmethod>
334
335                    </propgroup>
336
337               </set>
338
339            </range>
340
341        </dependents>
342        </range>
343
344    </dependents>
345    </range>
346
347</topology>
348