usr/src/lib/fm/topo/maps/SUNW,Sun-Fire-X4500/Sun-Fire-X4500-hc-topology.xmlgen
changeset 6070 1e70ddca5488
parent 4582 da3c7347dfa5
child 6640 c92ca9b95b9c
--- a/usr/src/lib/fm/topo/maps/SUNW,Sun-Fire-X4500/Sun-Fire-X4500-hc-topology.xmlgen	Fri Feb 22 13:09:26 2008 -0800
+++ b/usr/src/lib/fm/topo/maps/SUNW,Sun-Fire-X4500/Sun-Fire-X4500-hc-topology.xmlgen	Fri Feb 22 15:04:09 2008 -0800
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -48,70 +48,70 @@
 	my $hdd = shift;
 	my $sid = shift;
 	printf OFILE  "\n";
-	printf OFILE  "      <propgroup name='%s-properties'", $name;
+	printf OFILE  "        <propgroup name='%s-properties'", $name;
 	printf OFILE " version='1' name-stability='Private'";
 	printf OFILE " data-stability='Private' >\n";
-	printf OFILE  "        <propval name='fru-update-action'";
+	printf OFILE  "          <propval name='fru-update-action'";
 	printf OFILE " type='string' value='ipmi:fru gid=3 hdd=%d' />\n", $hdd;
-	printf OFILE  "        <propval name='indicator-name-0'";
+	printf OFILE  "          <propval name='indicator-name-0'";
 	printf OFILE " type='string' value='+PRSNT' />\n";
-	printf OFILE  "        <propval name='indicator-action-0'";
+	printf OFILE  "          <propval name='indicator-action-0'";
 	printf OFILE " type='string' value='ipmi:state sid=%d amask=0x0001' />\n",
 		$sid;
-	printf OFILE  "        <propval name='indicator-name-1'";
+	printf OFILE  "          <propval name='indicator-name-1'";
 	printf OFILE " type='string' value='-PRSNT' />\n";
-	printf OFILE  "        <propval name='indicator-action-1'";
+	printf OFILE  "          <propval name='indicator-action-1'";
 	printf OFILE " type='string' value='ipmi:state sid=%d dmask=0x0001' />\n",
 		$sid;
-	printf OFILE "        <propval name='indicator-name-2'";
+	printf OFILE "          <propval name='indicator-name-2'";
 	printf OFILE " type='string' value='+OK2RM' />\n";
-	printf OFILE  "        <propval name='indicator-action-2'";
+	printf OFILE  "          <propval name='indicator-action-2'";
 	printf OFILE " type='string' value='ipmi:state sid=%d amask=0x0008' />\n",
 		$sid;
-	printf OFILE  "        <propval name='indicator-name-3'";
+	printf OFILE  "          <propval name='indicator-name-3'";
 	printf OFILE " type='string' value='-OK2RM' />\n";
-	printf OFILE  "        <propval name='indicator-action-3'";
+	printf OFILE  "          <propval name='indicator-action-3'";
 	printf OFILE " type='string' value='ipmi:state sid=%d dmask=0x0008' />\n",
 		$sid;
-	printf OFILE  "        <propval name='indicator-name-4'";
+	printf OFILE  "          <propval name='indicator-name-4'";
 	printf OFILE " type='string' value='+FAULT' />\n";
-	printf OFILE  "        <propval name='indicator-action-4'";
+	printf OFILE  "          <propval name='indicator-action-4'";
 	printf OFILE " type='string' value='ipmi:state sid=%d amask=0x0002' />\n",
 		$sid;
-	printf OFILE  "        <propval name='indicator-name-5'";
+	printf OFILE  "          <propval name='indicator-name-5'";
 	printf OFILE " type='string' value='-FAULT' />\n";
-	printf OFILE  "        <propval name='indicator-action-5'";
+	printf OFILE  "          <propval name='indicator-action-5'";
 	printf OFILE " type='string' value='ipmi:state sid=%d dmask=0x0002' />\n",
 		$sid;
-	printf OFILE  "        <propval name='indicator-rule-";
+	printf OFILE  "          <propval name='indicator-rule-";
 	printf OFILE "states-0' type='string' value='absent>present' />\n";
-	printf OFILE  "        <propval name='indicator-rule-";
+	printf OFILE  "          <propval name='indicator-rule-";
 	printf OFILE "actions-0' type='string' value='+PRSNT&amp;+OK2RM' />\n";
-	printf OFILE  "        <propval name='indicator-rule-";
+	printf OFILE  "          <propval name='indicator-rule-";
 	printf OFILE "states-1' type='string' value='present>configured' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "           <propval name='indicator-rule-";
 	printf OFILE "actions-1' type='string' value='+PRSNT&amp;-OK2RM' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "states-2' type='string' value='configured>unconfigured' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "actions-2' type='string' value='+OK2RM' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "states-3' type='string' value='unconfigured>configured' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "actions-3' type='string' value='-OK2RM' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "states-4' type='string' value='unconfigured>absent' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "actions-4' type='string' value='-OK2RM&amp;-PRSNT' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "states-5' type='string' value='configured>absent' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "actions-5' type='string' value='-OK2RM&amp;-PRSNT' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "states-6' type='string' value='present>absent' />\n";
-	printf OFILE "        <propval name='indicator-rule-";
+	printf OFILE "          <propval name='indicator-rule-";
 	printf OFILE "actions-6' type='string' value='-OK2RM&amp;-PRSNT' />\n";
-	printf OFILE  "      </propgroup>\n";
+	printf OFILE  "        </propgroup>\n";
 	printf OFILE  "\n";
 }
 
@@ -129,39 +129,39 @@
 		$index = (($cnt >> 1) % 6);
 		$p1 = $pci1[$index];
 		printf OFILE "\n";
-		printf OFILE "    <node instance='%d'>\n", $cnt;
+		printf OFILE "      <node instance='%d'>\n", $cnt;
 		printf OFILE  "\n";
-		printf OFILE "      <propgroup name='protocol'";
+		printf OFILE "        <propgroup name='protocol'";
 		printf OFILE " version='1' name-stability='Private'";
 		printf OFILE " data-stability='Private' >\n";
-		printf OFILE "        <propval name='ASRU' ";
+		printf OFILE "          <propval name='ASRU' ";
 		printf OFILE "type='fmri' value=";
 		printf OFILE "'dev:////pci@%d,0/pci1022,7458@%d", $p0, $p1;
 		printf OFILE "/pci11ab,11ab\@1' />\n";
-		printf OFILE "        <propval name='label'";
+		printf OFILE "          <propval name='label'";
 		printf OFILE " type='string' value='bay%d' />\n", $cnt;
-		printf OFILE "      </propgroup>\n";
+		printf OFILE "        </propgroup>\n";
 
-		printf OFILE "      <propgroup name='io'";
+		printf OFILE "        <propgroup name='io'";
 		printf OFILE " version='1' name-stability='Private'";
 		printf OFILE " data-stability='Private' >\n";
-		printf OFILE "        <propval name='ap-path'";
+		printf OFILE "          <propval name='ap-path'";
 		printf OFILE " type='string'";
 		printf OFILE " value='/devices/pci@%d,0/pci1022,7458@%d", $p0, $p1;
 		printf OFILE "/pci11ab,11ab\@1:%d' />\n", $d;
-		printf OFILE "      </propgroup>\n";
+		printf OFILE "        </propgroup>\n";
 
 		calc_sfx_prop($sys_supported->{"prop_name"}, $hdd, $sid);
-		printf OFILE "      <propgroup name='binding'";
+		printf OFILE "        <propgroup name='binding'";
 		printf OFILE " version='1' name-stability='Private'";
 		printf OFILE " data-stability='Private' >\n";
-		printf OFILE "        <propval name='occupant-path'";
+		printf OFILE "          <propval name='occupant-path'";
 		printf OFILE " type='string'";
 		printf OFILE " value='/pci@%d,0/pci1022,7458@%d", $p0, $p1;
 		printf OFILE "/pci11ab,11ab\@1/disk@%d,0' />\n", $d;
-		printf OFILE "      </propgroup>\n";
+		printf OFILE "        </propgroup>\n";
 		printf OFILE "\n";
-		printf OFILE "    </node>\n";
+		printf OFILE "      </node>\n";
 		printf OFILE "\n";
 	}
 }
@@ -183,27 +183,31 @@
 
 open(IFILE, "< $input_file") || die("$input_file cannot be opened.");
 open(OFILE, "> $output_file") || die("$output_file cannot be opened.");
+my $in_chassis_range = 0;
 while ($line = <IFILE>) {
 	chomp($line);
-	if ($line ne "</topology>") {
+	if ($line =~ /range\s+name\s?=\s?\Wchassis\W/) {
+		$in_chassis_range = 1;
+	}
+	if ($in_chassis_range && ($line =~ /<\/dependents>/)) {
+		last;
+	} else {
 		print OFILE "$line\n";
-	} else {
-		last;
 	}
 }
-print OFILE "  <!--xml-gen internal storage-->\n";
-printf OFILE "  <range name='bay' min='0' max='%d'>\n", $sys_supported->{"num_bays"};
+print OFILE "    <!--xml-gen internal storage-->\n";
+printf OFILE "    <range name='bay' min='0' max='%d'>\n", $sys_supported->{"num_bays"};
 calc_nodes(0);
 
-printf OFILE "    <dependents grouping='children'>\n";
-printf OFILE "      <range name='disk' min='0'";
+printf OFILE "      <dependents grouping='children'>\n";
+printf OFILE "        <range name='disk' min='0'";
 printf OFILE " max='1'>\n";
-printf OFILE "        <enum-method name='disk'";
+printf OFILE "          <enum-method name='disk'";
 printf OFILE " version='1' />\n";
-printf OFILE "      </range>\n";
-printf OFILE "    </dependents>\n";
+printf OFILE "        </range>\n";
+printf OFILE "      </dependents>\n";
 printf OFILE "\n";
-printf OFILE "  </range>\n";
+printf OFILE "    </range>\n";
 print OFILE "$line\n";
 while ($line = <IFILE>) {
 	print OFILE $line;