diff options
author | Rob Johnston <rob.johnston@joyent.com> | 2019-01-11 16:24:20 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2019-01-18 23:38:45 +0000 |
commit | 843d17d4abe05f84e05c00cec4744ac30763ca76 (patch) | |
tree | baba09c1763eb461d2d248355a3adc2be9a20fce /usr/src/lib/fm | |
parent | cff040f3ef42d16ae655969398f5a5e6e700b85e (diff) | |
download | illumos-gate-843d17d4abe05f84e05c00cec4744ac30763ca76.tar.gz |
10223 Want topo maps for various SMCI systems
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/lib/fm')
24 files changed, 2579 insertions, 5 deletions
diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-1101/Joyent-Compute-Platform-1101-disk-hc-topology.xmlgenksh b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-1101/Joyent-Compute-Platform-1101-disk-hc-topology.xmlgenksh index 000742db71..874bad142f 100644 --- a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-1101/Joyent-Compute-Platform-1101-disk-hc-topology.xmlgenksh +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-1101/Joyent-Compute-Platform-1101-disk-hc-topology.xmlgenksh @@ -69,17 +69,19 @@ EOF enclosure=1 bay=0 slot=0 -devctl='/devices/pci@0,0/pci8086,3c02@1/pci15d9,691@0:devctl' +devctl0='/devices/pci@0,0/pci8086,3c02@1/pci15d9,691@0:devctl' +devctl1='/devices/pci@0,0/pci8086,e02@1/pci15d9,691@0:devctl' while (( slot <= 7 )); do - do_node $bay "Front Disk $bay" "$devctl" $enclosure $slot + do_node $bay "Front Disk $bay" "$devctl0|$devctl1" $enclosure $slot (( bay = bay + 1 )) (( slot = slot + 1 )) done slot=0 -devctl='/devices/pci@0,0/pci8086,3c06@2,2/pci15d9,691@0:devctl' +devctl0='/devices/pci@0,0/pci8086,3c06@2,2/pci15d9,691@0:devctl' +devctl1='/devices/pci@0,0/pci8086,e06@2,2/pci15d9,691@0:devctl' while (( slot <= 7 )); do - do_node $bay "Front Disk $bay" "$devctl" $enclosure $slot + do_node $bay "Front Disk $bay" "$devctl0|$devctl1" $enclosure $slot (( bay = bay + 1 )) (( slot = slot + 1 )) done diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-3301-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-3301-hc-topology.xml new file mode 100644 index 0000000000..000ed261a8 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-3301-hc-topology.xml @@ -0,0 +1,251 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + 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) 2018, Joyent, Inc. +--> + +<topology name='i86pc' scheme='hc'> + + <range name='motherboard' min='0' max='0'> + <enum-method name='smbios' version='1' /> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <facility name='3.3V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='3.3V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='5V AUX PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='5V AUX PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='1.05V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='1.05V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='BP0 5V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='BP0 5V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='5V SWITCH PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='5V SWITCH PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='VCCIO PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='VCCIO PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='NDC PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='2.5V AUX PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='1.5V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='1.5V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='BP1 5V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='BP1 5V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='BP2 5V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='BP2 5V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='1.5V AUX PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='1.5V AUX PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='1.05V PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='1.05V PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <facility name='DIMM PG' type='sensor' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='269' /> + <propval name='sensor-class' type='string' value='discrete' /> + <propval name='entity_ref' type='string_array' > + <propitem value='DIMM PG' /> + </propval> + <propmethod name='ipmi_sensor_state' version='0' + propname='state' proptype='uint32' > + </propmethod> + </propgroup> + </facility> + <propgroup name='protocol' version='1' + name-stability='Private' data-stability='Private' > + <propval name='label' type='string' value='MB' /> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-id' type='uint32' value='7' /> + <propval name='entity-instance' type='uint32' value='1' /> + <propval name='entity-list' type='string_array' > + <propitem value='CMOS Battery' /> + <propitem value='Dedicated NIC' /> + <propitem value='LCD Cable Pres' /> + <propitem value='NDC PG' /> + <propitem value='Riser Config Err' /> + <propitem value='Riser 2 Presence' /> + <propitem value='Riser 3 Presence' /> + <propitem value='USB Cable Pres' /> + <propitem value='VGA Cable Pres' /> + </propval> + </propgroup> + + </node> <!-- motherboard --> + + <dependents grouping='children'> + <range name='chip' min='0' max='1'> + <enum-method name='chip' version='1' /> + </range> + <range name='hostbridge' min='0' max='254'> + <enum-method name='hostbridge' version='1' /> + </range> + <range name='sp' min='0' max='0'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='slot' min='0' max='23'> + <enum-method name='smbios' version='1' /> + </range> + </dependents> + + </range> + + <range name='chassis' min='0' max='0'> + <propmap name='Joyent-Compute-Platform-330x-chassis' /> + + <dependents grouping='children'> + + <range name='psu' min='0' max='1'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='fan' min='0' max='5'> + <propmap name='Joyent-Compute-Platform-330x-fan' /> + </range> + + </dependents> + + </range> + + <range name='ses-enclosure' min='0' max='1'> + <enum-method name='ses' version='1' /> + </range> + +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-chassis-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-chassis-hc-topology.xml new file mode 100644 index 0000000000..20dbc301eb --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-chassis-hc-topology.xml @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + 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) 2018, Joyent, Inc. +--> + +<topology name='chassis' scheme='hc'> + <range name='chassis' min='0' max='0'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <!-- + chassis locate LED + --> + <facility name='locate' type='indicator' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='1' /> + <propmethod name='chassis_ident_mode' version='0' + propname='mode' proptype='uint32' mutable='1' > + </propmethod> + </propgroup> + </facility> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Intrusion' /> + <propitem value='Pwr Consumption' /> + <propitem value='Inlet Temp' /> + <propitem value='Exhaust Temp' /> + </propval> + </propgroup> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-fan-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-fan-hc-topology.xml new file mode 100644 index 0000000000..5284971c19 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Joyent-Compute-Platform-330x-fan-hc-topology.xml @@ -0,0 +1,127 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + 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) 2018, Joyent, Inc. +--> + +<topology name='fan' scheme='hc'> + <range name='fan' min='0' max='5'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 1' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan1' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + <node instance='1'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 2' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan2' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + <node instance='2'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 3' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan3' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + <node instance='3'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 4' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan4' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + <node instance='4'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 5' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan5' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + <node instance='5'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='FAN 6' /> + <propmethod name='ipmi_fru_fmri' version='0' propname='FRU' + proptype='fmri'> + <argval name='entity' type='string' value='self' /> + </propmethod> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Fan6' /> + </propval> + </propgroup> + <enum-method name='ipmi' version='1' /> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Makefile b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Makefile new file mode 100644 index 0000000000..677a099c43 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Compute-Platform-330x/Makefile @@ -0,0 +1,49 @@ +# +# 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) 2018, Joyent, Inc. +# + +ARCH = i86pc +CLASS = arch +DTDFILE = topology.dtd.1 +OTHER_VARIANTS = \ + Joyent-Compute-Platform-3302-hc-topology.xml + +ROOTJOYENTMAPS = $(OTHER_VARIANTS:%=$(arch_ROOTTOPOROOT)/%) + +TOPOFILE = \ + Joyent-Compute-Platform-3301-hc-topology.xml \ + Joyent-Compute-Platform-330x-chassis-hc-topology.xml \ + Joyent-Compute-Platform-330x-fan-hc-topology.xml + +SRCDIR = ../Joyent,Joyent-Compute-Platform-330x + +PLATFORM = Joyent-Compute-Platform-330x + +CLOBBERFILES += $(ROOTJOYENTMAPS) + +include ../Makefile.map + +install: $(ROOTJOYENTMAPS) + +# +# The JCP-3301 and JCP-3302 are essentially the same underlying hardware. The +# only significant difference is the JCP-3302 uses SSDs internally instead of +# traditional disks. As such, the same platform topo map should work for +# both platforms so we simply create a symlink from the JCP 3301 map for the +# JCP 3302. +# +$(ROOTJOYENTMAPS): Joyent-Compute-Platform-3301-hc-topology.xml + $(RM) $@ + $(SYMLINK) ./$? $@ + diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-chassis-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-chassis-hc-topology.xml new file mode 100644 index 0000000000..d71085a615 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-chassis-hc-topology.xml @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='chassis' scheme='hc'> + <range name='chassis' min='0' max='0'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <!-- + chassis locate LED + --> + <facility name='locate' type='indicator' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='1' /> + <propmethod name='chassis_ident_mode' version='0' + propname='mode' proptype='uint32' mutable='1' > + </propmethod> + </propgroup> + </facility> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Chassis Intru' /> + <propitem value='System Temp' /> + </propval> + </propgroup> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-hc-topology.xml new file mode 100644 index 0000000000..915e3ccfb0 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-hc-topology.xml @@ -0,0 +1,89 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='i86pc' scheme='hc'> + + <range name='motherboard' min='0' max='0'> + <enum-method name='smbios' version='1' /> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' + name-stability='Private' data-stability='Private' > + <propval name='label' type='string' value='MB' /> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='MB_10G Temp' /> + <propitem value='PCH Temp' /> + <propitem value='Peripheral Temp' /> + <propitem value='5VSB' /> + <propitem value='5VSB' /> + <propitem value='3.3VSB' /> + <propitem value='3.3VCC' /> + <propitem value='1.5V PCH' /> + <propitem value='1.2V BMC' /> + <propitem value='1.05V PCH' /> + <propitem value='12V' /> + <propitem value='5VCC' /> + <propitem value='VBAT' /> + <propitem value='VDIMMAB' /> + <propitem value='VDIMMCD' /> + <propitem value='VDIMMEF' /> + <propitem value='VDIMMGH' /> + </propval> + </propgroup> + </node> + + <dependents grouping='children'> + <range name='chip' min='0' max='1'> + <enum-method name='chip' version='1' /> + </range> + <range name='hostbridge' min='0' max='254'> + <enum-method name='hostbridge' version='1' /> + </range> + <range name='sp' min='0' max='0'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='slot' min='0' max='15'> + <enum-method name='smbios' version='1' /> + <propmap name='Joyent-Storage-Platform-7001-slot' /> + </range> + </dependents> + + </range> + + <range name='chassis' min='0' max='0'> + <propmap name='Joyent-Storage-Platform-7001-chassis' /> + + <dependents grouping='children'> + + <range name='psu' min='0' max='1'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='fan' min='0' max='7'> + <enum-method name='ipmi' version='1' /> + </range> + + </dependents> + </range> + + <range name='ses-enclosure' min='0' max='1'> + <enum-method name='ses' version='1' /> + </range> + +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-slot-hc-topology.xml b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-slot-hc-topology.xml new file mode 100644 index 0000000000..6b16063427 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Joyent-Storage-Platform-7001-slot-hc-topology.xml @@ -0,0 +1,277 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='slot' scheme='hc'> + <range name='slot' min='0' max='15'> + <node instance='0' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='1' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='2' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='3' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='4' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='5' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='6' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='7' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='8' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='9' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='10' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='11' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='12' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMG1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='13' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMG2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='14' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMH1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='15' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMH2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + </range> <!-- slot --> +</topology> diff --git a/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Makefile b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Makefile new file mode 100644 index 0000000000..bffc198721 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/Joyent,Joyent-Storage-Platform-7001/Makefile @@ -0,0 +1,33 @@ +# +# 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) 2018, 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-Storage-Platform-7001-hc-topology.xml \ + Joyent-Storage-Platform-7001-chassis-hc-topology.xml \ + Joyent-Storage-Platform-7001-slot-hc-topology.xml + +SRCDIR = ../Joyent,Joyent-Storage-Platform-7001 + +PLATFORM = Joyent-Storage-Platform-7001 + +include ../Makefile.map diff --git a/usr/src/lib/fm/topo/maps/Makefile b/usr/src/lib/fm/topo/maps/Makefile index a01b016ebe..a35419192f 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) 2018, Joyent, Inc. # sparc_SUBDIRS = sun4u \ @@ -49,7 +50,12 @@ 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-330x \ + Joyent,Joyent-Storage-Platform-7001 \ + SMCI,SSG-2028R-ACR24L \ + SMCI,SSG-6049P-E1CR36L \ + SMCI,SSG-2029P-ACR24L SUBDIRS = $($(MACH)_SUBDIRS) diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/Makefile b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/Makefile new file mode 100644 index 0000000000..15401c3abb --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/Makefile @@ -0,0 +1,65 @@ +# +# 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) 2018, 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 +JOYENT_PLATFORMS = \ + Joyent-Compute-Platform-3101-hc-topology.xml \ + Joyent-Compute-Platform-3102-hc-topology.xml + +ROOTJOYENTMAPS = $(JOYENT_PLATFORMS:%=$(arch_ROOTTOPOROOT)/%) + +TOPOFILE = \ + SSG-2028R-ACR24L-hc-topology.xml \ + SSG-2028R-ACR24L-chassis-hc-topology.xml \ + SSG-2028R-ACR24L-disk-hc-topology.xml \ + SSG-2028R-ACR24L-slot-hc-topology.xml + +SRCDIR = ../SMCI,SSG-2028R-ACR24L + +PLATFORM = SSG-2028R-ACR24L + +CLOBBERFILES += $(ROOTJOYENTMAPS) SSG-2028R-ACR24L-disk-hc-topology.xml + +include ../Makefile.map + +install: $(ROOTJOYENTMAPS) + +# +# 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. +# +$(ROOTJOYENTMAPS): SSG-2028R-ACR24L-hc-topology.xml + $(RM) $@ + $(SYMLINK) ./$? $@ + diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-chassis-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-chassis-hc-topology.xml new file mode 100644 index 0000000000..8a53632472 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-chassis-hc-topology.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + Copyright (c) 2017, Joyent, Inc. + + + 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. + +--> + +<topology name='chassis' scheme='hc'> + <range name='chassis' min='0' max='0'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <!-- + chassis locate LED + --> + <facility name='locate' type='indicator' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='1' /> + <propmethod name='chassis_ident_mode' version='0' + propname='mode' proptype='uint32' mutable='1' > + </propmethod> + </propgroup> + </facility> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Chassis Intru' /> + </propval> + </propgroup> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-disk-hc-topology.xmlgenksh b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-disk-hc-topology.xmlgenksh new file mode 100755 index 0000000000..0f4b6c9731 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-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/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-hc-topology.xml new file mode 100644 index 0000000000..8406db227d --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-hc-topology.xml @@ -0,0 +1,98 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- +Copyright (c) 2018, Joyent, Inc. + + 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 + +--> + +<topology name='i86pc' scheme='hc'> + + <range name='motherboard' min='0' max='0'> + <enum-method name='smbios' version='1' /> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' + name-stability='Private' data-stability='Private' > + <propval name='label' type='string' value='MB' /> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='MB_10G Temp' /> + <propitem value='PCH Temp' /> + <propitem value='Peripheral Temp' /> + <propitem value='5VSB' /> + <propitem value='5VSB' /> + <propitem value='3.3VSB' /> + <propitem value='3.3VCC' /> + <propitem value='1.5V PCH' /> + <propitem value='1.2V BMC' /> + <propitem value='1.05V PCH' /> + <propitem value='12V' /> + <propitem value='5VCC' /> + <propitem value='VBAT' /> + <propitem value='VDIMMAB' /> + <propitem value='VDIMMCD' /> + <propitem value='VDIMMEF' /> + <propitem value='VDIMMGH' /> + </propval> + </propgroup> + </node> + + <dependents grouping='children'> + <range name='chip' min='0' max='100'> + <enum-method name='chip' version='1' /> + </range> + <range name='hostbridge' min='0' max='254'> + <enum-method name='hostbridge' version='1' /> + </range> + <range name='sp' min='0' max='0'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='slot' min='0' max='15'> + <enum-method name='smbios' version='1' /> + <propmap name='SSG-2028R-ACR24L-slot' /> + </range> + </dependents> + + </range> + + <range name='chassis' min='0' max='0'> + <propmap name='SSG-2028R-ACR24L-chassis' /> + + <dependents grouping='children'> + + <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='SSG-2028R-ACR24L-disk' /> + </range> + + </dependents> + + </range> + +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-slot-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-slot-hc-topology.xml new file mode 100644 index 0000000000..6b16063427 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2028R-ACR24L/SSG-2028R-ACR24L-slot-hc-topology.xml @@ -0,0 +1,277 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='slot' scheme='hc'> + <range name='slot' min='0' max='15'> + <node instance='0' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='1' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='2' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='3' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='4' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='5' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='6' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='7' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='8' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='9' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='10' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='11' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='12' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMG1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='13' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMG2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='14' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMH1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='15' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMH2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + </range> <!-- slot --> +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/Makefile b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/Makefile new file mode 100644 index 0000000000..0cd1c11a20 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/Makefile @@ -0,0 +1,51 @@ +# +# 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) 2018, 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 +JOYENT_PLATFORMS = \ + Joyent-M12G5-hc-topology.xml + +ROOTJOYENTMAPS = $(JOYENT_PLATFORMS:%=$(arch_ROOTTOPOROOT)/%) + +TOPOFILE = \ + SSG-2029P-ACR24L-hc-topology.xml \ + SSG-2029P-ACR24L-chassis-hc-topology.xml \ + SSG-2029P-ACR24L-disk-hc-topology.xml \ + SSG-2029P-ACR24L-slot-hc-topology.xml + +SRCDIR = ../SMCI,SSG-2029P-ACR24L + +PLATFORM = SSG-2029P-ACR24L + +CLOBBERFILES += SSG-2029P-ACR24L-disk-hc-topology.xml + +include ../Makefile.map + +install: $(ROOTJOYENTMAPS) + +# +# Note, the Joyent M12G5 is based on the SuperMicro SSG-2029P-ACR24L. +# Because of that, the topo map used here will work for all such +# systems. +# +$(ROOTJOYENTMAPS): SSG-2029P-ACR24L-hc-topology.xml + $(RM) $@ + $(SYMLINK) ./$? $@ diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-chassis-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-chassis-hc-topology.xml new file mode 100644 index 0000000000..8f1d790414 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-chassis-hc-topology.xml @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + Copyright (c) 2018, Joyent, Inc. + + + 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. + +--> + +<topology name='chassis' scheme='hc'> + <range name='chassis' min='0' max='0'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <!-- + chassis locate LED + --> + <facility name='locate' type='indicator' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='1' /> + <propmethod name='chassis_ident_mode' version='0' + propname='mode' proptype='uint32' mutable='1' > + </propmethod> + </propgroup> + </facility> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Chassis Intru' /> + <propitem value='System Temp' /> + </propval> + </propgroup> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-disk-hc-topology.xmlgenksh b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-disk-hc-topology.xmlgenksh new file mode 100755 index 0000000000..327c41c53b --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-disk-hc-topology.xmlgenksh @@ -0,0 +1,143 @@ +#!/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) 2018, Joyent, Inc. +# + +# +# Generate the topology map for an expanderless system with 24 bays. HBAs are +# in slots 2, 4, and 6. Additionally, there are two rear-facing SATA drive +# bays, connected to the SATA headers on the motherboard. +# + +function do_sas_node +{ + cat <<EOF + <node instance='${1}'> + <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> + <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 +} + +function do_sata_node +{ + bay=$1 + bay_inst=$2 + # + # There are six SATA headers on the motherboard, which represent + # targets 0-5. The two rear-facing SATA bays are connected to the two + # headers associated with targets 4 and 5. + # + (( target = bay + 4 )) + hpath="/pci@0,0/pci15d9,981@11,5" + tpath="/disk@${target},0" + cat <<EOF + <node instance='$bay_inst'> + <propgroup name='protocol' version='1' name-stability='Private' + data-stability='Private'> + <propval name='label' type='string' value='Rear Disk $bay' /> + </propgroup> + <propgroup name='io' version='1' name-stability='Private' + data-stability='Private'> + <propval name='ap-path' type='string' value='/devices${hpath}:$target' /> + </propgroup> + <propgroup name='binding' version='1' name-stability='Private' + data-stability='Private'> + <propval name='occupant-path' type='string' + value='$hpath$tpath' /> + </propgroup> + </node> +EOF +} + + +cat <<EOF +<topology name='disk' scheme='hc'> + <range name='bay' min='0' max='25'> +EOF + +enclosure=1 +bay=0 +slot=0 +devctl0='/devices/pci@7d,0/pci8086,2030@0/pci15d9,808@0:devctl' +while (( slot <= 7 )); do + do_sas_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot + (( bay = bay + 1 )) + (( slot = slot + 1 )) +done + +slot=0 +devctl0='/devices/pci@cd,0/pci8086,2030@0/pci15d9,808@0:devctl' +while (( slot <= 7 )); do + do_sas_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot + (( bay = bay + 1 )) + (( slot = slot + 1 )) +done + +slot=0 +devctl0='/devices/pci@56,0/pci8086,2030@0/pci15d9,808@0:devctl' +while (( slot <= 7 )); do + do_sas_node $bay "Front Disk $bay" "$devctl0" $enclosure $slot + (( bay = bay + 1 )) + (( slot = slot + 1 )) +done + +do_sata_node 0 24 +do_sata_node 1 25 + +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/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-hc-topology.xml new file mode 100644 index 0000000000..68182bfef3 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-hc-topology.xml @@ -0,0 +1,96 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + 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) 2018, Joyent, Inc. +--> +<topology name='i86pc' scheme='hc'> + + <range name='motherboard' min='0' max='0'> + <enum-method name='smbios' version='1' /> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' + name-stability='Private' data-stability='Private' > + <propval name='label' type='string' value='MB' /> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='1.05V PCH' /> + <propitem value='1.8V PCH' /> + <propitem value='3.3VSB' /> + <propitem value='3.3VCC' /> + <propitem value='5VCC' /> + <propitem value='5VSB' /> + <propitem value='12V' /> + <propitem value='MB_10G Temp' /> + <propitem value='PCH Temp' /> + <propitem value='Peripheral Temp' /> + <propitem value='PVNN PCH' /> + <propitem value='VBAT' /> + <propitem value='Vcpu1' /> + <propitem value='Vcpu2' /> + <propitem value='VDIMMP1ABC' /> + <propitem value='VDIMMP1DEF' /> + <propitem value='VDIMMP2ABC' /> + <propitem value='VDIMMP2DEF' /> + <propitem value='VRMCpu1SA Temp' /> + <propitem value='VRMCpu1IO Temp' /> + <propitem value='VRMCpu1CCH Temp' /> + <propitem value='VRMCpu2SA Temp ' /> + <propitem value='VRMCpu2IO Temp' /> + <propitem value='VRMP1ABC Temp' /> + <propitem value='VRMP1DEF Temp' /> + <propitem value='VRMP2ABC Temp' /> + <propitem value='VRMP2DEF Temp' /> + </propval> + </propgroup> + </node> + + <dependents grouping='children'> + <range name='chip' min='0' max='100'> + <enum-method name='chip' version='1' /> + </range> + <range name='hostbridge' min='0' max='254'> + <enum-method name='hostbridge' version='1' /> + </range> + <range name='sp' min='0' max='0'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='slot' min='0' max='15'> + <enum-method name='smbios' version='1' /> + <propmap name='SSG-2029P-ACR24L-slot' /> + </range> + </dependents> + + </range> + + <range name='chassis' min='0' max='0'> + <propmap name='SSG-2029P-ACR24L-chassis' /> + + <dependents grouping='children'> + + <range name='psu' min='0' max='1'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='fan' min='0' max='7'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='bay' min='0' max='25'> + <propmap name='SSG-2029P-ACR24L-disk' /> + </range> + + </dependents> + + </range> + +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-slot-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-slot-hc-topology.xml new file mode 100644 index 0000000000..29dcc6d206 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-2029P-ACR24L/SSG-2029P-ACR24L-slot-hc-topology.xml @@ -0,0 +1,277 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='slot' scheme='hc'> + <range name='slot' min='0' max='15'> + <node instance='0' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='1' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='2' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='3' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='4' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='5' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='6' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='7' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='8' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='9' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='10' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='11' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMC1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='12' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='13' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='14' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='15' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + </range> <!-- slot --> +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/Makefile b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/Makefile new file mode 100644 index 0000000000..eeaf0c9045 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/Makefile @@ -0,0 +1,47 @@ +# +# 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) 2018, 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 +JOYENT_PLATFORMS = \ + Joyent-S10G5-hc-topology.xml + +ROOTJOYENTMAPS = $(JOYENT_PLATFORMS:%=$(arch_ROOTTOPOROOT)/%) + +TOPOFILE = \ + SSG-6049P-E1CR36L-hc-topology.xml \ + SSG-6049P-E1CR36L-chassis-hc-topology.xml \ + SSG-6049P-E1CR36L-slot-hc-topology.xml + +SRCDIR = ../SMCI,SSG-6049P-E1CR36L + +PLATFORM = SSG-6049P-E1CR36L + +include ../Makefile.map + +install: $(ROOTJOYENTMAPS) +# +# Note, the Joyent S10G5 is based on the SuperMicro SSG-6049P-E1CR36L. +# Because of that, the topo map used here will work for all such +# systems. +# +$(ROOTJOYENTMAPS): SSG-6049P-E1CR36L-hc-topology.xml + $(RM) $@ + $(SYMLINK) ./$? $@ diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-chassis-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-chassis-hc-topology.xml new file mode 100644 index 0000000000..346f77966e --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-chassis-hc-topology.xml @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='chassis' scheme='hc'> + <range name='chassis' min='0' max='0'> + <node instance='0'> + <fac-enum provider='fac_prov_ipmi' /> + <!-- + chassis locate LED + --> + <facility name='locate' type='indicator' provider='fac_prov_ipmi' > + <propgroup name='facility' version='1' name-stability='Private' + data-stability='Private' > + <propval name='type' type='uint32' value='1' /> + <propmethod name='chassis_ident_mode' version='0' + propname='mode' proptype='uint32' mutable='1' > + </propmethod> + </propgroup> + </facility> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='Chassis Intru' /> + <propitem value='System Temp' /> + </propval> + </propgroup> + </node> + </range> +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-hc-topology.xml new file mode 100644 index 0000000000..f3f7311249 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-hc-topology.xml @@ -0,0 +1,87 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='i86pc' scheme='hc'> + + <range name='motherboard' min='0' max='0'> + <enum-method name='smbios' version='1' /> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='protocol' version='1' + name-stability='Private' data-stability='Private' > + <propval name='label' type='string' value='MB' /> + </propgroup> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='PCH Temp' /> + <propitem value='Peripheral Temp' /> + <propitem value='MB_10G Temp' /> + <propitem value='12V' /> + <propitem value='5VCC' /> + <propitem value='3.3VCC' /> + <propitem value='VDimmP1ABC' /> + <propitem value='VDimmP1DEF' /> + <propitem value='VDimmP2ABC' /> + <propitem value='VDimmP2DEF' /> + <propitem value='5SVB' /> + <propitem value='3.3VSB' /> + <propitem value='1.8V PCH' /> + <propitem value='PVNN PCH' /> + <propitem value='1.05V PCH' /> + </propval> + </propgroup> + </node> + + <dependents grouping='children'> + <range name='chip' min='0' max='1'> + <enum-method name='chip' version='1' /> + </range> + <range name='hostbridge' min='0' max='254'> + <enum-method name='hostbridge' version='1' /> + </range> + <range name='sp' min='0' max='0'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='slot' min='0' max='15'> + <enum-method name='smbios' version='1' /> + <propmap name='SSG-6049P-E1CR36L-slot' /> + </range> + </dependents> + + </range> + + <range name='chassis' min='0' max='0'> + <propmap name='SSG-6049P-E1CR36L-chassis' /> + + <dependents grouping='children'> + + <range name='psu' min='0' max='1'> + <enum-method name='ipmi' version='1' /> + </range> + <range name='fan' min='0' max='7'> + <enum-method name='ipmi' version='1' /> + </range> + + </dependents> + </range> + + <range name='ses-enclosure' min='0' max='1'> + <enum-method name='ses' version='1' /> + </range> + +</topology> diff --git a/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-slot-hc-topology.xml b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-slot-hc-topology.xml new file mode 100644 index 0000000000..d367c42744 --- /dev/null +++ b/usr/src/lib/fm/topo/maps/SMCI,SSG-6049P-E1CR36L/SSG-6049P-E1CR36L-slot-hc-topology.xml @@ -0,0 +1,277 @@ +<?xml version="1.0"?> +<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> +<!-- + + 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) 2018, Joyent, Inc. + +--> + +<topology name='slot' scheme='hc'> + <range name='slot' min='0' max='15'> + <node instance='0' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='1' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='2' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='3' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMC2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='4' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='5' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='6' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='7' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P1-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='8' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMA1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='9' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMA2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='10' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMB1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='11' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMC1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='12' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMD1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='13' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMD2 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='14' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMME1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + <node instance='15' static='true'> + <dependents grouping='children'> + <range name='dimm' min='0' max='0'> + <node instance='0' static='true'> + <fac-enum provider='fac_prov_ipmi' /> + <propgroup name='ipmi' version='1' + name-stability='Private' data-stability='Private' > + <propval name='entity-list' type='string_array' > + <propitem value='P2-DIMMF1 Temp' /> + </propval> + </propgroup> + </node> + </range> + </dependents> + </node> + + </range> <!-- slot --> +</topology> |