summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2017-08-18 16:55:22 +0000
committerRobert Mustacchi <rm@joyent.com>2017-08-30 23:25:48 +0000
commit126e622822aadc11640fdd5b79bf407b3d72f132 (patch)
tree0c3739c7efca163c80253c91611b4dcb05003057
parent37702d783aab3ac8282c170487f0fbd931d9572e (diff)
downloadillumos-joyent-126e622822aadc11640fdd5b79bf407b3d72f132.tar.gz
OS-6299 Need topo maps for JCP 3101 and JCP 3102
Reviewed by: Joshua M. Clulow <jmc@joyent.com> Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Approved by: Joshua M. Clulow <jmc@joyent.com>
-rw-r--r--manifest1
-rwxr-xr-xusr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Joyent-Compute-Platform-3101-disk-hc-topology.xmlgenksh108
-rw-r--r--usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Makefile43
-rw-r--r--usr/src/lib/fm/topo/maps/Makefile4
-rw-r--r--usr/src/lib/fm/topo/maps/i86pc/i86pc-legacy-hc-topology.xml19
5 files changed, 173 insertions, 2 deletions
diff --git a/manifest b/manifest
index e6c5459d91..08a727d8ea 100644
--- a/manifest
+++ b/manifest
@@ -10187,6 +10187,7 @@ f usr/platform/i86pc/lib/fm/eft/intel.eft 0444 root sys
d usr/platform/i86pc/lib/fm/topo 0755 root sys
d usr/platform/i86pc/lib/fm/topo/maps 0755 root sys
f usr/platform/i86pc/lib/fm/topo/maps/Joyent-Compute-Platform-1101-disk-hc-topology.xml 0444 root sys
+f usr/platform/i86pc/lib/fm/topo/maps/Joyent-Compute-Platform-3101-disk-hc-topology.xml 0444 root sys
f usr/platform/i86pc/lib/fm/topo/maps/chassis-hc-topology.xml 0444 root sys
f usr/platform/i86pc/lib/fm/topo/maps/chip-hc-topology.xml 0444 root sys
f usr/platform/i86pc/lib/fm/topo/maps/fan-hc-topology.xml 0444 root sys
diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Joyent-Compute-Platform-3101-disk-hc-topology.xmlgenksh b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Joyent-Compute-Platform-3101-disk-hc-topology.xmlgenksh
new file mode 100755
index 0000000000..0f4b6c9731
--- /dev/null
+++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Joyent-Compute-Platform-3101-disk-hc-topology.xmlgenksh
@@ -0,0 +1,108 @@
+#!/bin/ksh
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright (c) 2017, Joyent, Inc.
+#
+
+#
+# Generate the topology map for an expanderless system with 3 bays. HBAs
+# are in slots 1, 3, and 5.
+#
+
+function do_node
+{
+ cat <<EOF
+ <node instance='${1}'>
+ <propgroup name='protocol' version='1' name-stability='Private'
+ data-stability='Private'>
+ <propval name='label' type='string' value='${2}' />
+ </propgroup>
+ <propgroup name='binding' version='1' name-stability='Private'
+ data-stability='Private'>
+ <propval name='driver' type='string' value='mpt_sas' />
+ <propval name='devctl' type='string' value='${3}' />
+ <propval name='enclosure' type='uint32' value='${4}' />
+ <propval name='slot' type='uint32' value='${5}' />
+ </propgroup>
+ </node>
+EOF
+}
+
+
+cat <<EOF
+<topology name='disk' scheme='hc'>
+ <range name='bay' min='0' max='23'>
+ <facility name='fail' type='indicator' provider='fac_prov_mptsas' >
+ <propgroup name='facility' version='1' name-stability='Private'
+ data-stability='Private' >
+ <propval name='type' type='uint32' value='0' />
+ <propmethod name='mptsas_led_mode' version='0' propname='mode'
+ proptype='uint32' mutable='1'>
+ </propmethod>
+ </propgroup>
+ </facility>
+ <facility name='ident' type='indicator' provider='fac_prov_mptsas' >
+ <propgroup name='facility' version='1' name-stability='Private'
+ data-stability='Private' >
+ <propval name='type' type='uint32' value='1' />
+ <propmethod name='mptsas_led_mode' version='0' propname='mode'
+ proptype='uint32' mutable='1'>
+ </propmethod>
+ </propgroup>
+ </facility>
+ <facility name='ok2rm' type='indicator' provider='fac_prov_mptsas' >
+ <propgroup name='facility' version='1' name-stability='Private'
+ data-stability='Private' >
+ <propval name='type' type='uint32' value='2' />
+ <propmethod name='mptsas_led_mode' version='0' propname='mode'
+ proptype='uint32' mutable='1'>
+ </propmethod>
+ </propgroup>
+ </facility>
+EOF
+
+enclosure=1
+bay=0
+slot=0
+devctl0='/devices/pci@0,0/pci8086,6f04@2/pci15d9,808@0:devctl'
+while (( slot <= 7 )); do
+ do_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot
+ (( bay = bay + 1 ))
+ (( slot = slot + 1 ))
+done
+
+slot=0
+devctl0='/devices/pci@0,0/pci8086,6f08@3/pci15d9,808@0:devctl'
+while (( slot <= 7 )); do
+ do_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot
+ (( bay = bay + 1 ))
+ (( slot = slot + 1 ))
+done
+
+slot=0
+devctl0='/devices/pci@78,0/pci8086,6f02@1/pci15d9,808@0:devctl'
+while (( slot <= 7 )); do
+ do_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot
+ (( bay = bay + 1 ))
+ (( slot = slot + 1 ))
+done
+
+cat <<EOF
+ <dependents grouping='children'>
+ <range name='disk' min='0' max='0'>
+ <enum-method name='disk' version='1' />
+ </range>
+ </dependents>
+ </range>
+</topology>
+EOF
diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Makefile b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Makefile
new file mode 100644
index 0000000000..9027d5aee9
--- /dev/null
+++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-3101/Makefile
@@ -0,0 +1,43 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+# Copyright (c) 2017, Joyent, Inc.
+#
+
+# NOTE: The name of the xml file we are building is 'platform'
+# specific, but its build is structured as 'arch' specific since
+# 'uname -i' on all x86 platforms returns i86pc.
+
+ARCH = i86pc
+CLASS = arch
+DTDFILE = topology.dtd.1
+TOPOFILE = Joyent-Compute-Platform-3101-disk-hc-topology.xml
+SRCDIR = ../Joyent,Joyent-Compute-Platform-3101
+
+PLATFORM = Joyent-Compute-Platform-3101
+TOPOBASE = ../i86pc/i86pc-hc-topology.xml
+
+CLOBBERFILES += $(TOPOFILE)
+
+include ../Makefile.map
diff --git a/usr/src/lib/fm/topo/maps/Makefile b/usr/src/lib/fm/topo/maps/Makefile
index a01b016ebe..9b235ab29a 100644
--- a/usr/src/lib/fm/topo/maps/Makefile
+++ b/usr/src/lib/fm/topo/maps/Makefile
@@ -22,6 +22,7 @@
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
+# Copyright (c) 2017, Joyent, Inc.
#
sparc_SUBDIRS = sun4u \
@@ -49,7 +50,8 @@ i386_SUBDIRS = i86pc \
SUNW,Sun-Fire-X4500 \
SUNW,Sun-Fire-X4540 \
SUNW,Sun-Fire-X4600-M2 \
- Joyent,Joyent-Compute-Platform-1101
+ Joyent,Joyent-Compute-Platform-1101 \
+ Joyent,Joyent-Compute-Platform-3101
SUBDIRS = $($(MACH)_SUBDIRS)
diff --git a/usr/src/lib/fm/topo/maps/i86pc/i86pc-legacy-hc-topology.xml b/usr/src/lib/fm/topo/maps/i86pc/i86pc-legacy-hc-topology.xml
index 7d8f85fd88..5bddd36cc2 100644
--- a/usr/src/lib/fm/topo/maps/i86pc/i86pc-legacy-hc-topology.xml
+++ b/usr/src/lib/fm/topo/maps/i86pc/i86pc-legacy-hc-topology.xml
@@ -2,7 +2,7 @@
<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1">
<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-Copyright (c) 2014, Joyent, Inc. All rights reserved.
+Copyright (c) 2017, Joyent, Inc.
CDDL HEADER START
@@ -164,6 +164,23 @@ Copyright (c) 2014, Joyent, Inc. All rights reserved.
</range>
</set>
+ <!--
+ Note, the Joyent Compute Platform 310x is based on the SuperMicro
+ SSG-2028R-ACR24L. Because of that, the topo map used here will work
+ for all such systems. Hence why it is included in the setlist.
+ -->
+ <set type='product' setlist='Joyent-Compute-Platform-3101|Joyent-Compute-Platform-3102|SSG-2028R-ACR24L'>
+ <range name='psu' min='0' max='1'>
+ <enum-method name='ipmi' version='1' />
+ </range>
+ <range name='fan' min='0' max='100'>
+ <enum-method name='ipmi' version='1' />
+ </range>
+ <range name='bay' min='0' max='23'>
+ <propmap name='Joyent-Compute-Platform-3101-disk' />
+ </range>
+ </set>
+
<set type='product' setlist='default'>
<range name='psu' min='0' max='100'>
<enum-method name='ipmi' version='1' />