summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvenki <none@none>2006-08-24 11:55:17 -0700
committervenki <none@none>2006-08-24 11:55:17 -0700
commit8326d453818c9fb78ac1670cf49d26fa4da15003 (patch)
tree1cdd308bef9eb65165e85d41fd361f3b9840c849
parentac204d0d8540b5aa1b97cb5de5984f6cb831c517 (diff)
downloadillumos-joyent-8326d453818c9fb78ac1670cf49d26fa4da15003.tar.gz
6425335 Hot-plugging of fans is not dealt with by PICL frudr
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile4
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info46
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5.info79
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5_data.info89
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info22
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile10
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c147
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile10
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0.info105
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0_data.info116
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1.info105
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1_data.info116
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2.info105
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2_data.info117
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3.info105
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3_data.info117
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4.info106
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4_data.info117
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5.info106
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5_data.info117
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6.info111
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6_data.info127
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info239
-rw-r--r--usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile9
-rw-r--r--usr/src/lib/libprtdiag_psr/sparc/desktop/common/picldiag.c13
-rw-r--r--usr/src/pkgdefs/SUNWpiclu/prototype_sparc13
36 files changed, 2774 insertions, 317 deletions
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile
index 2aed2a608c..d1a309353d 100644
--- a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile
@@ -48,6 +48,8 @@ CONFS += fru_HDD6.conf fru_HDD7.conf
CONFS += fru_SC.conf
CONFS += fru_usb-a-1.conf fru_usb-a-2.conf
CONFS += fru_usb-a-3.conf fru_usb-a-4.conf
+CONFS += fru_FT0.conf fru_FT1.conf fru_FT2.conf
+CONFS += fru_FT3.conf fru_FT4.conf fru_FT5.conf
ROOTCONF= $(CONFS:%=$(ROOTLIBDIR)/%)
$(ROOTCONF) := FILEMODE = 0644
MAININFO= $(CONFS:%.conf=%.info)
@@ -59,6 +61,8 @@ OTHERINFOS += fru_HDD6_data.info fru_HDD7_data.info
OTHERINFOS += fru_SC_data.info SB-tables.info
OTHERINFOS += fru_usb-a-1_data.info fru_usb-a-2_data.info
OTHERINFOS += fru_usb-a-3_data.info fru_usb-a-4_data.info
+OTHERINFOS += fru_FT0_data.info fru_FT1_data.info fru_FT2_data.info
+OTHERINFOS += fru_FT3_data.info fru_FT4_data.info fru_FT5_data.info
ROOTLINTDIR = $(ROOTLIBDIR)
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info
index 7241e5621a..1865125ea4 100644
--- a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info
@@ -499,49 +499,3 @@ TABLE Devices
REFPROP _led_ name:RMCLOMV/ft5_f0_fault
ENDROW
ENDTABLE
-
-/*
- * Add a device table for each of the six fans
- */
-name:/frutree/chassis/MB/system-board/FT0/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft0_f0_tach
- ENDROW
- ENDTABLE
-name:/frutree/chassis/MB/system-board/FT1/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft1_f0_tach
- ENDROW
- ENDTABLE
-name:/frutree/chassis/MB/system-board/FT2/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft2_f0_tach
- ENDROW
- ENDTABLE
-name:/frutree/chassis/MB/system-board/FT3/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft3_f0_tach
- ENDROW
- ENDTABLE
-name:/frutree/chassis/MB/system-board/FT4/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft4_f0_tach
- ENDROW
- ENDTABLE
-name:/frutree/chassis/MB/system-board/FT5/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft5_f0_tach
- ENDROW
- ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0.info
new file mode 100644
index 0000000000..3d623be652
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT0
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT0/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT0_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0_data.info
new file mode 100644
index 0000000000..aa774ce30c
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT0_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT0
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft0_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT0/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT0/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft0_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1.info
new file mode 100644
index 0000000000..dc042e9290
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT1
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT1/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT1_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1_data.info
new file mode 100644
index 0000000000..e9b87e5804
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT1_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT1
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft1_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT1/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT1/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft1_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2.info
new file mode 100644
index 0000000000..0dc224a54f
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT2
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT2/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT2_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2_data.info
new file mode 100644
index 0000000000..8feaacb17f
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT2_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT2
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft2_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT2/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT2/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft2_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3.info
new file mode 100644
index 0000000000..cd7652e118
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT3
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT3/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT3_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3_data.info
new file mode 100644
index 0000000000..13d16aa8c1
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT3_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT3
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft3_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT3/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT3/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft3_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4.info
new file mode 100644
index 0000000000..950a42121a
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT4
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT4/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT4_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4_data.info
new file mode 100644
index 0000000000..7ce327d4fc
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT4_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT4
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft4_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT4/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT4/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft4_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5.info
new file mode 100644
index 0000000000..c45e8c2419
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5.info
@@ -0,0 +1,79 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL frudr plugin in response
+ * to a PICL_FRU_ADDED event for FT5
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+name:/frutree/chassis/MB/system-board/FT5/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT5_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5_data.info
new file mode 100644
index 0000000000..40bc358f0a
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_FT5_data.info
@@ -0,0 +1,89 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL envmon plugin in response
+ * to a PICL_FRU_ADDED event for FT5
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * Parent for the fan tachometer
+ */
+name:RMCLOMV/ft5_f0_tach
+ REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT5/fan-tray/F0
+
+/*
+ * Device table for the fan
+ */
+name:/frutree/chassis/MB/system-board/FT5/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft5_f0_tach
+ ENDROW
+ ENDTABLE
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info
index 33f3a9c8ab..254b3bb8dd 100644
--- a/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info
@@ -108,20 +108,14 @@ id("%Z%%M% %I% %E% SMI")
#include "fru_usb-a-4_data.info"
/*
- * parents for the fan tachometers
- */
-name:RMCLOMV/ft0_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT0/fan-tray/F0
-name:RMCLOMV/ft1_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT1/fan-tray/F0
-name:RMCLOMV/ft2_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT2/fan-tray/F0
-name:RMCLOMV/ft3_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT3/fan-tray/F0
-name:RMCLOMV/ft4_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT4/fan-tray/F0
-name:RMCLOMV/ft5_f0_tach
- REFPROP _location_parent name:/frutree/chassis/MB/system-board/FT5/fan-tray/F0
+ * fans
+ */
+#include "fru_FT0_data.info"
+#include "fru_FT1_data.info"
+#include "fru_FT2_data.info"
+#include "fru_FT3_data.info"
+#include "fru_FT4_data.info"
+#include "fru_FT5_data.info"
/*
* parents for system leds
diff --git a/usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile b/usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile
index 0984a01f06..d310eb2d5d 100644
--- a/usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile
@@ -64,6 +64,16 @@ OTHERINFOS += $(INCDIR2)/fru_PS1_data.info
OTHERINFOS += $(INCDIR2)/fru_PS2_data.info
OTHERINFOS += $(INCDIR2)/fru_PS3_data.info
OTHERINFOS += $(INCDIR2)/fru_SC_data.info
+OTHERINFOS += $(INCDIR2)/fru_usb-a-1_data.info
+OTHERINFOS += $(INCDIR2)/fru_usb-a-2_data.info
+OTHERINFOS += $(INCDIR2)/fru_usb-a-3_data.info
+OTHERINFOS += $(INCDIR2)/fru_usb-a-4_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT0_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT1_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT2_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT3_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT4_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT5_data.info
ROOTLINTDIR = $(ROOTLIBDIR)
diff --git a/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c b/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c
index 08aff14102..32e700c2fc 100644
--- a/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c
+++ b/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c
@@ -129,6 +129,10 @@ static picld_plugin_reg_t my_reg_info = {
#define RMC_NAME "SC"
#define RMC_NAME_LEN 2
#define RMC_FRU_NAME "sc"
+#define FT_NAME "FT"
+#define FT_NAME_LEN 2
+#define FT_FRU_NAME "fan-tray"
+#define FT_ID_BUFSZ (FT_NAME_LEN + 2)
#define DEV_PREFIX "/devices"
#define ENXS_FRONT_SRVC_LED 0x20
#define ENXS_FRONT_ACT_LED 0x10
@@ -201,6 +205,27 @@ static picld_plugin_reg_t my_reg_info = {
#define BOSTON_PSU_COMPATIBLE "i2c-at34c02"
/*
+ * Seattle fan-tray paths
+ */
+#define SEATTLE_FCB0_1U \
+ "/frutree/chassis/MB/system-board/FIOB/front-io-board-1" \
+ "/FCB0/fan-connector-board/%s"
+#define SEATTLE_FCB1_1U \
+ "/frutree/chassis/MB/system-board/FIOB/front-io-board-1" \
+ "/FCB1/fan-connector-board/%s"
+#define SEATTLE_PDB_1U \
+ "/frutree/chassis/PDB/power-distribution-board/%s"
+#define SEATTLE_FCB0_2U \
+ "/frutree/chassis/MB/system-board/FIOB/front-io-board-2" \
+ "/FCB0/fan-connector-board/%s"
+#define SEATTLE_FCB1_2U \
+ "/frutree/chassis/MB/system-board/FIOB/front-io-board-2" \
+ "/FCB1/fan-connector-board/%s"
+#define SEATTLE_PDB_2U \
+ "/frutree/chassis/PDB/power-distribution-board" \
+ "/HDDFB/fan-connector-board/%s"
+
+/*
* disk defines
*/
#define REMOK_LED "OK2RM"
@@ -356,6 +381,7 @@ static int ps_name_to_addr(char *name);
static char *ps_name_to_unitaddr(char *name);
static char *ps_apid_to_nodename(char *apid);
static void add_op_status(envmon_hpu_t *hpu, int *index);
+static void get_fantray_path(char *ap_id, char *path, int bufsz);
#define sprintf_buf2(buf, a1, a2) (void) snprintf(buf, sizeof (buf), a1, a2)
@@ -1024,6 +1050,8 @@ remove_fru_parents(picl_nodehdl_t fruh)
picl_prophdl_t tableh;
picl_prophdl_t tblh;
picl_prophdl_t fruph;
+ picl_nodehdl_t childh;
+ int seabos_fanfru = 0;
retval = ptree_get_propval_by_name(fruh, PICL_PROP_NAME, name,
sizeof (name));
@@ -1031,12 +1059,40 @@ remove_fru_parents(picl_nodehdl_t fruh)
syslog(LOG_ERR, EM_UNK_FRU);
return;
}
- retval = ptree_get_prop_by_name(fruh, PICL_PROP_DEVICES,
- &tableh);
+ retval = ptree_get_prop_by_name(fruh, PICL_PROP_DEVICES, &tableh);
if (retval != PICL_SUCCESS) {
- /* no Devices table, nothing to do */
- return;
+ /*
+ * No Devices table. However on Seattle and Boston (which
+ * support fan fru hotplug), the Devices table will be
+ * found under the child node (Fn) of the fru (fan-tray).
+ * Therefore, check the first child of the fru for the
+ * Devices table on these platforms before returning.
+ */
+ switch (sys_platform) {
+ case PLAT_SEATTLE1U:
+ case PLAT_SEATTLE2U:
+ case PLAT_BOSTON:
+ if (strcmp(name, FT_FRU_NAME) != 0)
+ return;
+
+ retval = ptree_get_propval_by_name(fruh,
+ PICL_PROP_CHILD, &childh, sizeof (picl_nodehdl_t));
+ if (retval != PICL_SUCCESS)
+ return;
+
+ retval = ptree_get_prop_by_name(childh,
+ PICL_PROP_DEVICES, &tableh);
+ if (retval != PICL_SUCCESS)
+ return;
+
+ seabos_fanfru = 1;
+ break;
+
+ default:
+ /* nothing to do */
+ return;
+ }
}
/*
@@ -1049,12 +1105,14 @@ remove_fru_parents(picl_nodehdl_t fruh)
/* can't get value of table property */
return;
}
+
/* get first col, first row */
retval = ptree_get_next_by_col(tblh, &tblh);
if (retval != PICL_SUCCESS) {
/* no rows? */
return;
}
+
/*
* starting at next col, get every entry in the column
*/
@@ -1077,7 +1135,17 @@ remove_fru_parents(picl_nodehdl_t fruh)
retval = ptree_get_prop_by_name(nodeh,
PICL_REFPROP_FRU_PARENT, &fruph);
if (retval != PICL_SUCCESS) {
- continue;
+ /*
+ * on Boston and Seattle, we should actually be
+ * looking for the _location_parent property
+ * for fan frus
+ */
+ if (seabos_fanfru) {
+ retval = ptree_get_prop_by_name(nodeh,
+ PICL_REFPROP_LOC_PARENT, &fruph);
+ }
+ if (retval != PICL_SUCCESS)
+ continue;
}
/*
* got a _fru_parent node reference delete it
@@ -1128,12 +1196,14 @@ remove_tables(picl_nodehdl_t rootnd)
}
}
-/* event completion handler for PICL_FRU_ADDED/PICL_FRU_REMOVED events */
+/*
+ * Event completion handler for PICL_FRU_ADDED/PICL_FRU_REMOVED events
+ */
static void
frudr_completion_handler(char *ename, void *earg, size_t size)
{
picl_nodehdl_t fruh;
- picl_nodehdl_t childh;
+ picl_nodehdl_t parh;
char nodename[PICL_PROPNAMELEN_MAX];
int err;
@@ -1150,9 +1220,9 @@ frudr_completion_handler(char *ename, void *earg, size_t size)
* first find name of the fru
*/
err = ptree_get_propval_by_name(fruh, PICL_PROP_PARENT,
- &childh, sizeof (childh));
+ &parh, sizeof (parh));
if (err == PICL_SUCCESS) {
- err = ptree_get_propval_by_name(childh,
+ err = ptree_get_propval_by_name(parh,
PICL_PROP_NAME, nodename,
sizeof (nodename));
}
@@ -1189,9 +1259,9 @@ frudr_completion_handler(char *ename, void *earg, size_t size)
}
}
}
- nvlist_free(earg);
- free(earg);
+
free(ename);
+ nvlist_free(earg);
}
/*
@@ -1287,6 +1357,52 @@ add_ps_to_platform(char *unit)
(void) ptree_create_and_add_prop(child_hdl, &info, unit, NULL);
}
+static void
+get_fantray_path(char *ap_id, char *path, int bufsz)
+{
+ char ft_id[FT_ID_BUFSZ];
+
+ (void) strlcpy(ft_id, ap_id, FT_ID_BUFSZ);
+
+ switch (sys_platform) {
+ case PLAT_SEATTLE1U:
+ if ((strncmp(ap_id, "FT0", 3) == 0) ||
+ (strncmp(ap_id, "FT1", 3) == 0) ||
+ (strncmp(ap_id, "FT2", 3) == 0)) {
+ (void) snprintf(path, bufsz, SEATTLE_FCB0_1U, ft_id);
+ } else if ((strncmp(ap_id, "FT3", 3) == 0) ||
+ (strncmp(ap_id, "FT4", 3) == 0) ||
+ (strncmp(ap_id, "FT5", 3) == 0)) {
+ (void) snprintf(path, bufsz, SEATTLE_FCB1_1U, ft_id);
+ } else {
+ (void) snprintf(path, bufsz, SEATTLE_PDB_1U, ft_id);
+ }
+ break;
+
+ case PLAT_SEATTLE2U:
+ if ((strncmp(ap_id, "FT0", 3) == 0) ||
+ (strncmp(ap_id, "FT1", 3) == 0) ||
+ (strncmp(ap_id, "FT2", 3) == 0)) {
+ (void) snprintf(path, bufsz, SEATTLE_FCB0_2U, ft_id);
+ } else if ((strncmp(ap_id, "FT3", 3) == 0) ||
+ (strncmp(ap_id, "FT4", 3) == 0) ||
+ (strncmp(ap_id, "FT5", 3) == 0)) {
+ (void) snprintf(path, bufsz, SEATTLE_FCB1_2U, ft_id);
+ } else {
+ (void) snprintf(path, bufsz, SEATTLE_PDB_2U, ft_id);
+ }
+ break;
+
+ case PLAT_BOSTON:
+ (void) snprintf(path, bufsz, SYS_BOARD_PATH, ft_id);
+ break;
+
+ default:
+ (void) snprintf(path, bufsz, CHASSIS_LOC_PATH, ft_id);
+ break;
+ }
+}
+
/*
* handle EC_DR picl events
*/
@@ -1342,6 +1458,8 @@ frudr_evhandler(const char *ename, const void *earg, size_t size, void *cookie)
} else if (strncmp(ap_id, RMC_NAME, RMC_NAME_LEN) == 0) {
fru_name = RMC_FRU_NAME;
rmc_flag = B_TRUE;
+ } else if (strncmp(ap_id, FT_NAME, FT_NAME_LEN) == 0) {
+ fru_name = FT_FRU_NAME;
} else {
nvlist_free(nvlp);
return;
@@ -1378,9 +1496,10 @@ frudr_evhandler(const char *ename, const void *earg, size_t size, void *cookie)
sprintf_buf2(path, CHASSIS_LOC_PATH, ap_id);
break;
}
+ } else if (strncmp(ap_id, FT_NAME, FT_NAME_LEN) == 0) {
+ get_fantray_path(ap_id, path, MAXPATHLEN);
} else {
sprintf_buf2(path, CHASSIS_LOC_PATH, ap_id);
-
}
}
@@ -1487,18 +1606,15 @@ fru_add_handler(const char *ename, const void *earg, size_t size, void *cookie)
retval = nvlist_lookup_uint64((nvlist_t *)earg,
PICLEVENTARG_PARENTHANDLE, &locnodeh);
-
if (retval != PICL_SUCCESS)
return;
retval = ptree_get_propval_by_name(locnodeh, PICL_PROP_NAME,
path, sizeof (path));
-
if (retval != PICL_SUCCESS)
return;
fru_name = strdup(path);
-
if (fru_name == NULL)
return;
@@ -1585,7 +1701,6 @@ frutree_evhandler(const char *ename, const void *earg, size_t size,
}
fru_name = strdup(dpath);
-
if (fru_name == NULL) {
nvlist_free(nvlp);
return;
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile
index c2d46c01d7..393d26ff26 100644
--- a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile
@@ -20,7 +20,7 @@
#
#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -52,6 +52,9 @@ CONFS += fru_HDD2.conf fru_HDD3.conf
CONFS += fru_SC.conf
CONFS += fru_usb-a-1.conf fru_usb-a-2.conf
CONFS += fru_usb-a-3.conf fru_usb-a-4.conf
+CONFS += fru_FT0.conf fru_FT1.conf fru_FT2.conf
+CONFS += fru_FT3.conf fru_FT4.conf fru_FT5.conf
+CONFS += fru_FT6.conf
ROOTCONF= $(CONFS:%=$(ROOTLIBDIR)/%)
$(ROOTCONF) := FILEMODE = 0644
MAININFO= $(CONFS:%.conf=%.info)
@@ -61,6 +64,9 @@ OTHERINFOS += fru_HDD2_data.info fru_HDD3_data.info
OTHERINFOS += fru_SC_data.info SB-tables.info
OTHERINFOS += fru_usb-a-1_data.info fru_usb-a-2_data.info
OTHERINFOS += fru_usb-a-3_data.info fru_usb-a-4_data.info
+OTHERINFOS += fru_FT0_data.info fru_FT1_data.info fru_FT2_data.info
+OTHERINFOS += fru_FT3_data.info fru_FT4_data.info fru_FT5_data.info
+OTHERINFOS += fru_FT6_data.info
CLEANFILES = $(LINTOUT) $(LINTLIB)
@@ -72,7 +78,7 @@ install: all $(ROOTCONF); $(MAKE) $(FRUDR_LINK)
$(CONFS): $(MAININFO) $(OTHERINFOS)
@$(RM) -f $@
- @echo "# Copyright 2005 Sun Microsystems, Inc. " \
+ @echo "# Copyright 2006 Sun Microsystems, Inc. " \
"All rights reserved." > $@
@echo "# Use is subject to license terms." >> $@
@echo "# This is a generated file. #ident lines identify sources" >> $@
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0.info
new file mode 100644
index 0000000000..a6097ebeac
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0.info
@@ -0,0 +1,105 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT0
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB0_1U/FT0/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB0_2U/FT0/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT0_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0_data.info
new file mode 100644
index 0000000000..24dcee0fa9
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT0_data.info
@@ -0,0 +1,116 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT0
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:FCB0_1U/FT0/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft0_f0
+ ENDROW
+ ENDTABLE
+name:FCB0_1U/FT0/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft0_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft0_f0
+ REFPROP _location_parent name:FCB0_1U/FT0/fan-tray/F0
+name:RMCLOMV/ft0_f1
+ REFPROP _location_parent name:FCB0_1U/FT0/fan-tray/F1
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB0_2U/FT0/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft0_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft0_f0
+ REFPROP _location_parent name:FCB0_2U/FT0/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1.info
new file mode 100644
index 0000000000..a546ffbba2
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1.info
@@ -0,0 +1,105 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT1
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB0_1U/FT1/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB0_2U/FT1/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT1_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1_data.info
new file mode 100644
index 0000000000..9e92c899fd
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT1_data.info
@@ -0,0 +1,116 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT1
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:FCB0_1U/FT1/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft1_f0
+ ENDROW
+ ENDTABLE
+name:FCB0_1U/FT1/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft1_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft1_f0
+ REFPROP _location_parent name:FCB0_1U/FT1/fan-tray/F0
+name:RMCLOMV/ft1_f1
+ REFPROP _location_parent name:FCB0_1U/FT1/fan-tray/F1
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB0_2U/FT1/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft1_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft1_f0
+ REFPROP _location_parent name:FCB0_2U/FT1/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2.info
new file mode 100644
index 0000000000..7ba73105e8
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2.info
@@ -0,0 +1,105 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT2
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB0_1U/FT2/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB0_2U/FT2/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT2_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2_data.info
new file mode 100644
index 0000000000..6392708749
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT2_data.info
@@ -0,0 +1,117 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT2
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB0_1U
+#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
+#endif
+#ifndef FCB0_2U
+#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for the Seattle 1U fans
+ */
+name:FCB0_1U/FT2/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft2_f0
+ ENDROW
+ ENDTABLE
+name:FCB0_1U/FT2/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft2_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft2_f0
+ REFPROP _location_parent name:FCB0_1U/FT2/fan-tray/F0
+name:RMCLOMV/ft2_f1
+ REFPROP _location_parent name:FCB0_1U/FT2/fan-tray/F1
+
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB0_2U/FT2/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft2_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft2_f0
+ REFPROP _location_parent name:FCB0_2U/FT2/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3.info
new file mode 100644
index 0000000000..8ddc041ac7
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3.info
@@ -0,0 +1,105 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT3
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB1_1U/FT3/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB1_2U/FT3/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT3_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3_data.info
new file mode 100644
index 0000000000..beddfa0541
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT3_data.info
@@ -0,0 +1,117 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT3
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:FCB1_1U/FT3/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft3_f0
+ ENDROW
+ ENDTABLE
+name:FCB1_1U/FT3/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft3_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft3_f0
+ REFPROP _location_parent name:FCB1_1U/FT3/fan-tray/F0
+name:RMCLOMV/ft3_f1
+ REFPROP _location_parent name:FCB1_1U/FT3/fan-tray/F1
+
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB1_2U/FT3/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft3_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft3_f0
+ REFPROP _location_parent name:FCB1_2U/FT3/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4.info
new file mode 100644
index 0000000000..1faf4adbbe
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4.info
@@ -0,0 +1,106 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT4
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB1_1U/FT4/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB1_2U/FT4/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT4_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4_data.info
new file mode 100644
index 0000000000..8bba305929
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT4_data.info
@@ -0,0 +1,117 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT4
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:FCB1_1U/FT4/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft4_f0
+ ENDROW
+ ENDTABLE
+name:FCB1_1U/FT4/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft4_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft4_f0
+ REFPROP _location_parent name:FCB1_1U/FT4/fan-tray/F0
+name:RMCLOMV/ft4_f1
+ REFPROP _location_parent name:FCB1_1U/FT4/fan-tray/F1
+
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB1_2U/FT4/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft4_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft4_f0
+ REFPROP _location_parent name:FCB1_2U/FT4/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5.info
new file mode 100644
index 0000000000..c6e768f687
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5.info
@@ -0,0 +1,106 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT5
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:FCB1_1U/FT5/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:FCB1_2U/FT5/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+
+#include "fru_FT5_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5_data.info
new file mode 100644
index 0000000000..d47d64e89d
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT5_data.info
@@ -0,0 +1,117 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT5
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef FCB1_1U
+#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
+#endif
+#ifndef FCB1_2U
+#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
+#endif
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:FCB1_1U/FT5/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft5_f0
+ ENDROW
+ ENDTABLE
+name:FCB1_1U/FT5/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft5_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft5_f0
+ REFPROP _location_parent name:FCB1_1U/FT5/fan-tray/F0
+name:RMCLOMV/ft5_f1
+ REFPROP _location_parent name:FCB1_1U/FT5/fan-tray/F1
+
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:FCB1_2U/FT5/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/ft5_f0
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/ft5_f0
+ REFPROP _location_parent name:FCB1_2U/FT5/fan-tray/F0
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6.info
new file mode 100644
index 0000000000..91b9f7aae7
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6.info
@@ -0,0 +1,111 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin frudr in response
+ * to a PICL_FRU_ADDED event for FT6
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+VERSION 1.1
+VERBOSE 1
+
+#ifndef PDB_1U
+#define PDB_1U /frutree/chassis/PDB/power-distribution-board
+#endif
+#ifndef PDB_2U
+#define PDB_2U /frutree/chassis/PDB/power-distribution-board/HDDFB/fan-connector-board
+#endif
+
+
+/*
+ * Create fan nodes for Seattle 1U
+ */
+name:PDB_1U/FT6/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+
+/*
+ * Create fan nodes for Seattle 2U
+ */
+name:PDB_2U/FT6/fan-tray
+ NODE F0 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F0"
+ ENDNODE
+ NODE F1 location
+ PROP SlotType string r 0 "fan-unit"
+ PROP Label string r 0 "F1"
+ ENDNODE
+
+#include "fru_FT6_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6_data.info
new file mode 100644
index 0000000000..039f47637b
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_FT6_data.info
@@ -0,0 +1,127 @@
+/*
+ * 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 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident "%Z%%M% %I% %E% SMI"
+ *
+ * This configuration file is parsed by PICL plugin envmon in response
+ * to a PICL_FRU_ADDED event for FT6
+ *
+ * supported prop types: void, int, uint, float, string
+ * supported prop access_modes: r, w, rw
+ *
+ * VERSION <version_number> -- supported version number is 1.0
+ *
+ * name:<namepath> -- gives the anchor node
+ * where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
+ *
+ * _class:<classpath> -- gives the anchor node
+ * where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
+ *
+ * NODE <name> <class>
+ * {describes a subtree}
+ * ENDNODE
+ *
+ * PROP <name> <type> <access_mode> [<size> <value>] -- per property
+ *
+ * REFPROP <name> <dstnode>
+ *
+ * REFNODE <name> <class> with <destnode> -- Associates a new node
+ * with <destnode> if exists
+ * where
+ * <name> is the nodename
+ * <class> is the picl class.
+ * <destnode> is name:<namepath> or _class:<classpath>
+ *
+ * If "name:" or "_class:" is not specified in the <path>,
+ * the default is "name:"
+ *
+ */
+
+/*
+ * define a macro to force a #ident line into the output stream
+ * otherwise cpp removes it. Use #ifndef because of #included definitions.
+ */
+#ifndef id
+#define id(s) #ident s
+#endif
+id("%Z%%M% %I% %E% SMI")
+
+#ifndef RMCLOMV
+#define RMCLOMV /platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+#ifndef PDB_1U
+#define PDB_1U /frutree/chassis/PDB/power-distribution-board
+#endif
+#ifndef PDB_2U
+#define PDB_2U /frutree/chassis/PDB/power-distribution-board/HDDFB/fan-connector-board
+#endif
+
+
+/*
+ * Create device table and location parents for Seattle 1U fans
+ */
+name:PDB_1U/FT6/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/pdb_ft6_f0
+ ENDROW
+ ENDTABLE
+name:PDB_1U/FT6/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/pdb_ft6_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/pdb_ft6_f0
+ REFPROP _location_parent name:PDB_1U/FT6/fan-tray/F0
+name:RMCLOMV/pdb_ft6_f1
+ REFPROP _location_parent name:PDB_1U/FT6/fan-tray/F1
+
+
+/*
+ * Create device table and location parents for Seattle 2U fans
+ */
+name:PDB_2U/FT6/fan-tray/F0
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/pdb_hddfb_ft6_f0
+ ENDROW
+ ENDTABLE
+name:PDB_2U/FT6/fan-tray/F1
+ TABLE Devices
+ ROW
+ PROP Class string r 0 "fan"
+ REFPROP _fan_ name:RMCLOMV/pdb_hddfb_ft6_f1
+ ENDROW
+ ENDTABLE
+name:RMCLOMV/pdb_hddfb_ft6_f0
+ REFPROP _location_parent name:PDB_2U/FT6/fan-tray/F0
+name:RMCLOMV/pdb_hddfb_ft6_f1
+ REFPROP _location_parent name:PDB_2U/FT6/fan-tray/F1
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info
index 240a6ecd0d..d2f988353e 100644
--- a/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info
@@ -243,235 +243,12 @@ name:RMCLOMV/hdd3_ok2rm
#include "fru_usb-a-4_data.info"
/*
- * Add device tables and location parents for Seattle 1U system fans
+ * fans
*/
-
-#ifndef FCB0_1U
-#define FCB0_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB0/fan-connector-board
-#endif
-
-#ifndef FCB1_1U
-#define FCB1_1U /frutree/chassis/MB/system-board/FIOB/front-io-board-1/FCB1/fan-connector-board
-#endif
-
-#ifndef PDB_1U
-#define PDB_1U /frutree/chassis/PDB/power-distribution-board
-#endif
-
-name:FCB0_1U/FT0/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft0_f0
- ENDROW
- ENDTABLE
-name:FCB0_1U/FT0/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft0_f1
- ENDROW
- ENDTABLE
-name:FCB0_1U/FT1/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft1_f0
- ENDROW
- ENDTABLE
-name:FCB0_1U/FT1/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft1_f1
- ENDROW
- ENDTABLE
-name:FCB0_1U/FT2/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft2_f0
- ENDROW
- ENDTABLE
-name:FCB0_1U/FT2/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft2_f1
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT3/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft3_f0
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT3/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft3_f1
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT4/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft4_f0
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT4/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft4_f1
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT5/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft5_f0
- ENDROW
- ENDTABLE
-name:FCB1_1U/FT5/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft5_f1
- ENDROW
- ENDTABLE
-name:PDB_1U/FT6/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/pdb_ft6_f0
- ENDROW
- ENDTABLE
-name:PDB_1U/FT6/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/pdb_ft6_f1
- ENDROW
- ENDTABLE
-
-name:RMCLOMV/ft0_f0
- REFPROP _location_parent name:FCB0_1U/FT0/fan-tray/F0
-name:RMCLOMV/ft0_f1
- REFPROP _location_parent name:FCB0_1U/FT0/fan-tray/F1
-name:RMCLOMV/ft1_f0
- REFPROP _location_parent name:FCB0_1U/FT1/fan-tray/F0
-name:RMCLOMV/ft1_f1
- REFPROP _location_parent name:FCB0_1U/FT1/fan-tray/F1
-name:RMCLOMV/ft2_f0
- REFPROP _location_parent name:FCB0_1U/FT2/fan-tray/F0
-name:RMCLOMV/ft2_f1
- REFPROP _location_parent name:FCB0_1U/FT2/fan-tray/F1
-name:RMCLOMV/ft3_f0
- REFPROP _location_parent name:FCB1_1U/FT3/fan-tray/F0
-name:RMCLOMV/ft3_f1
- REFPROP _location_parent name:FCB1_1U/FT3/fan-tray/F1
-name:RMCLOMV/ft4_f0
- REFPROP _location_parent name:FCB1_1U/FT4/fan-tray/F0
-name:RMCLOMV/ft4_f1
- REFPROP _location_parent name:FCB1_1U/FT4/fan-tray/F1
-name:RMCLOMV/ft5_f0
- REFPROP _location_parent name:FCB1_1U/FT5/fan-tray/F0
-name:RMCLOMV/ft5_f1
- REFPROP _location_parent name:FCB1_1U/FT5/fan-tray/F1
-name:RMCLOMV/pdb_ft6_f0
- REFPROP _location_parent name:PDB_1U/FT6/fan-tray/F0
-name:RMCLOMV/pdb_ft6_f1
- REFPROP _location_parent name:PDB_1U/FT6/fan-tray/F1
-
-/*
- * Add device tables and location parents for Seattle 2U system fans
- */
-
-#ifndef FCB0_2U
-#define FCB0_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB0/fan-connector-board
-#endif
-
-#ifndef FCB1_2U
-#define FCB1_2U /frutree/chassis/MB/system-board/FIOB/front-io-board-2/FCB1/fan-connector-board
-#endif
-
-#ifndef PDB_2U
-#define PDB_2U /frutree/chassis/PDB/power-distribution-board/HDDFB/fan-connector-board
-#endif
-
-name:FCB0_2U/FT0/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft0_f0
- ENDROW
- ENDTABLE
-name:FCB0_2U/FT1/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft1_f0
- ENDROW
- ENDTABLE
-name:FCB0_2U/FT2/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft2_f0
- ENDROW
- ENDTABLE
-name:FCB1_2U/FT3/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft3_f0
- ENDROW
- ENDTABLE
-name:FCB1_2U/FT4/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft4_f0
- ENDROW
- ENDTABLE
-name:FCB1_2U/FT5/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/ft5_f0
- ENDROW
- ENDTABLE
-name:PDB_2U/FT6/fan-tray/F0
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/pdb_hddfb_ft6_f0
- ENDROW
- ENDTABLE
-name:PDB_2U/FT6/fan-tray/F1
- TABLE Devices
- ROW
- PROP Class string r 0 "fan"
- REFPROP _fan_ name:RMCLOMV/pdb_hddfb_ft6_f1
- ENDROW
- ENDTABLE
-
-name:RMCLOMV/ft0_f0
- REFPROP _location_parent name:FCB0_2U/FT0/fan-tray/F0
-name:RMCLOMV/ft1_f0
- REFPROP _location_parent name:FCB0_2U/FT1/fan-tray/F0
-name:RMCLOMV/ft2_f0
- REFPROP _location_parent name:FCB0_2U/FT2/fan-tray/F0
-name:RMCLOMV/ft3_f0
- REFPROP _location_parent name:FCB1_2U/FT3/fan-tray/F0
-name:RMCLOMV/ft4_f0
- REFPROP _location_parent name:FCB1_2U/FT4/fan-tray/F0
-name:RMCLOMV/ft5_f0
- REFPROP _location_parent name:FCB1_2U/FT5/fan-tray/F0
-name:RMCLOMV/pdb_hddfb_ft6_f0
- REFPROP _location_parent name:PDB_2U/FT6/fan-tray/F0
-name:RMCLOMV/pdb_hddfb_ft6_f1
- REFPROP _location_parent name:PDB_2U/FT6/fan-tray/F1
+#include "fru_FT0_data.info"
+#include "fru_FT1_data.info"
+#include "fru_FT2_data.info"
+#include "fru_FT3_data.info"
+#include "fru_FT4_data.info"
+#include "fru_FT5_data.info"
+#include "fru_FT6_data.info"
diff --git a/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile b/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile
index 76e9625946..3540ddbfb7 100644
--- a/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile
@@ -20,7 +20,7 @@
#
#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -60,6 +60,13 @@ OTHERINFOS += $(INCDIR2)/fru_usb-a-1_data.info
OTHERINFOS += $(INCDIR2)/fru_usb-a-2_data.info
OTHERINFOS += $(INCDIR2)/fru_usb-a-3_data.info
OTHERINFOS += $(INCDIR2)/fru_usb-a-4_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT0_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT1_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT2_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT3_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT4_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT5_data.info
+OTHERINFOS += $(INCDIR2)/fru_FT6_data.info
ROOTLINTDIR = $(ROOTLIBDIR)
diff --git a/usr/src/lib/libprtdiag_psr/sparc/desktop/common/picldiag.c b/usr/src/lib/libprtdiag_psr/sparc/desktop/common/picldiag.c
index 51677867f0..547bf651b7 100644
--- a/usr/src/lib/libprtdiag_psr/sparc/desktop/common/picldiag.c
+++ b/usr/src/lib/libprtdiag_psr/sparc/desktop/common/picldiag.c
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -502,7 +502,6 @@ picldiag_get_fru_parent(picl_nodehdl_t nodeh, picl_nodehdl_t *fruparenth)
/* find fru parent */
err = picl_get_propval_by_name(nodeh, PICL_REFPROP_FRU_PARENT,
&fruh, sizeof (fruh));
-
if (err != PICL_SUCCESS)
err = picl_get_propval_by_name(nodeh, PICL_REFPROP_LOC_PARENT,
&fruh, sizeof (fruh));
@@ -2528,6 +2527,7 @@ logprintf_fan_info(picl_nodehdl_t fanh)
PICL_PROP_LOW_WARNING_THRESHOLD, &err);
if (err != PICL_SUCCESS)
min_speed = 0;
+
if (speed < min_speed) {
log_printf("failed (%lld", speed);
err = picldiag_get_string_propval(fanh,
@@ -2558,7 +2558,6 @@ static int
fan_callback(picl_nodehdl_t fanh, void *arg)
{
int *countp = arg;
- int err;
if (*countp == 0) {
log_printf(dgettext(TEXT_DOMAIN, "Fan Status:\n"));
@@ -2567,10 +2566,10 @@ fan_callback(picl_nodehdl_t fanh, void *arg)
log_printf("-------------------------------------------\n");
}
*countp += 1;
- err = logprintf_fan_info(fanh);
- if (err == PICL_SUCCESS)
- return (PICL_WALK_CONTINUE);
- return (err);
+
+ (void) logprintf_fan_info(fanh);
+
+ return (PICL_WALK_CONTINUE);
}
/*
diff --git a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc
index c535807fb2..b1bcb38f8f 100644
--- a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc
+++ b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc
@@ -321,6 +321,13 @@ f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_usb-a-1.conf 644 roo
f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_usb-a-2.conf 644 root sys
f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_usb-a-3.conf 644 root sys
f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_usb-a-4.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT2.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT3.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT4.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT5.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_FT6.conf 644 root sys
s none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/libpiclfrudr.so.1=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1
s none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/libpiclfrudr.so=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so
d none usr/platform/SUNW,Sun-Fire-V440/lib/picl 755 root sys
@@ -364,6 +371,12 @@ f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_usb-a-1.conf 644 roo
f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_usb-a-2.conf 644 root sys
f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_usb-a-3.conf 644 root sys
f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_usb-a-4.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT2.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT3.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT4.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT5.conf 644 root sys
s none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/libpiclfrudr.so.1=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1
s none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/libpiclfrudr.so=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so
d none usr/lib/sparcv9 755 root bin