diff options
| author | Robert Mustacchi <rm@joyent.com> | 2017-08-18 16:55:22 +0000 |
|---|---|---|
| committer | Robert Mustacchi <rm@joyent.com> | 2017-08-30 23:25:48 +0000 |
| commit | 126e622822aadc11640fdd5b79bf407b3d72f132 (patch) | |
| tree | 0c3739c7efca163c80253c91611b4dcb05003057 | |
| parent | 37702d783aab3ac8282c170487f0fbd931d9572e (diff) | |
| download | illumos-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>
5 files changed, 173 insertions, 2 deletions
@@ -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' /> |
