xref: /illumos-gate/usr/src/lib/fm/topo/maps/SUNW,Netra-X4200-M2/Netra-X4200-M2-disk-hc-topology.xmlgen (revision 5dc9a9865ba3fe32b5a92dcdbc8fbdcdaa98f54f)
1*5dc9a986SDavid Zhang#!/usr/local/bin/perl
2*5dc9a986SDavid Zhang#
3*5dc9a986SDavid Zhang# CDDL HEADER START
4*5dc9a986SDavid Zhang#
5*5dc9a986SDavid Zhang# The contents of this file are subject to the terms of the
6*5dc9a986SDavid Zhang# Common Development and Distribution License (the "License").
7*5dc9a986SDavid Zhang# You may not use this file except in compliance with the License.
8*5dc9a986SDavid Zhang#
9*5dc9a986SDavid Zhang# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*5dc9a986SDavid Zhang# or http://www.opensolaris.org/os/licensing.
11*5dc9a986SDavid Zhang# See the License for the specific language governing permissions
12*5dc9a986SDavid Zhang# and limitations under the License.
13*5dc9a986SDavid Zhang#
14*5dc9a986SDavid Zhang# When distributing Covered Code, include this CDDL HEADER in each
15*5dc9a986SDavid Zhang# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*5dc9a986SDavid Zhang# If applicable, add the following below this CDDL HEADER, with the
17*5dc9a986SDavid Zhang# fields enclosed by brackets "[]" replaced with your own identifying
18*5dc9a986SDavid Zhang# information: Portions Copyright [yyyy] [name of copyright owner]
19*5dc9a986SDavid Zhang#
20*5dc9a986SDavid Zhang# CDDL HEADER END
21*5dc9a986SDavid Zhang#
22*5dc9a986SDavid Zhang#
23*5dc9a986SDavid Zhang# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24*5dc9a986SDavid Zhang# Use is subject to license terms.
25*5dc9a986SDavid Zhang#
26*5dc9a986SDavid Zhang
27*5dc9a986SDavid Zhang$num_bays = 4;
28*5dc9a986SDavid Zhang$bay_label = "HD";
29*5dc9a986SDavid Zhang
30*5dc9a986SDavid Zhangprint <<EOF;
31*5dc9a986SDavid Zhang<topology name='disk' scheme='hc'>
32*5dc9a986SDavid Zhang  <range name='bay' min='0' max='3'>
33*5dc9a986SDavid ZhangEOF
34*5dc9a986SDavid Zhang
35*5dc9a986SDavid Zhang$controller = 0;
36*5dc9a986SDavid Zhangfor ($bay = 0; $bay < $num_bays; $bay++) {
37*5dc9a986SDavid Zhang	$hpath = "/pci\@79,0/pci1022,7458\@11/pci1000,3060\@2";
38*5dc9a986SDavid Zhang	$tpath = sprintf("/sd\@%x,0", $bay);
39*5dc9a986SDavid Zhang	$apoint = sprintf(":scsi::dsk/c%dt%dd0",
40*5dc9a986SDavid Zhang	    $controller + 1, $bay);
41*5dc9a986SDavid Zhang
42*5dc9a986SDavid Zhang	print <<EOF;
43*5dc9a986SDavid Zhang    <node instance='$bay'>
44*5dc9a986SDavid Zhang      <propgroup name='protocol' version='1' name-stability='Private'
45*5dc9a986SDavid Zhang        data-stability='Private'>
46*5dc9a986SDavid Zhang	<propval name='label' type='string' value='$bay_label$bay' />
47*5dc9a986SDavid Zhang      </propgroup>
48*5dc9a986SDavid Zhang      <propgroup name='io' version='1' name-stability='Private'
49*5dc9a986SDavid Zhang        data-stability='Private'>
50*5dc9a986SDavid Zhang	<propval name='ap-path' type='string' value='/devices$hpath$apoint' />
51*5dc9a986SDavid Zhang      </propgroup>
52*5dc9a986SDavid Zhang      <propgroup name='binding' version='1' name-stability='Private'
53*5dc9a986SDavid Zhang        data-stability='Private'>
54*5dc9a986SDavid Zhang	<propval name='occupant-path' type='string'
55*5dc9a986SDavid Zhang	  value='$hpath$tpath' />
56*5dc9a986SDavid Zhang      </propgroup>
57*5dc9a986SDavid Zhang    </node>
58*5dc9a986SDavid ZhangEOF
59*5dc9a986SDavid Zhang}
60*5dc9a986SDavid Zhang
61*5dc9a986SDavid Zhangprint <<EOF;
62*5dc9a986SDavid Zhang    <dependents grouping='children'>
63*5dc9a986SDavid Zhang      <range name='disk' min='0' max='0'>
64*5dc9a986SDavid Zhang	<enum-method name='disk' version='1' />
65*5dc9a986SDavid Zhang      </range>
66*5dc9a986SDavid Zhang    </dependents>
67*5dc9a986SDavid Zhang  </range>
68*5dc9a986SDavid Zhang</topology>
69*5dc9a986SDavid ZhangEOF
70