changeset 1103:740fc334d84f onnv_30

PSARC 2005/662 SIS Compliance for Locator Indicators PSARC 2005/697 Tamale Data Protocol Extensions for Large Data Transfers PSARC 2005/698 Seattle/Boston Chassis Serial Number PSARC 2005/728 Boston/Seattle PICL 6313684 PICL support for Seattle 6328752 PICL support for Boston 6332630 Chassis serial number support for Seattle/Boston 6333508 Solaris needs to support ALOM's disk-on-chip device 6344008 The fruadm command on Boston & Seattle fails to write to any of the system's fruid proms 6347431 picl envmon doesn't fully support blinking/flashing LED states 6347537 locator(1m) is not SIS-compliant 6360332 Seattle platmod is missing the 'plat_add_mem_unum_label' function 6360506 locator -n fails to activate the system locator on Boston
author jbeloro
date Mon, 12 Dec 2005 22:49:29 -0800
parents 67dc45d58354
children d85a004ead56
files usr/src/cmd/fruadm/fruadm.c usr/src/cmd/locator/locator.c usr/src/cmd/picl/plugins/inc/picldefs.h usr/src/cmd/picl/plugins/sun4u/Makefile usr/src/cmd/picl/plugins/sun4u/boston/Makefile usr/src/cmd/picl/plugins/sun4u/boston/devtree/Makefile usr/src/cmd/picl/plugins/sun4u/boston/devtree/picl_asr.conf usr/src/cmd/picl/plugins/sun4u/boston/devtree/picldevtree.conf usr/src/cmd/picl/plugins/sun4u/boston/envmon/Makefile usr/src/cmd/picl/plugins/sun4u/boston/envmon/piclenvmon.info usr/src/cmd/picl/plugins/sun4u/boston/frudata/Makefile usr/src/cmd/picl/plugins/sun4u/boston/frudata/libpiclfrudata.conf usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD0.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD0_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD1.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD1_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD2.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD2_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD3.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD3_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD4.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD4_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD5.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD5_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD6.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD6_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD7.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD7_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU0.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU0_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU1.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU1_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU2.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU2_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU3.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU3_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-1.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-1_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-2.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-2_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-3.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-3_data.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-4.info usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-4_data.info usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile usr/src/cmd/picl/plugins/sun4u/boston/frutree/piclfrutree.info usr/src/cmd/picl/plugins/sun4u/boston/frutree/system-board.info usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.c usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.h usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c usr/src/cmd/picl/plugins/sun4u/seattle/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/devtree/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/devtree/picl_asr.conf usr/src/cmd/picl/plugins/sun4u/seattle/devtree/picldevtree.conf usr/src/cmd/picl/plugins/sun4u/seattle/envmon/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/envmon/piclenvmon.info usr/src/cmd/picl/plugins/sun4u/seattle/frudata/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/frudata/libpiclfrudata.conf usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/frudr/SB-tables.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD0.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD0_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD1.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD1_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD2.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD2_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD3.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD3_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS0.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS0_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS1.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS1_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-1.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-1_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-2.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-2_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-3.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-3_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-4.info usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-4_data.info usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile usr/src/cmd/picl/plugins/sun4u/seattle/frutree/piclfrutree.info usr/src/cmd/picl/plugins/sun4u/seattle/frutree/system-board.info usr/src/pkgdefs/SUNWfruip.u/prototype_sparc usr/src/pkgdefs/SUNWpiclu/prototype_sparc usr/src/uts/sun4u/boston/Makefile usr/src/uts/sun4u/boston/Makefile.boston usr/src/uts/sun4u/boston/Makefile.targ usr/src/uts/sun4u/seattle/Makefile usr/src/uts/sun4u/seattle/Makefile.seattle usr/src/uts/sun4u/seattle/Makefile.targ usr/src/uts/sun4u/seattle/os/seattle.c usr/src/uts/sun4u/sys/envmon.h usr/src/uts/sun4u/sys/rmc_comm_hproto.h
diffstat 100 files changed, 11334 insertions(+), 212 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/fruadm/fruadm.c	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/fruadm/fruadm.c	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,6 +18,7 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -500,11 +500,13 @@
 	fru_segdef_t	def;
 	int	cnt;
 
+	(void) memset(&seg_desc, 0, sizeof (seg_desc));
 	seg_desc.field.field_perm = 0x6;
 	seg_desc.field.operations_perm = 0x6;
 	seg_desc.field.engineering_perm = 0x6;
 	seg_desc.field.repair_perm = 0x6;
 
+	(void) memset(&def, 0, sizeof (def));
 	def.address = 0;
 	def.desc.raw_data = seg_desc.raw_data;
 	def.hw_desc.all_bits = 0;
--- a/usr/src/cmd/locator/locator.c	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/locator/locator.c	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,9 +18,10 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
  */
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
@@ -37,12 +37,14 @@
 
 #define	DEFAULT_NAME		"system"
 
-typedef struct {
-	int		(*locator_func)(picl_nodehdl_t, char *);
-	int		found;
-	int		err;
-	char		*name;
-	char		*str;
+typedef struct locator_info {
+	int		(*locator_func)(picl_nodehdl_t, struct locator_info *);
+	int		found; 		/* Nonzero if found during walk */
+	int		err;   		/* Last error from picl */
+	char		*name; 		/* Name/LocatorName of locator node */
+	int		new_state;	/* 0 = logical off, 1 = logical on */
+	char		*on;		/* Logical on value for State */
+	char		*off;		/* Logical off value for State */
 } locator_info_t;
 
 static void
@@ -53,11 +55,12 @@
 }
 
 static int
-change_locator_state(picl_nodehdl_t locator_node, char *new_state)
+change_locator_state(picl_nodehdl_t locator_node, locator_info_t *locator_info)
 {
 	picl_prophdl_t	state_prop;
 	char		state[PICL_PROPNAMELEN_MAX];
 	int		err;
+	char		*new_state;
 
 	err = picl_get_prop_by_name(locator_node, "State", &state_prop);
 	if (err != PICL_SUCCESS) {
@@ -75,6 +78,9 @@
 		return (err);
 	}
 
+	new_state = (locator_info->new_state) ? locator_info->on :
+	    locator_info->off;
+
 	if (strcmp(state, new_state) != 0) {
 		picl_propinfo_t prop_info;
 		err = picl_get_propinfo(state_prop, &prop_info);
@@ -96,9 +102,11 @@
 }
 
 static int
-display_locator_state(picl_nodehdl_t locator_node, char *locator_name)
+display_locator_state(picl_nodehdl_t locator_node,
+    locator_info_t *locator_info)
 {
 	char		state[PICL_PROPNAMELEN_MAX];
+	char		*display_state;
 	int		err;
 
 	err = picl_get_propval_by_name(locator_node, "State",
@@ -110,8 +118,15 @@
 		return (err);
 	}
 
+	if (strcmp(state, locator_info->on) == 0)
+		display_state = gettext("on");
+	else if (strcmp(state, locator_info->off) == 0)
+		display_state = gettext("off");
+	else
+		display_state = state;
+
 	(void) printf(gettext("The '%s' locator is %s.\n"),
-		locator_name, state);
+		locator_info->name, display_state);
 	return (err);
 }
 
@@ -122,9 +137,12 @@
 	int		err;
 	char		is_locator[PICL_PROPNAMELEN_MAX];
 	char		name[PICL_PROPNAMELEN_MAX];
+	char		locator_on[PICL_PROPNAMELEN_MAX];
+	char		locator_off[PICL_PROPNAMELEN_MAX];
 
 	err = picl_get_propval_by_name(nodeh, "IsLocator", is_locator,
 		sizeof (is_locator));
+
 	if (err != PICL_SUCCESS)
 		return (PICL_WALK_CONTINUE);
 
@@ -133,19 +151,43 @@
 
 	err = picl_get_propval_by_name(nodeh, "LocatorName", name,
 		sizeof (name));
+
 	if (err == PICL_PROPNOTFOUND)
 		err = picl_get_propval_by_name(nodeh, PICL_PROP_NAME, name,
 			sizeof (name));
+
 	if (err != PICL_SUCCESS)
 		return (err);
 
 	if (strcmp(name, locator_info->name) != 0)
 		return (PICL_WALK_CONTINUE);
 
-	locator_info->err =
-		(locator_info->locator_func)(nodeh, locator_info->str);
+	err = picl_get_propval_by_name(nodeh, "LocatorOn", locator_on,
+		sizeof (locator_on));
+
+	if (err == PICL_SUCCESS) {
+		locator_info->on = locator_on;
+	} else if (err == PICL_PROPNOTFOUND) {
+		locator_info->on = "on";
+	} else {
+		return (err);
+	}
 
+	err = picl_get_propval_by_name(nodeh, "LocatorOff", locator_off,
+		sizeof (locator_off));
+
+	if (err == PICL_SUCCESS) {
+		locator_info->off = locator_off;
+	} else if (err == PICL_PROPNOTFOUND) {
+		locator_info->off = "off";
+	} else {
+		return (err);
+	}
+
+	locator_info->err = (locator_info->locator_func)(nodeh,
+		locator_info);
 	locator_info->found = 1;
+
 	return (PICL_WALK_TERMINATE);
 }
 
@@ -207,13 +249,12 @@
 
 	if (on_flag) {
 		locator_info.locator_func = change_locator_state;
-		locator_info.str = "ON";
+		locator_info.new_state = 1;
 	} else if (off_flag) {
 		locator_info.locator_func = change_locator_state;
-		locator_info.str = "OFF";
+		locator_info.new_state = 0;
 	} else {
 		locator_info.locator_func = display_locator_state;
-		locator_info.str = locator_name;
 	}
 
 	locator_info.name = locator_name;
--- a/usr/src/cmd/picl/plugins/inc/picldefs.h	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/picl/plugins/inc/picldefs.h	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,6 +18,7 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -107,6 +107,7 @@
 #define	PICL_CLASS_PORT			"port"
 #define	PICL_CLASS_WATCHDOG_CONTROLLER	"watchdog-controller"
 #define	PICL_CLASS_WATCHDOG_TIMER	"watchdog-timer"
+#define	PICL_CLASS_CHASSIS_SERIAL_NUM	"chassis-serial-number"
 
 /*
  * Solaris driver property names
@@ -197,6 +198,7 @@
 #define	PICL_PROP_GEO_ADDR			"GeoAddr"
 #define	PICL_PROP_ADMIN_LOCK			"AdminLock"
 #define	PICL_PROP_PORT_TYPE			"PortType"
+#define	PICL_PROP_SERIAL_NUMBER			"SerialNumber"
 
 #define	PICL_UNITADDR_LEN_MAX		256
 
--- a/usr/src/cmd/picl/plugins/sun4u/Makefile	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/picl/plugins/sun4u/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,10 +18,12 @@
 #
 # CDDL HEADER END
 #
+
 #
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
+#
 # ident	"%Z%%M%	%I%	%E% SMI"
 #
 # cmd/picl/plugins/sun4u/Makefile
@@ -31,7 +32,7 @@
 SUBDIRS= lib .WAIT envmon .WAIT \
 	frudata grover excalibur psvc littleneck daktari \
 	cherrystone lw8 lw2plus taco enchilada chicago blade mpxu ents \
-	chalupa silverstone sebring snowbird schumacher .WAIT
+	chalupa silverstone sebring snowbird schumacher seattle boston .WAIT
 
 MSGSUBDIRS=	lib frudata grover excalibur psvc littleneck daktari \
 	cherrystone lw8 lw2plus taco enchilada chicago blade envmon mpxu ents \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,46 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/Makefile
+#
+
+SUBDIRS=	devtree frutree frudata frudr envmon .WAIT
+
+all :=		TARGET= all
+install :=	TARGET= install
+clean :=	TARGET= clean
+clobber :=	TARGET= clobber
+lint :=		TARGET= lint
+
+.KEEP_STATE:
+
+all install clean clobber lint: $(SUBDIRS)
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/devtree/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,75 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/devtree/Makefile
+#
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V445
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONF=           picldevtree.conf picl_asr.conf
+ROOTCONF=       $(CONF:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all: 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/devtree/picl_asr.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,118 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/devtree/picl_asr.conf
+#
+# Platform specific .conf file for ASR
+#
+dimm0	memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=0
+dimm0	memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm0	memory-module		unused		/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm1   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=0
+dimm1   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm1   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm2   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=1
+dimm2   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm2   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm3   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=1
+dimm3   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm3   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm4	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=0
+dimm4	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm4	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm5	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=0
+dimm5	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm5	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm6	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=1
+dimm6	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm6	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm7	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=1
+dimm7	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm7	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm8	memory-module-group	unused		/memory-controller@2,0/memory-module-group			I?ID=0
+dimm8	memory-module		disabled	/memory-controller@2,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm8	memory-module		unused		/memory-controller@2,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm9   memory-module-group	unused		/memory-controller@2,0/memory-module-group			I?ID=0
+dimm9   memory-module		unused		/memory-controller@2,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm9   memory-module		disabled	/memory-controller@2,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm10   memory-module-group	unused		/memory-controller@2,0/memory-module-group			I?ID=1
+dimm10   memory-module		disabled	/memory-controller@2,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm10   memory-module		unused		/memory-controller@2,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm11   memory-module-group	unused		/memory-controller@2,0/memory-module-group			I?ID=1
+dimm11   memory-module		unused		/memory-controller@2,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm11   memory-module		disabled	/memory-controller@2,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm12	memory-module-group	unused		/memory-controller@3,0/memory-module-group			I?ID=0
+dimm12	memory-module		disabled	/memory-controller@3,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm12	memory-module		unused		/memory-controller@3,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm13	memory-module-group	unused		/memory-controller@3,0/memory-module-group			I?ID=0
+dimm13	memory-module		unused		/memory-controller@3,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm13	memory-module		disabled	/memory-controller@3,0/memory-module-group?ID=0/memory-module	I?ID=1
+
+dimm14	memory-module-group	unused		/memory-controller@3,0/memory-module-group			I?ID=1
+dimm14	memory-module		disabled	/memory-controller@3,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm14	memory-module		unused		/memory-controller@3,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+dimm15	memory-module-group	unused		/memory-controller@3,0/memory-module-group			I?ID=1
+dimm15	memory-module		unused		/memory-controller@3,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm15	memory-module		disabled	/memory-controller@3,0/memory-module-group?ID=1/memory-module	I?ID=1
+
+pci0	picl			disabled	/pci@1f,700000/pci@0/pci@9/unknown@0				I?DeviceID=0
+pci0	picl			disabled	/pci@1e,600000/pci@0/pci@9/unknown@0				I?DeviceID=0
+pci1	picl			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/unknown@1			I?DeviceID=1
+pci1	picl			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/unknown@2			I?DeviceID=2
+pci1	picl			disabled	/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/unknown@1			I?DeviceID=1
+pci2	picl			disabled	/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/unknown@2			I?DeviceID=2
+pci2	picl			disabled	/pci@1f,700000/pci@0/pci@8/unknown@0				I?DeviceID=0
+pci3	picl			disabled	/pci@1e,600000/pci@0/pci@8/unknown@0				I?DeviceID=0
+
+ide	ide			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/pci@0/ide@1f				I?DeviceID=1f
+
+usb  	usb			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/usb@1c				I?DeviceID=1c
+usb 	usb			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/usb@1c,1			I?DeviceID=1c,1
+usb 	usb			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/usb@1c,3			I?DeviceID=1c,3
+usb 	usb			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/usb@1c,2/hub@7			I?DeviceID=3
+usb 	usb			disabled	/pci@1f,700000/pci@0/pci@1/pci@0/usb@1c,3/hub@7			I?DeviceID=3
+
+net0&1	network			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/network@4			I?DeviceID=2
+net0&1	network			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/network@4,1			I?DeviceID=2
+net2&3	network			disabled	/pci@1f,700000/pci@0/pci@2/pci@0/network@4			I?DeviceID=2
+net2&3	network			disabled	/pci@1f,700000/pci@0/pci@2/pci@0/network@4,1			I?DeviceID=2
+
+scsi	scsi-2 			disabled	/pci@1e,600000/pci@0/pci@2/scsi@0			I?DeviceID=2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/devtree/picldevtree.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,36 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# Platform specific .conf file for picldevtree plug-in
+power-supply-fru-prom  	seeprom
+dimm-spd		seeprom
+motherboard-fru-prom	seeprom
+cpu-fru-prom		seeprom
+rmc-fru-prom		seeprom
+sas-backplane-fru-prom	seeprom
+front-io-fru-prom	seeprom
+pdb-fru-prom		seeprom
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/envmon/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,87 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/frutree/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V445
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONFS		= piclenvmon.conf
+ROOTCONF=       $(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO=       $(CONFS:%.conf=%.info)
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all:	$(CONFS) 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+$(CONFS): $(MAININFO)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc.  All rights reserved." \
+	> $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(@:%.conf=%.info) | \
+	$(SED) -e '/^[ 	]*$$/d' >> $@
+	@$(CHMOD) 444 $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/envmon/piclenvmon.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 after
+ * it has established rmclomv nodes in /platform
+ *
+ * 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
+
+#define	RMC_COMM	/platform/ebus@1f,464000/rmc-comm@0,c28000
+
+/*
+ * add a node for the rmclomv leaf driver
+ */
+name:RMC_COMM
+	NODE SUNW,rmclomv service-processor
+	ENDNODE
+
+name:RMC_COMM/SUNW,rmclomv
+	PROP devfs-path string r 0 "/pseudo/rmclomv@0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudata/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/frudata/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V445
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONF=           libpiclfrudata.conf
+ROOTCONF=       $(CONF:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all: $(CONF)
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudata/libpiclfrudata.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,137 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# This file creates the FRU device paths for the FRUAccess library
+#
+
+VERSION 1.0
+
+# Motherboard FRU PROM
+name:/platform/i2c@1f,520000/motherboard-fru-prom@0,aa
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/motherboard-fru-prom@0,aa:motherboard-fru-prom"
+
+# CPU 0
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,b8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/cpu-fru-prom@0,b8:cpu-fru-prom"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b0
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,b0:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b2
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,b2:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b4
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,b4:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b6
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,b6:dimm-spd"
+
+
+# CPU 1
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,c8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/cpu-fru-prom@0,c8:cpu-fru-prom"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c0
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,c0:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c2
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,c2:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c4
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,c4:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c6
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,c6:dimm-spd"
+
+
+# CPU 2
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,e8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/cpu-fru-prom@0,e8:cpu-fru-prom"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e0
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,e0:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e2
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,e2:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e4
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,e4:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e6
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,e6:dimm-spd"
+
+
+
+# CPU 3
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,98
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/cpu-fru-prom@0,98:cpu-fru-prom"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,90
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,90:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,92
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,92:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,94
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,94:dimm-spd"
+
+name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,96
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/dimm-spd@0,96:dimm-spd"
+
+
+# RMC FRU PROM
+name:/platform/i2c@1f,520000/rmc-fru-prom@0,a8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/rmc-fru-prom@0,a8:rmc-fru-prom"
+
+# SAS/SATA FRU PROM
+name:/platform/i2c@1f,520000/sas-backplane-fru-prom@0,48
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/sas-backplane-fru-prom@0,48:sas-backplane-fru-prom"
+
+# SAS crontroller fru prom
+name:/platform/i2c@1f,520000/sasctrl-fru-prom@0,46
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/sasctrl-fru-prom@0,46:sasctrl-fru-prom"
+
+# Front IO board FRU PROM
+name:/platform/i2c@1f,520000/front-io-fru-prom@0,4e
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/front-io-fru-prom@0,4e:front-io-fru-prom"
+
+# PDB FRU PROM
+name:/platform/i2c@1f,520000/pdb-fru-prom@0,da
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/pdb-fru-prom@0,da:pdb-fru-prom"
+
+# Up to four power supplies, at least two must be present/running
+name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,24
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,24:power-supply-fru-prom"
+
+name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,32
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,32:power-supply-fru-prom"
+
+name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,52
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,52:power-supply-fru-prom"
+
+name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,72
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,72:power-supply-fru-prom"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,108 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/frudr/Makefile
+#
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V445
+FRUDR_LINKTO_PLATFORM = SUNW,Sun-Fire-V240
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONFS		= fru_PSU0.conf fru_PSU1.conf fru_PSU2.conf fru_PSU3.conf
+CONFS		+= fru_HDD0.conf fru_HDD1.conf fru_HDD2.conf
+CONFS		+= fru_HDD3.conf fru_HDD4.conf fru_HDD5.conf
+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
+ROOTCONF=	$(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO=	$(CONFS:%.conf=%.info)
+OTHERINFOS	= fru_PSU0_data.info fru_PSU1_data.info fru_PSU2_data.info fru_PSU3_data.info
+OTHERINFOS	+= fru_HDD0_data.info fru_HDD1_data.info
+OTHERINFOS	+= fru_HDD2_data.info fru_HDD3_data.info
+OTHERINFOS	+= fru_HDD3_data.info fru_HDD4_data.info
+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
+
+ROOTLINTDIR =	$(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS =
+
+all :=		TARGET= all
+install :=	TARGET= install
+clean :=	TARGET= clean
+clobber :=	TARGET= clobber
+lint :=		TARGET= lint
+
+all: $(LIBS) $(LIBLINKS) $(CONFS)
+
+install:	$(ROOTLIBDIR) $(ROOTCONF) $(FRUDR_LINK)
+	$(MAKE) $(FRUDR_LINK)
+
+$(CONFS): $(MAININFO) $(OTHERINFOS)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc.  All rights reserved." \
+	> $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(@:%.conf=%.info) | \
+	$(SED) -e '/^[  ]*$$/d' >> $@
+	@$(CHMOD) 644 $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
+
+FRUDR_LINK=`cd $(ROOT_PLATFORM)/lib/picl/plugins/; \
+rm -f libpiclfrudr.so.1; \
+rm -f libpiclfrudr.so; \
+ln -s ../../../../$(FRUDR_LINKTO_PLATFORM)/lib/picl/plugins/libpiclfrudr.so.1   libpiclfrudr.so.1; \
+ln -s ../../../../$(FRUDR_LINKTO_PLATFORM)/lib/picl/plugins/libpiclfrudr.so     libpiclfrudr.so;`
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/SB-tables.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,543 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * This file creates device tables for all of the fru's in the system
+ * (except for hard disk drives and power supplies.)  Each table contains
+ * one or more rows of devices, each with a reference to a particular
+ * device/sensor.
+ *
+ * This file will be #included by piclfrutree.info.  It should be included
+ * after the frutree and system hierarchies are defined.
+ */
+
+/*
+ * 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")
+
+/*
+ * add a Devices table to DVD
+ */
+name:/frutree/chassis/MB/system-board/RMD0/removable-media
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cdrom"
+	REFPROP _cdrom_ name:/platform/pci@1f,700000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+	ENDROW
+	ENDTABLE
+
+/*
+ * add Devices table for the chassis
+ */
+name:/frutree/chassis
+	TABLE Devices
+	ROW
+	REFPROP _chassis-serial-number_ name:RMCLOMV/chassis_serial_number
+	ENDROW
+	ENDTABLE
+  
+/*
+ * add a Devices table to the system-board
+ */
+name:/frutree/chassis/MB/system-board
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+1v0
+        PROP Label string r 0 "V_+1V0"
+	ENDROW
+        ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+1v2
+        PROP Label string r 0 "V_+1V2"
+	ENDROW
+        ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+1v5
+        PROP Label string r 0 "V_+1V5"
+	ENDROW
+        ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+1v8
+        PROP Label string r 0 "V_+1V8"
+	ENDROW
+        ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+2v5
+        PROP Label string r 0 "V_+2V5"
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+3v3
+        PROP Label string r 0 "V_+3V3"
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+3v3stby
+        PROP Label string r 0 "V_+3V3STBY"
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+5v
+        PROP Label string r 0 "V_+5V"
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+12v
+        PROP Label string r 0 "V_+12V"
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_-12v
+        PROP Label string r 0 "V_-12V"
+	ENDROW
+        ROW
+        PROP Class string r 0 "current-indicator"
+        REFPROP _current-indicator_ name:RMCLOMV/mb_i_usb0
+        PROP Label string r 0 "I_USB0"
+        ENDROW
+        ROW
+        PROP Class string r 0 "current-indicator"
+        REFPROP _current-indicator_ name:RMCLOMV/mb_i_usb1
+        PROP Label string r 0 "I_USB1"
+        ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/fire_t_core
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/fiob_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_io_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "current-indicator"
+	REFPROP _current-indicator_ name:RMCLOMV/mb_ff_pok
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the battery
+ */
+name:/frutree/chassis/MB/system-board/SC/service-processor/BATTERY/battery
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/sc_bat_v_bat
+        PROP Label string r 0 "V_BAT"
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the front IO board
+ */
+name:/frutree/chassis/MB/system-board/FIOB/front-IO-board
+        TABLE Devices
+        ROW
+        PROP Class string r 0 "current-indicator"
+        REFPROP _current-indicator_ name:RMCLOMV/fiob_i_usb2
+        PROP Label string r 0 "I_USB2"
+        ENDROW
+        ROW
+        PROP Class string r 0 "current-indicator"
+        REFPROP _current-indicator_ name:RMCLOMV/fiob_i_usb3
+        PROP Label string r 0 "I_USB3"
+        ENDROW
+        ENDTABLE
+
+/*
+ * add a Devices table to the service-processor
+ */
+name:/frutree/chassis/MB/system-board/SC/service-processor
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "service-processor"
+	REFPROP _service-processor_ name:RMCLOMV
+	ENDROW
+	ROW 
+	PROP Class string r 0 "keyswitch" 
+	REFPROP _keyswitch_ name:RMCLOMV/keyswitch 
+	ENDROW 
+	ENDTABLE
+
+/*
+ * Add Devices for cpu-board related sensors
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c0_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "current-indicator"
+	REFPROP _current-indicator_ name:RMCLOMV/c0_p0_ff_pok
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c1_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "current-indicator"
+	REFPROP _current-indicator_ name:RMCLOMV/c1_p0_ff_pok
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c2_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "current-indicator"
+	REFPROP _current-indicator_ name:RMCLOMV/c2_p0_ff_pok
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c3_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "current-indicator"
+	REFPROP _current-indicator_ name:RMCLOMV/c3_p0_ff_pok
+	ENDROW
+	ENDTABLE
+
+/*
+ * add Devices tables for cpu-related sensors
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c0_p0_t_core
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c1_p0_t_core
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@2,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c2_p0_t_core
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@3,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/c3_p0_t_core
+	ENDROW
+	ENDTABLE
+
+/*
+ * Add devices tables for all 16 of the memory modules
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@2,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@2,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@2,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@2,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@3,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@3,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@3,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@3,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+
+/*
+ * System leds device table
+ */
+name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+TABLE Devices
+	ROW
+ 	PROP Class string r 0 "led"
+ 	REFPROP _led_ name:RMCLOMV/sys_act
+ 	ENDROW
+ 	ROW
+ 	PROP Class string r 0 "led"
+ 	REFPROP _led_ name:RMCLOMV/sys_service
+ 	ENDROW
+ 	ROW
+ 	PROP Class string r 0 "led"
+ 	REFPROP _led_ name:RMCLOMV/sys_locate
+ 	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_fanfail
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_psfail
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_overtemp
+	ENDROW
+ENDTABLE
+
+/*
+ * Add a device table for the PDB (fan fault leds are located here)
+ */
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft0_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft0_f0_fault
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft1_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft1_f0_fault
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft2_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft2_f0_fault
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft3_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft3_f0_fault
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft4_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft4_f0_fault
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	PROP Label string r 0 "ft5_f0_fault"
+	REFPROP _led_ name:RMCLOMV/ft5_f0_fault
+	ENDROW
+ENDTABLE
+
+/*
+ * Add a device table for each of the six fans
+ */
+name:/frutree/chassis/FT0
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft0_f0_tach
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/FT1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft1_f0_tach
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/FT2
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft2_f0_tach
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/FT3
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft3_f0_tach
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/FT4
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft4_f0_tach
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/FT5
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft5_f0_tach
+	ENDROW
+	ENDTABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD0.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,73 @@
+/*
+ * 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 2005 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 HDD0
+ *
+ * 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
+
+#include "fru_HDD0_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD0_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,107 @@
+/*
+ * 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 2005 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 HDD0
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0/disk
+    TABLE Devices
+    ROW
+    PROP Class string r 0 "block"
+    REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@0,0
+    ENDROW
+    ROW
+    PROP Class string r 0 "block"
+    REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@0,0
+    ENDROW
+    ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@0,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@0,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0/disk
+
+name:RMCLOMV/hdd0_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0
+name:RMCLOMV/hdd0_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD1
+ *
+ * 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
+
+#include "fru_HDD1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,107 @@
+/*
+ * 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 2005 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 HDD1
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@1,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@1,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@1,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@1,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1/disk
+
+name:RMCLOMV/hdd1_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1
+name:RMCLOMV/hdd1_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD2.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,75 @@
+/*
+ * 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 2005 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 HDD2
+ *
+ * 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
+
+#include "fru_HDD2_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD2_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,107 @@
+/*
+ * 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 2005 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 HDD2
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@2,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@2,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@2,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@2,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2/disk
+
+name:RMCLOMV/hdd2_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2
+name:RMCLOMV/hdd2_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd2_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd2_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD3.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD3
+ *
+ * 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
+
+#include "fru_HDD3_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD3_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,107 @@
+/*
+ * 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 2005 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 HDD3
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@3,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@3,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@3,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@3,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3/disk
+
+name:RMCLOMV/hdd3_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3
+name:RMCLOMV/hdd3_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd3_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd3_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD4.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD4
+ *
+ * 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
+
+#include "fru_HDD4_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD4_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,113 @@
+/*
+ * 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 2005 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 HDD4
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4/disk
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "block"
+	REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@4,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "block"
+	REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@4,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "block"
+	REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@4,0
+	ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@4,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@4,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@4,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4/disk
+
+name:RMCLOMV/hdd4_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+name:RMCLOMV/hdd4_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd4_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd4_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD5.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD5
+ *
+ * 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
+
+#include "fru_HDD5_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD5_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,113 @@
+/*
+ * 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 2005 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 HDD5
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@5,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@5,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@5,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@5,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@5,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@5,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5/disk
+
+name:RMCLOMV/hdd5_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+name:RMCLOMV/hdd5_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd5_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd5_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD6.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD6
+ *
+ * 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
+
+#include "fru_HDD6_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD6_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,113 @@
+/*
+ * 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 2005 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 HDD6
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@6,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@6,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@6,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@6,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@6,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@6,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6/disk
+
+name:RMCLOMV/hdd6_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+name:RMCLOMV/hdd6_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd6_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd6_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD7.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 HDD7
+ *
+ * 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
+
+#include "fru_HDD7_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_HDD7_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,113 @@
+/*
+ * 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 2005 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 HDD7
+ *
+ * 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")
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@7,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@7,0
+ENDROW
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@7,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@7,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@7,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7/disk
+name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@7,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7/disk
+
+name:RMCLOMV/hdd7_service
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+name:RMCLOMV/hdd7_ok2rm
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd7_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd7_ok2rm
+	ENDROW
+	ENDTABLE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU0.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 PSU0
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,24
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,24"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,24"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PSU0_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU0_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,144 @@
+/*
+ * 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 2005 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 PSU0
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS0/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,24
+TABLE Devices
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_pok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_stby
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_service
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps0_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps0_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps0_ff_fan
+ENDROW
+ENDTABLE
+
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,24
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+        PROP FRUDevicePath string r 0 "/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,24:power-supply-fru-prom"
+
+name:RMCLOMV/ps0_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_stby
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_service
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 PSU0
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,32
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,32"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,32"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PSU1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,144 @@
+/*
+ * 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 2005 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 PSU1
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS1/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,32
+TABLE Devices
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_pok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_stby
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_service
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps1_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps1_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps1_ff_fan
+ENDROW
+ENDTABLE
+
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,32
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+        PROP FRUDevicePath string r 0 "/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,32:power-supply-fru-prom"
+
+name:RMCLOMV/ps1_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_stby
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_service
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU2.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 PSU0
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,52
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,52"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,52"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PSU2_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU2_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,144 @@
+/*
+ * 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 2005 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 PSU2
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS2/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,52
+TABLE Devices
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps2_pok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps2_stby
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps2_service
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps2_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps2_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps2_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps2_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps2_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps2_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps2_ff_fan
+ENDROW
+ENDTABLE
+
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,52
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+        PROP FRUDevicePath string r 0 "/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,52:power-supply-fru-prom"
+
+name:RMCLOMV/ps2_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_stby
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_service
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
+name:RMCLOMV/ps2_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS2/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU3.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 PSU0
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,72
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/devices/i2c@1f,520000/power-supply-fru-prom@0,72"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,72"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PSU3_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_PSU3_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,144 @@
+/*
+ * 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 2005 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 PSU3
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS3/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,72
+TABLE Devices
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps3_pok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps3_stby
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps3_service
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps3_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps3_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps3_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps3_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps3_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps3_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps3_ff_fan
+ENDROW
+ENDTABLE
+
+name:/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,72
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+        PROP FRUDevicePath string r 0 "/platform/devices/i2c@1f,520000/power-supply-fru-prom@0,72:power-supply-fru-prom"
+
+name:RMCLOMV/ps3_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_stby
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_service
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
+name:RMCLOMV/ps3_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS3/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,77 @@
+/*
+ * 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 2005 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 PS0
+ *
+ * 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
+
+#include "fru_SC_data.info"
+#include "SB-tables.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_SC_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,257 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * 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:"
+ *
+ * This file captures all of the location and fru parents for the
+ * sensors and led's in the system, whose state is learned from
+ * ALOM via rmclomv.
+ */
+
+/*
+ * 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")
+
+/*
+ * There are a lot of nodes below the rmclomv node, define a shortname
+ */
+
+#ifndef RMCLOMV
+#define	RMCLOMV	/platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+#endif
+
+/*
+ * fru/location parents and device tables for the disks and their
+ * associated sensors
+ */
+#include "fru_HDD0_data.info"
+#include "fru_HDD1_data.info"
+#include "fru_HDD2_data.info"
+#include "fru_HDD3_data.info"
+#include "fru_HDD4_data.info"
+#include "fru_HDD5_data.info"
+#include "fru_HDD6_data.info"
+#include "fru_HDD7_data.info"
+
+/*
+ * fru/location parents and device tables for the power supplies
+ */
+#include "fru_PSU0_data.info"
+#include "fru_PSU1_data.info"
+#include "fru_PSU2_data.info"
+#include "fru_PSU3_data.info"
+
+/*
+ * usb ports
+ */
+#include "fru_usb-a-1_data.info"
+#include "fru_usb-a-2_data.info"
+#include "fru_usb-a-3_data.info"
+#include "fru_usb-a-4_data.info"
+
+/*
+ * parents for the fan tachometers
+ */
+name:RMCLOMV/ft0_f0_tach
+	REFPROP	_fru_parent name:/frutree/chassis/FT0
+name:RMCLOMV/ft1_f0_tach
+	REFPROP	_fru_parent name:/frutree/chassis/FT1
+name:RMCLOMV/ft2_f0_tach
+	REFPROP _fru_parent name:/frutree/chassis/FT2
+name:RMCLOMV/ft3_f0_tach
+	REFPROP _fru_parent name:/frutree/chassis/FT3
+name:RMCLOMV/ft4_f0_tach
+	REFPROP _fru_parent name:/frutree/chassis/FT4
+name:RMCLOMV/ft5_f0_tach
+	REFPROP _fru_parent name:/frutree/chassis/FT5
+
+/*
+ * parents for system leds
+ */
+name:RMCLOMV/sys_act
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+name:RMCLOMV/sys_service
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+name:RMCLOMV/sys_locate
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+	PROP IsLocator string r 0 "true"
+	PROP LocatorName string r 0 "system"
+	PROP LocatorOn string r 0 "blinking"
+name:RMCLOMV/sys_fanfail
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+name:RMCLOMV/sys_psfail
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+name:RMCLOMV/sys_overtemp
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/FLEDB/front-led-board
+
+/*
+ * parents for fan-fault led's
+ */
+name:RMCLOMV/ft0_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+name:RMCLOMV/ft1_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+name:RMCLOMV/ft2_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+name:RMCLOMV/ft3_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+name:RMCLOMV/ft4_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+name:RMCLOMV/ft5_f0_fault
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+
+/*
+ * keyswitch parent
+ */
+name:RMCLOMV/keyswitch
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/SC/service-processor
+	PROP Label string r 0 "SYSCTRL"
+
+/*
+ * chassis serial number parent
+ */
+
+name:RMCLOMV/chassis_serial_number
+	REFPROP _fru_parent name:/frutree/chassis
+	PROP Label string r 0 "CHASSISSERIAL"
+
+/*
+ * fru parents for motherboard sensors
+ */
+name:RMCLOMV/mb_v_+1v0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+1v2
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+1v5
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+1v8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+2v5
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+3v3
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+3v3stby
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+5v
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+12v
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_-12v
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_i_usb0
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB0
+name:RMCLOMV/mb_i_usb1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB1
+name:RMCLOMV/fire_t_core
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_io_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+
+/*
+ * fru parents for front IO board sensors
+ */
+name:RMCLOMV/fiob_i_usb2
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB2
+name:RMCLOMV/fiob_i_usb3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB3
+name:RMCLOMV/fiob_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board
+
+/*
+ * fru parent for SC battery
+ */
+name:RMCLOMV/sc_bat_v_bat
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/SC/service-processor/BATTERY/battery
+
+/*
+ * parents for CPU board and CPU die sensors
+ */
+name:RMCLOMV/c0_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module
+name:RMCLOMV/c0_p0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module
+name:RMCLOMV/c0_p0_t_core
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+
+name:RMCLOMV/c1_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module
+name:RMCLOMV/c1_p0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module
+name:RMCLOMV/c1_p0_t_core
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+
+name:RMCLOMV/c2_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module
+name:RMCLOMV/c2_p0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module
+name:RMCLOMV/c2_p0_t_core
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+
+name:RMCLOMV/c3_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module
+name:RMCLOMV/c3_p0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module
+name:RMCLOMV/c3_p0_t_core
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB0
+ *
+ * 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
+
+#include "fru_usb-a-1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,83 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB0
+ *
+ * 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")
+
+/*
+ * rear panel EHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,3/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB0
+
+/*
+ * Rear panel OHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-2.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB1
+ *
+ * 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
+
+#include "fru_usb-a-2_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-2_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,83 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB1
+ *
+ * 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")
+
+/*
+ * Rear panel EHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,3/picl?bus-addr=3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB1
+
+/*
+ * Rear panel OHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,1/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-3.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB2
+ *
+ * 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
+
+#include "fru_usb-a-3_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-3_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,83 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB2
+ *
+ * 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")
+
+/*
+ * Front panel EHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,3/obp-device@7/picl?bus-addr=3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB2
+
+/*
+ * Front panel OHCI devices 
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,2/obp-device@1/picl?bus-addr=3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-4.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB3
+ *
+ * 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
+
+#include "fru_usb-a-4_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frudr/fru_usb-a-4_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,83 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB3
+ *
+ * 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")
+
+/*
+ * Front panel EHCI devices
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,3/obp-device@7/picl?bus-addr=4
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB3
+
+/*
+ * Front panel OHCI devices 
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,2/obp-device@1/picl?bus-addr=4
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/USB3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frutree/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/boston/frutree/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V445
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+INCDIR1		= .
+INCDIR2		= ../frudr
+INCS		= -I$(INCDIR1) -I$(INCDIR2)
+CONFS		= piclfrutree.conf
+ROOTCONF	= $(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO	= $(CONFS:%.conf=%.info)
+OTHERINFOS	= $(INCDIR1)/system-board.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD0_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD1_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD2_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD3_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD4_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD5_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD6_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD7_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PSU0_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PSU1_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PSU2_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PSU3_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_SC_data.info
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all:	$(CONFS) 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+$(CONFS): $(MAININFO) $(OTHERINFOS)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc.  All rights reserved." \
+	> $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(INCS) $(@:%.conf=%.info) | \
+	$(SED) -e '/^[ 	]*$$/d' >> $@
+	@$(CHMOD) 444 $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frutree/piclfrutree.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,628 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * 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:"
+ *
+ * This file describes the locations of all the system fru's and their
+ * proms, if present.
+ */
+
+/*
+ * 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")
+
+/*
+ * There are a lot of nodes below the rmclomv node, define a shortname
+ */
+#define	RMCLOMV	/platform/ebus@1f,464000/rmc-comm@0,c28000/SUNW,rmclomv
+
+VERSION 1.1
+VERBOSE 1
+NODE frutree picl
+    NODE chassis fru
+    /*
+     * SunMC physical view view_points for this platform
+     * This will get moved to a separate SunMC physical view plugin later.
+     */
+    PROP ViewPoints string r 0 "front rear side"
+
+	NODE MB location
+	    PROP SlotType string r 0 "system-board"
+    	    PROP Label string r 0 "MB"
+            NODE system-board fru
+            ENDNODE
+	ENDNODE
+
+	NODE FT0 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT0"
+	ENDNODE
+	NODE FT1 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT1"
+	ENDNODE
+	NODE FT2 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT2"
+	ENDNODE
+	NODE FT3 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT3"
+	ENDNODE
+	NODE FT4 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT4"
+	ENDNODE
+	NODE FT5 fru
+	    PROP SlotType string r 0 "fan-tray"
+    	    PROP Label string r 0 "FT5"
+	ENDNODE
+
+        NODE PDB location
+            PROP SlotType string r 0 "power-distribution-board"
+            PROP Label string r 0 "PDB"
+            NODE power-distribution-board fru
+            ENDNODE
+        ENDNODE
+
+	/* on Boston we need only two of the four possible power supplies */
+
+	NODE PS0 location
+	    PROP SlotType string r 0 "power-supply"
+	    PROP Label string r 0 "PS0"
+	ENDNODE
+	NODE PS1 location
+	    PROP SlotType string r 0 "power-supply"
+	    PROP Label string r 0 "PS1"
+	ENDNODE
+	NODE PS2 location
+	    PROP SlotType string r 0 "power-supply"
+	    PROP Label string r 0 "PS2"
+	ENDNODE
+	NODE PS3 location
+	    PROP SlotType string r 0 "power-supply"
+	    PROP Label string r 0 "PS3"
+	ENDNODE
+
+    ENDNODE
+ENDNODE
+
+name:/frutree/chassis/MB/system-board/PS0
+/*
+ * Motherboard properties
+ */
+name:/frutree/chassis/MB/system-board
+    Node C0 location
+         PROP SlotType string r 0 "cpu-module"
+         Prop Label string r 0 "C0"
+    ENDNODE
+    Node C1 location
+         PROP SlotType string r 0 "cpu-module"
+         Prop Label string r 0 "C1"
+    ENDNODE
+    Node C2 location
+         PROP SlotType string r 0 "cpu-module"
+         Prop Label string r 0 "C2"
+    ENDNODE
+    Node C3 location
+         PROP SlotType string r 0 "cpu-module"
+         Prop Label string r 0 "C3"
+    ENDNODE
+
+    NODE PCI0 location
+        PROP SlotType string r 0 "pci-e"
+        PROP Label string r 0 "PCI0"
+    ENDNODE
+    NODE PCI1 location
+        PROP SlotType string r 0 "pci-e"
+        PROP Label string r 0 "PCI1"
+    ENDNODE
+    NODE PCI2 location
+        PROP SlotType string r 0 "pci-x"
+        PROP Label string r 0 "PCI2"
+    ENDNODE
+    NODE PCI3 location
+        PROP SlotType string r 0 "pci-x"
+        PROP Label string r 0 "PCI3"
+    ENDNODE
+    NODE PCI4 location
+        PROP SlotType string r 0 "pci-x"
+        PROP Label string r 0 "PCI4"
+    ENDNODE
+    NODE PCI5 location
+        PROP SlotType string r 0 "pci-x"
+        PROP Label string r 0 "PCI5"
+    ENDNODE
+    NODE PCI6 location
+        PROP SlotType string r 0 "pci-e"
+        PROP Label string r 0 "PCI6"
+    ENDNODE
+    NODE PCI7 location
+        PROP SlotType string r 0 "pci-e"
+        PROP Label string r 0 "PCI7"
+    ENDNODE
+
+    NODE USB0 location
+        PROP SlotType string r 0 "usb"
+        PROP Label string r 0 "USB0"
+    ENDNODE
+    NODE USB1 location
+        PROP SlotType string r 0 "usb"
+        PROP Label string r 0 "USB1"
+    ENDNODE
+
+    NODE FIOB location
+        PROP SlotType string r 0 "front-IO-board"
+        PROP Label string r 0 "FIOB"
+    ENDNODE
+
+    NODE SC location
+        PROP SlotType string r 0 "service-processor-board"
+        PROP Label string r 0 "SC"
+    ENDNODE
+
+    NODE HDDCNTRL location
+        PROP SlotType string r 0 "disk-controller"
+        PROP Label string r 0 "HDDCNTRL"
+    ENDNODE
+
+    NODE RMD0 location
+        PROP SlotType string r 0 "dvd-slot"
+	PROP Label string r 0 "RMD0"
+    ENDNODE
+
+name:/frutree/chassis/MB/system-board/FIOB
+    NODE front-IO-board fru
+        NODE USB2 location
+            PROP SlotType string r 0 "usb"
+            PROP Label string r 0 "USB2"
+        ENDNODE
+        NODE USB3 location
+            PROP SlotType string r 0 "usb"
+            PROP Label string r 0 "USB3"
+        ENDNODE
+        NODE FLEDB location
+	    PROP SlotType string r 0 "led-board"
+            PROP Label string r 0 "FLEDB"
+            NODE front-led-board fru
+            ENDNODE
+        ENDNODE
+	NODE HUB location
+	    PROP SlotType string r 0 "usb-hub"
+	    PROP Label string r 0 "HUB0"
+	ENDNODE
+    ENDNODE
+
+/*
+ * System controller contains the SCC and a battery
+ */
+name:/frutree/chassis/MB/system-board/SC
+    NODE service-processor fru
+        NODE SCC location
+            PROP Label string r 0 "SCC"
+            NODE system-config-chip fru
+            ENDNODE
+        ENDNODE
+        NODE BATTERY location
+            PROP Label string r 0 "BATTERY"
+            NODE battery fru
+            ENDNODE
+        ENDNODE
+    ENDNODE
+
+/*
+ * built-in LSI PCIe disk controller and disk backplane
+ */
+name:/frutree/chassis/MB/system-board/HDDCNTRL
+    PROP SlotType string r 0 "disk-controller"
+    PROP Label string r 0 "HDDCNTRL"
+    NODE disk-controller fru
+        NODE HDDBP location
+            PROP Label string r 0 "HDDBP"
+            PROP SlotType string r 0 "disk-backplane-8"
+            NODE disk-backplane-8 fru
+            ENDNODE
+        ENDNODE
+    ENDNODE
+
+/*
+ * up to 8 disks in Boston...
+ */
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+    NODE HDD0 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD0"
+    ENDNODE
+    NODE HDD1 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD1"
+    ENDNODE
+    NODE HDD2 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD2"
+    ENDNODE
+    NODE HDD3 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD3"
+    ENDNODE
+    NODE HDD4 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD4"
+    ENDNODE
+    NODE HDD5 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD5"
+    ENDNODE
+    NODE HDD6 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD6"
+    ENDNODE
+    NODE HDD7 location
+        PROP SlotType string r 0 "disk-slot"
+        PROP Label string r 0 "HDD7"
+    ENDNODE
+
+/*
+ * add power-supply nodes if their fru-proms are visible
+ */
+name:/frutree/chassis/PS0
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,24
+name:/frutree/chassis/PS1
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,32
+name:/frutree/chassis/PS2
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,52
+name:/frutree/chassis/PS3
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,520000/power-supply-fru-prom?UnitAddress=0,72
+
+/*
+ * PDB chassis ID prom
+ */
+name:/frutree/chassis/PDB
+	REFNODE power-distribution-board fru WITH name:/platform/i2c@1f,520000/pdb-fru-prom@0,da
+
+/*
+ * system fans (on Boston, the trays are the fru's, not the fans)
+ */
+name:/frutree/chassis/FT0
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+name:/frutree/chassis/FT1
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+name:/frutree/chassis/FT2
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+name:/frutree/chassis/FT3
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+name:/frutree/chassis/FT4
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+name:/frutree/chassis/FT5
+    NODE F0 location
+        PROP SlotType string r 0 "fan-unit"
+        PROP Label string r 0 "F0"
+    ENDNODE
+
+
+/*
+ * cdrom fru node
+ */
+name:/frutree/chassis/MB/system-board/RMD0
+	REFNODE removable-media fru WITH name:/platform/pci@1f,700000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+name:/platform/pci@1f,700000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/RMD0/removable-media
+ 
+
+/*
+ * add disk fru nodes for disks which are present (built-in 1068E mappings)
+ */
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@0,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@1,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@2,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@3,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@4,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@5,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@6,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@2/scsi@0/sd@7,0
+
+/*
+ * Add disk fru nodes for disks which are present (1068x mappings with the
+ * 1068x located in slot 4 (short PCI-X slot adjacent to the MBC)
+ */
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD0
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@0,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD1
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@1,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD2
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@2,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD3
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@3,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@4,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@5,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@6,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@7,0
+
+/*
+ * Add disk fru nodes for disks which are present (1064x mappings with the
+ * 1064x located in slot 5 (last short PCI-X slot).  These are assumed to
+ * be the remaining four disks if the first controller is also a 1064x.
+ */
+
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD4
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@4,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD5
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@5,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD6
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@6,0
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8/HDD7
+	REFNODE disk fru WITH name:/platform/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@2/sd@7,0
+
+/*
+ * the eight PCIe/PCI-x slots...
+ */
+name:/frutree/chassis/MB/system-board/PCI0
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl?DeviceID=0
+name:/frutree/chassis/MB/system-board/PCI1
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl?DeviceID=0
+name:/frutree/chassis/MB/system-board/PCI2
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl?DeviceID=1
+name:/frutree/chassis/MB/system-board/PCI3
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl?DeviceID=2
+name:/frutree/chassis/MB/system-board/PCI4
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl?DeviceID=1
+name:/frutree/chassis/MB/system-board/PCI5
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl?DeviceID=2
+name:/frutree/chassis/MB/system-board/PCI6
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl?DeviceID=0
+name:/frutree/chassis/MB/system-board/PCI7
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@8/picl?DeviceID=0
+
+#include "system-board.info"
+#include <fru_SC_data.info>
+#include <SB-tables.info>
+
+/*
+ * built-in USB hub on the front IO board, one for EHCI, one for OHCI
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,3/obp-device@7
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/HUB
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@1/pciex@0/usb@1c,2/obp-device@1
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board/HUB
+
+/*
+ * devices in PCIe/PCI-x slots
+ */
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl@0,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI0/pci-card
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/picl@0,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI1/pci-card
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@1,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI2/pci-card
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/pci@8/picl@2,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI3/pci-card
+
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@1,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI4/pci-card
+
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@2/pciex@0/pci@8/picl@2,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI5/pci-card
+
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,1
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,2
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,3
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,4
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,5
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,6
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl@0,7
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI6/pci-card
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,0/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,1/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,2/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,3/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,4/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,5/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,6/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8,7/picl@0
+        REFPROP _fru_parent name:/frutree/chassis/MB/system-board/PCI7/pci-card
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/boston/frutree/system-board.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,581 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * This file creates the system board structure
+ */
+
+/*
+ * 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")
+
+/*
+ * motherboard seeprom source
+ */
+name:/frutree/chassis/MB/system-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/motherboard-fru-prom@0,aa
+
+name:/platform/i2c@1f,520000/motherboard-fru-prom@0,aa
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+
+
+/*
+ * RMC Board Seeprom Source
+ */
+name:/frutree/chassis/MB/system-board/SC/service-processor
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/rmc-fru-prom@0,a8
+
+name:/platform/i2c@1f,520000/rmc-fru-prom@0,a8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/SC/service-processor
+
+
+/*
+ * FIOB Board Seeprom Source
+ */
+name:/frutree/chassis/MB/system-board/FIOB/front-IO-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/front-io-fru-prom@0,4e
+
+name:/platform/i2c@1f,520000/front-io-fru-prom@0,4e
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-IO-board
+
+
+/*
+ * PDB fru/serial number prom and parent
+ */
+name:/frutree/chassis/PDB/power-distribution-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/pdb-fru-prom@0,da
+
+name:/platform/i2c@1f,520000/pdb-fru-prom@0,da
+	REFPROP _fru_parent name:/frutree/chassis/PDB/power-distribution-board
+
+
+/*
+ * HDDBP Board Seeprom Source and fru parent
+ */
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+    PROP FRUDataAvailable void r
+    REFPROP _seeprom_source name:/platform/i2c@1f,520000/sas-backplane-fru-prom@0,48
+
+name:/platform/i2c@1f,520000/sas-backplane-fru-prom@0,48
+    REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP/disk-backplane-8
+
+
+/*
+ * HDDCNTRL Board Seeprom Source
+ */
+name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller
+    PROP FRUDataAvailable void r
+    REFPROP _seeprom_source name:/platform/i2c@1f,520000/sas-backplane-fru-prom@0,46
+
+name:/platform/i2c@1f,520000/sasctrl-fru-prom@0,46
+    REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller
+
+/*
+ * Proccessor Board 0
+ */
+name:/frutree/chassis/MB/system-board/C0
+	REFNODE cpu-module fru WITH name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,b8
+name:/frutree/chassis/MB/system-board/C0/cpu-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,b8
+
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,b8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module
+
+/*
+ * Proccessor Board 1
+ */
+name:/frutree/chassis/MB/system-board/C1
+	REFNODE cpu-module fru WITH name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,c8
+name:/frutree/chassis/MB/system-board/C1/cpu-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,c8
+
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,c8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module
+
+/*
+ * Proccessor Board 2
+ */
+name:/frutree/chassis/MB/system-board/C2
+	REFNODE cpu-module fru WITH name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,e8
+name:/frutree/chassis/MB/system-board/C2/cpu-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,e8
+
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,e8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module
+
+/*
+ * Proccessor Board 3
+ */
+name:/frutree/chassis/MB/system-board/C3
+	REFNODE cpu-module fru WITH name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,98
+name:/frutree/chassis/MB/system-board/C3/cpu-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,98
+
+name:/platform/i2c@1f,520000/cpu-fru-prom?UnitAddress=0,98
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module
+
+/*
+ * Processors
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module
+	REFNODE P0 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0
+	PROP SlotType string r 0 "cpu"
+	PROP Label string r 0 "P0"
+	REFNODE cpu location WITH name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+
+name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module
+	REFNODE P0 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0
+	PROP SlotType string r 0 "cpu"
+	PROP Label string r 0 "P0"
+	REFNODE cpu location WITH name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+
+name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module
+	REFNODE P0 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0
+	PROP SlotType string r 0 "cpu"
+	PROP Label string r 0 "P0"
+	REFNODE cpu location WITH name:/platform/SUNW,UltraSPARC-IIIi+@2,0
+
+name:/platform/SUNW,UltraSPARC-IIIi+@2,0
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module
+	REFNODE P0 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0
+	PROP SlotType string r 0 "cpu"
+	PROP Label string r 0 "P0"
+	REFNODE cpu location WITH name:/platform/SUNW,UltraSPARC-IIIi+@3,0
+
+name:/platform/SUNW,UltraSPARC-IIIi+@3,0
+	REFPROP _location_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+
+
+/************************************
+ * CPU Board 0 Processor 0
+ ************************************/
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0
+	REFNODE cpu location WITH name:/platform/i2c@1f,520000/temperature?UnitAddress=0,10
+
+name:/platform/i2c@1f,520000/temperature?UnitAddress=0,10
+	REFPROP _location_parent /frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+	REFNODE B0 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0
+	PROP Label string r 0 "B0"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+	REFNODE B1 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1
+	PROP Label string r 0 "B1"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu
+
+/************************************
+ * CPU Board 1 Processor 0
+ ************************************/
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0
+	REFNODE cpu location WITH name:/platform/i2c@1f,520000/temperature?UnitAddress=0,30
+
+name:/platform/i2c@1f,520000/temperature?UnitAddress=0,30
+	REFPROP _location_parent /frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+	REFNODE B0 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0
+	PROP Label string r 0 "B0"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+	REFNODE B1 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1
+	PROP Label string r 0 "B1"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu
+
+/************************************
+ * CPU Board 2 Processor 0
+ ************************************/
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0
+	REFNODE cpu location WITH name:/platform/i2c@1f,520000/temperature?UnitAddress=0,50
+
+name:/platform/i2c@1f,520000/temperature?UnitAddress=0,50
+	REFPROP _location_parent /frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+	REFNODE B0 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0
+	PROP Label string r 0 "B0"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+	REFNODE B1 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1
+	PROP Label string r 0 "B1"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu
+
+/************************************
+ * CPU Board 3 Processor 0
+ ************************************/
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0
+	REFNODE cpu location WITH name:/platform/i2c@1f,520000/temperature?UnitAddress=0,70
+
+name:/platform/i2c@1f,520000/temperature?UnitAddress=0,70
+	REFPROP _location_parent /frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+	REFNODE B0 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0
+	PROP Label string r 0 "B0"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+	REFNODE B1 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1
+	PROP Label string r 0 "B1"
+	REFNODE bank location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank
+	REFNODE D0 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+	REFNODE D1 location WITH name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu
+
+/************************************
+ * CPU Board 0 Processor 0 memory
+ ************************************/
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/************************************
+ * CPU Board 1 Processor 0 memory
+ ************************************/
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/************************************
+ * CPU Board 2 Processor 0 memory
+ ************************************/
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/************************************
+ * CPU Board 3 Processor 0 memory
+ ************************************/
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/************************************
+ * Dimm nodes
+ ************************************/
+/*
+ * Board 0 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b0
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b2
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b4
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b6
+/*
+ * Board 1 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c0
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c2
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c4
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c6
+/*
+ * Board 2 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e0
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e2
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e4
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e6
+/*
+ * Board 3 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,90
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,92
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,94
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,96
+
+/************************************
+ * DIMM seeprom sources
+ ************************************/
+/*
+ * Board 0 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b0
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b2
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b4
+name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,b6
+/*
+ * Board 1 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c0
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c2
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c4
+name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,c6
+/*
+ * Board 2 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e0
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e2
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e4
+name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,e6
+/*
+ * Board 3 CPU 0
+ */
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,90
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,92
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,94
+name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,520000/dimm-spd?UnitAddress=0,96
+
+/************************************
+ * DIMM FRU parents
+ ***********************************/
+/*
+ * Board 0 CPU 0
+ */
+name:/platform/i2c@1f,520000/dimm-spd@0,b0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,b2
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,b4
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,b6
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 1 CPU 0
+ */
+name:/platform/i2c@1f,520000/dimm-spd@0,c0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,c2
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,c4
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,c6
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 2 CPU 0
+ */
+name:/platform/i2c@1f,520000/dimm-spd@0,e0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,e2
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,e4
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,e6
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 3 CPU 0
+ */
+name:/platform/i2c@1f,520000/dimm-spd@0,90
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,92
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,94
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,520000/dimm-spd@0,96
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1/mem-module
+
+/************************************
+ * DIMM parents
+ ***********************************/
+/*
+ * Board 0 CPU 0
+ */
+name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C0/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 1 CPU 0
+ */
+name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C1/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 2 CPU 0
+ */
+name:/platform/memory-controller@2,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@2,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@2,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@2,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C2/cpu-module/P0/cpu/B1/bank/D1/mem-module
+/*
+ * Board 3 CPU 0
+ */
+name:/platform/memory-controller@3,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@3,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@3,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@3,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/C3/cpu-module/P0/cpu/B1/bank/D1/mem-module
+
+/*
+ * create reference properties for motherboard pci devices
+ */
+_class:/jbus/pciex@1e,600000
+	REFPROP	_fru_parent name:/frutree/chassis/MB/system-board
+_class:/jbus/pciex@1f,700000
+	REFPROP	_fru_parent name:/frutree/chassis/MB/system-board
--- a/usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.c	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.c	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,8 +18,9 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -119,6 +119,8 @@
 static void	free_vol_prop(picl_prophdl_t proph);
 static void	envmon_evhandler(const char *ename, const void *earg,
     size_t size, void *cookie);
+static int	get_serial_num(int envmon_fd, envmon_handle_t *id, int cmd,
+    envmon_chassis_t *chassis);
 
 #pragma	init(piclenvmon_register)
 
@@ -132,6 +134,8 @@
 
 static	const char str_On[] = "on";
 static	const char str_Off[] = "off";
+static  const char str_Blinking[] = "blinking";
+static  const char str_Flashing[] = "flashing";
 static	const char str_SC[] = "SC";
 static	char *envmon_device_name = NULL;
 static	envmon_sysinfo_t	env_limits;
@@ -175,7 +179,8 @@
 	ENVMONIOCFAN,
 	ENVMONIOCFANIND,
 	ENVMONIOCGETLED,
-	ENVMONIOCGETKEYSW
+	ENVMONIOCGETKEYSW,
+	ENVMONIOCCHASSISSERIALNUM
 };
 
 /*
@@ -191,7 +196,8 @@
 	PICL_CLASS_FAN,
 	PICL_CLASS_FAN,
 	PICL_CLASS_LED,
-	PICL_CLASS_KEYSWITCH
+	PICL_CLASS_KEYSWITCH,
+	PICL_CLASS_CHASSIS_SERIAL_NUM
 };
 
 /*
@@ -207,7 +213,8 @@
 	PICL_PROP_FAN_SPEED,
 	PICL_PROP_FAN_SPEED_UNIT,
 	PICL_PROP_STATE,
-	PICL_PROP_STATE
+	PICL_PROP_STATE,
+	PICL_PROP_SERIAL_NUMBER
 };
 
 /*
@@ -223,6 +230,7 @@
 	PICL_PTYPE_UNSIGNED_INT,
 	PICL_PTYPE_CHARSTRING,
 	PICL_PTYPE_CHARSTRING,
+	PICL_PTYPE_CHARSTRING,
 	PICL_PTYPE_CHARSTRING
 };
 
@@ -237,7 +245,7 @@
  * the -1's are replaced by the max size of a condition string
  */
 int	fru_to_size[] = {
-	4, -1, 4, -1, 2, -1, 2, -1, -1, -1
+	4, -1, 4, -1, 2, -1, 2, -1, -1, -1, -1
 };
 
 static node_el_t *
@@ -747,6 +755,34 @@
 }
 
 /*
+ * Function to read the chassis serial number
+ * Returns PICL_INVALIDHANDLE if ioctl not supported (or fails)
+ */
+static int
+get_serial_num(int envmon_fd, envmon_handle_t *id, int cmd,
+    envmon_chassis_t *chassis)
+{
+	int			res;
+
+	if (id->name[0] == '\0') {
+		(void) strlcpy(id->name, CHASSIS_SERIAL_NUMBER,
+		    sizeof (id->name));
+		return (PICL_INVALIDHANDLE);
+	} else if (strncmp(id->name, CHASSIS_SERIAL_NUMBER, sizeof (id->name))
+	    != 0) {
+		id->name[0] = '\0';
+		return (PICL_INVALIDHANDLE);
+	} else {
+		res = ioctl(envmon_fd, cmd, chassis);
+		id->name[0] = '\0';
+
+		if (res < 0)
+			return (PICL_INVALIDHANDLE);
+		return (PICL_SUCCESS);
+	}
+}
+
+/*
  * change to lower case and convert any spaces into hyphens,
  * and any dots or colons symbols into underscores
  */
@@ -879,6 +915,7 @@
 	int16_t			sensor_data;
 	int8_t			led_state;
 	envmon_keysw_pos_t	key_posn;
+	envmon_chassis_t	chassis;
 	float			float_data;
 	int			cmd;
 	int			err;
@@ -927,6 +964,9 @@
 	case ENVMON_KEY_SWITCH:
 		err = get_keyswitch_data(envmon_fd, &id, cmd, &key_posn);
 		break;
+	case ENVMON_CHASSIS:
+		err = get_serial_num(envmon_fd, &id, cmd, &chassis);
+		break;
 	default:
 		err = PICL_FAILURE;
 		break;
@@ -984,6 +1024,10 @@
 			return (err);
 		(void) strlcpy(buf, cptr, fru_to_size[fru_type]);
 		break;
+	case ENVMON_CHASSIS:
+		(void) memcpy(buf, chassis.serial_number,
+		    sizeof (chassis.serial_number));
+		break;
 
 	default:
 		return (PICL_FAILURE);
@@ -1017,6 +1061,10 @@
 		led_ctl.led_state = ENVMON_LED_OFF;
 	else if (strcasecmp(str_On, buf) == 0)
 		led_ctl.led_state = ENVMON_LED_ON;
+	else if (strcasecmp(str_Blinking, buf) == 0)
+		led_ctl.led_state = ENVMON_LED_BLINKING;
+	else if (strcasecmp(str_Flashing, buf) == 0)
+		led_ctl.led_state = ENVMON_LED_FLASHING;
 	else
 		return (PICL_INVALIDARG);
 
@@ -1079,6 +1127,7 @@
 	int8_t			led_state;
 	int8_t			colour;
 	envmon_keysw_pos_t	key_state;
+	envmon_chassis_t	chassis_num;
 	int			cmd;
 	int			err;
 	int			index = handle_arr.num;
@@ -1135,6 +1184,10 @@
 			err = get_keyswitch_data(envmon_fd, &id, cmd,
 			    &key_state);
 			break;
+		case ENVMON_CHASSIS:
+			err = get_serial_num(envmon_fd, &id, cmd,
+			    &chassis_num);
+			break;
 		default:
 			return (PICL_FAILURE);
 		}
@@ -1181,6 +1234,7 @@
 		if (err != PICL_SUCCESS) {
 			break;
 		}
+
 		/*
 		 * if any thresholds are defined add a property
 		 */
@@ -1258,11 +1312,13 @@
 			}
 		}
 		/*
-		 * add a label property unless it's a keyswitch
-		 * (keyswitch is labelled from a config file because the
+		 * add a label property unless it's a keyswitch or the
+		 * chassis serial number. keyswitch and chassis serial
+		 * number are labelled from a config file because the
 		 * ALOM interface doesn't supply a name for it)
 		 */
-		if (fru_type != ENVMON_KEY_SWITCH) {
+		if ((fru_type != ENVMON_KEY_SWITCH) &&
+		    (fru_type != ENVMON_CHASSIS)) {
 			err = add_regular_prop(node_hdl, PICL_PROP_LABEL,
 			    PICL_PTYPE_CHARSTRING, PICL_READ,
 			    1 + strlen(label_name), label_name, NULL);
@@ -1399,6 +1455,11 @@
 	fixkeyposn(ENVMON_KEYSW_POS_LOCKED, gettext("LOCKED"), &string_size);
 	fixkeyposn(ENVMON_KEYSW_POS_OFF, gettext("STBY"), &string_size);
 	fru_to_size[ENVMON_KEY_SWITCH] = string_size;
+
+	/*
+	 * initialise chassis serial number string
+	 */
+	fru_to_size[ENVMON_CHASSIS] = ENVMON_MAXNAMELEN;
 }
 
 /*
--- a/usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.h	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/picl/plugins/sun4u/envmon/piclenvmon.h	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,8 +18,9 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright 2002-2003 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -71,7 +71,13 @@
 #define	ENVMON_FAN_IND		7
 #define	ENVMON_LED_IND		8
 #define	ENVMON_KEY_SWITCH	9
-#define	ENVMONTYPES		10
+#define	ENVMON_CHASSIS		10
+
+/*
+ * ENVMONTYPES is the total of all the environmental monitor types. Needs
+ * to be incrementee everytime a new type is added.
+ */
+#define	ENVMONTYPES		11
 
 /*
  * number of key-switches supported
@@ -86,7 +92,8 @@
 #define	LED_OK2RM	"OK2RM"
 #define	LED_LOCATE	"LOCATE"
 
-#define	KEYSWITCH_NAME	"keyswitch"
+#define	KEYSWITCH_NAME		"keyswitch"
+#define	CHASSIS_SERIAL_NUMBER	"chassis_serial_number"
 
 /*
  * Config file name
--- a/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/cmd/picl/plugins/sun4u/mpxu/frudr/piclfrudr.c	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,6 +18,7 @@
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -52,6 +52,7 @@
 #include "picldefs.h"
 #include <sys/raidioctl.h>
 #include <sys/param.h>
+#include <sys/epic.h>
 
 /*
  * Plugin registration entry points
@@ -59,6 +60,11 @@
 static void	piclfrudr_register(void);
 static void	piclfrudr_init(void);
 static void	piclfrudr_fini(void);
+static void	rmc_state_event(void);
+static void	seattle_setleds(void);
+static void	boston_set_frontleds(const char *, int);
+static void	boston_set_rearleds(const char *, int);
+
 #pragma	init(piclfrudr_register)
 
 static picld_plugin_reg_t  my_reg_info = {
@@ -99,6 +105,14 @@
 #define	FRUTREE_PATH		"/frutree"
 #define	CHASSIS_LOC_PATH	"/frutree/chassis/%s"
 #define	SYS_BOARD_PATH		"/frutree/chassis/MB/system-board/%s"
+#define	SEATTLE1U_HDDBP_PATH	\
+	"/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1/%s"
+#define	SEATTLE2U_HDDBP_PATH	\
+	"/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3/%s"
+#define	BOSTON_HDDBP_PATH	\
+	"/frutree/chassis/MB/system-board/HDDCNTRL/disk-controller/HDDBP" \
+	"/disk-backplane-8/%s"
+
 #define	CONFFILE_PREFIX		"fru_"
 #define	CONFFILE_SUFFIX		".conf"
 #define	CONFFILE_FRUTREE	"piclfrutree.conf"
@@ -124,6 +138,15 @@
 #define	ENTS_ACT_LED		0x10
 #define	V440_SRVC_LED		0x2
 #define	V440_ACT_LED		0x1
+#define	BOSTON_FRONT_SRVC_LED	0x2
+#define	BOSTON_FRONT_ACT_LED	0x4
+#define	BOSTON_FRONT_CLEAR_DIR	0x0
+#define	BOSTON_FRONT_CLEAR_POL	0x0
+#define	BOSTON_FRONT_LED_MASK	0xffffffff
+#define	BOSTON_REAR_SRVC_LED	0x2000
+#define	BOSTON_REAR_ACT_LED	0x8000
+#define	BOSTON_REAR_CLEAR_POL	0x0000
+#define	BOSTON_REAR_LED_MASK	0xe000
 
 /*
  * PSU defines
@@ -151,6 +174,30 @@
 #define	PS_DEVICE_NAME "power-supply-fru-prom"
 
 /*
+ * Seattle/Boston PSU defines
+ */
+#define	SEATTLE_PSU_I2C_BUS_DEV "/devices/i2c@1f,530000:devctl"
+#define	SEATTLE_PSU_DEV	\
+	"/devices/i2c@1f,530000/power-supply-fru-prom@0,%x"
+#define	SEATTLE_PSU_PLATFORM	"/platform/i2c@1f,530000"
+#define	SEATTLE_PS0_ADDR	0x6c
+#define	SEATTLE_PS1_ADDR	0x6e
+#define	SEATTLE_PS0_UNITADDR	"0,6c"
+#define	SEATTLE_PS1_UNITADDR	"0,6e"
+#define	BOSTON_PSU_I2C_BUS_DEV	"/devices/i2c@1f,520000:devctl"
+#define	BOSTON_PSU_DEV	\
+	"/devices/i2c@1f,520000/power-supply-fru-prom@0,%x"
+#define	BOSTON_PSU_PLATFORM	"/platform/i2c@1f,520000"
+#define	BOSTON_PS0_ADDR		0x24
+#define	BOSTON_PS1_ADDR		0x32
+#define	BOSTON_PS2_ADDR		0x52
+#define	BOSTON_PS3_ADDR		0x72
+#define	BOSTON_PS0_UNITADDR	"0,24"
+#define	BOSTON_PS1_UNITADDR	"0,32"
+#define	BOSTON_PS2_UNITADDR	"0,52"
+#define	BOSTON_PS3_UNITADDR	"0,72"
+
+/*
  * disk defines
  */
 #define	REMOK_LED "OK2RM"
@@ -166,6 +213,17 @@
 #define	V440_DISK_DEVCTL "/devices/pci@1f,700000/scsi@2:devctl"
 
 /*
+ * Seattle/Boston disk defines
+ */
+#define	N_SEATTLE1U_DISKS	2
+#define	N_SEATTLE2U_DISKS	4
+#define	N_BOSTON_DISKS		8
+#define	SEATTLE_DISK_DEVCTL \
+	"/devices/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1:devctl"
+#define	BOSTON_DISK_DEVCTL \
+	"/devices/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1:devctl"
+
+/*
  * led defines
  */
 #define	ENXS_LED_DIR	"/devices/pci@1e,600000/isa@7/i2c@0,320/"
@@ -178,6 +236,20 @@
 #define	V440_LED_DIR	"/devices/pci@1e,600000/isa@7/i2c@0,320/"
 #define	V440_LED_PATH	V440_LED_DIR "gpio@0,48:port_0"
 
+/*
+ * Seattle/Boston led defines
+ */
+#define	SEATTLE_LED_DEV	"/devices/ebus@1f,464000/env-monitor@3,0:env-monitor0"
+#define	BOSTON_LED_DIR	"/devices/i2c@1f,520000/"
+#define	BOSTON_FRONT_LED_PATH	BOSTON_LED_DIR "gpio@0,3a:port_0"
+#define	BOSTON_REAR_LED_PATH	BOSTON_LED_DIR "hardware-monitor@0,5c:adm1026"
+
+/*
+ * Seattle/Boston USB defines
+ */
+#define	MAX_USB_PORTS		4
+#define	USB_CONF_FILE_NAME	"usb-a-"
+
 typedef struct id_props {
 	envmon_handle_t	envhandle;
 	picl_prophdl_t	volprop;
@@ -287,6 +359,9 @@
 #define	PLAT_EN19	3
 #define	PLAT_CHALUPA19	4
 #define	PLAT_SALSA19	5
+#define	PLAT_SEATTLE1U	6
+#define	PLAT_SEATTLE2U	7
+#define	PLAT_BOSTON	8
 
 static int sys_platform;
 
@@ -309,6 +384,12 @@
 		sys_platform = PLAT_SALSA19;
 	else if (strcmp(platform, "SUNW,Netra-440") == 0)
 		sys_platform = PLAT_CHALUPA19;
+	else if (strcmp(platform, "SUNW,Sun-Fire-V215") == 0)
+		sys_platform = PLAT_SEATTLE1U;
+	else if (strcmp(platform, "SUNW,Sun-Fire-V245") == 0)
+		sys_platform = PLAT_SEATTLE2U;
+	else if (strcmp(platform, "SUNW,Sun-Fire-V445") == 0)
+		sys_platform = PLAT_BOSTON;
 	else
 		sys_platform = PLAT_UNKNOWN;
 }
@@ -534,6 +615,99 @@
 	(void) close(fd);
 }
 
+/*
+ * Function for explicitly turning on system leds
+ * for a failed/degraded RMC (SC) on Seattle
+ */
+static void
+seattle_setleds(void)
+{
+	int fd;
+
+	fd = open(SEATTLE_LED_DEV, O_RDWR);
+
+	if (fd < 0)
+		return;
+
+	ioctl(fd, EPIC_SET_POWER_LED, (char *)0);
+	ioctl(fd, EPIC_SET_ALERT_LED, (char *)0);
+	(void) close(fd);
+}
+
+/*
+ * Function for explicitly turning on the front system leds
+ * for a failed/degraded RMC (SC) on Boston
+ */
+static void
+boston_set_frontleds(const char *led_path, int leds)
+{
+	i2c_gpio_t	gpio;
+	int		fd = open(led_path, O_RDWR);
+
+	if (fd < 0) {
+		return;
+	}
+
+	/* first clear the polarity */
+	gpio.reg_val  = BOSTON_FRONT_CLEAR_POL;
+	gpio.reg_mask = BOSTON_FRONT_LED_MASK;
+	if (ioctl(fd, GPIO_SET_POLARITY, &gpio) < 0)	{
+		(void) close(fd);
+		return;
+	}
+
+	/* now clear the direction */
+	gpio.reg_val  = BOSTON_FRONT_CLEAR_DIR;
+	gpio.reg_mask = BOSTON_FRONT_LED_MASK;
+	if (ioctl(fd, GPIO_SET_CONFIG, &gpio) < 0)	{
+		(void) close(fd);
+		return;
+	}
+
+	/* and light the leds */
+	gpio.reg_val = leds;
+	gpio.reg_mask = BOSTON_FRONT_LED_MASK;
+	ioctl(fd, GPIO_SET_OUTPUT, &gpio);
+	(void) close(fd);
+}
+
+/*
+ * Function for explicitly turning on the rear system leds
+ * for a failed/degraded RMC (SC) on Boston
+ */
+static void
+boston_set_rearleds(const char *led_path, int leds)
+{
+	i2c_gpio_t	gpio;
+	int		fd = open(led_path, O_RDWR);
+
+	if (fd < 0) {
+		return;
+	}
+
+	/* first clear the polarity */
+	gpio.reg_val  = BOSTON_REAR_CLEAR_POL;
+	gpio.reg_mask = BOSTON_REAR_LED_MASK;
+	if (ioctl(fd, GPIO_SET_POLARITY, &gpio) < 0)	{
+		(void) close(fd);
+		return;
+	}
+
+	/* now set the direction */
+	gpio.reg_val  = BOSTON_REAR_LED_MASK;
+	gpio.reg_mask = BOSTON_REAR_LED_MASK;
+	if (ioctl(fd, GPIO_SET_CONFIG, &gpio) < 0)	{
+		(void) close(fd);
+		return;
+	}
+
+	/* and light the leds */
+	gpio.reg_val = leds;
+	gpio.reg_mask = BOSTON_REAR_LED_MASK;
+	ioctl(fd, GPIO_SET_OUTPUT, &gpio);
+	(void) close(fd);
+}
+
 static void
 rmc_state_event(void)
 {
@@ -596,6 +770,18 @@
 			solaris_setleds(V440_LED_PATH,
 			    V440_SRVC_LED | V440_ACT_LED);
 			break;
+		case PLAT_BOSTON:
+			/* set front leds */
+			boston_set_frontleds(BOSTON_FRONT_LED_PATH,
+			    BOSTON_FRONT_SRVC_LED | BOSTON_FRONT_ACT_LED);
+			/* and then the rear leds */
+			boston_set_rearleds(BOSTON_REAR_LED_PATH,
+			    BOSTON_REAR_SRVC_LED | BOSTON_REAR_ACT_LED);
+			break;
+		case PLAT_SEATTLE1U:
+		case PLAT_SEATTLE2U:
+			seattle_setleds();
+			break;
 		default:
 			break;
 		}
@@ -1042,7 +1228,20 @@
 	int			res;
 	char			unit_addr[PICL_UNITADDR_LEN_MAX];
 
-	if (ptree_get_node_by_path(PSU_PLATFORM, &parent_hdl) != PICL_SUCCESS)
+	switch (sys_platform) {
+	case PLAT_SEATTLE1U:
+	case PLAT_SEATTLE2U:
+		res = ptree_get_node_by_path(SEATTLE_PSU_PLATFORM, &parent_hdl);
+		break;
+	case PLAT_BOSTON:
+		res = ptree_get_node_by_path(BOSTON_PSU_PLATFORM, &parent_hdl);
+		break;
+	default:
+		res = ptree_get_node_by_path(PSU_PLATFORM, &parent_hdl);
+		break;
+	}
+
+	if (res != PICL_SUCCESS)
 		return;
 	/*
 	 * seeprom nodes sit below this node,
@@ -1153,9 +1352,25 @@
 			(strncmp(ap_id, PS_NAME, PS_NAME_LEN) == 0)) {
 			sprintf_buf2(path, CHASSIS_LOC_PATH,
 				ps_apid_to_nodename(ap_id));
+		} else	if (strncmp(ap_id, DISK_NAME, DISK_NAME_LEN) == 0) {
+			switch (sys_platform)	{
+			case PLAT_SEATTLE1U:
+				sprintf_buf2(path, SEATTLE1U_HDDBP_PATH, ap_id);
+				break;
+			case PLAT_SEATTLE2U:
+				sprintf_buf2(path, SEATTLE2U_HDDBP_PATH, ap_id);
+				break;
+			case PLAT_BOSTON:
+				sprintf_buf2(path, BOSTON_HDDBP_PATH, ap_id);
+				break;
+			default:
+				sprintf_buf2(path, CHASSIS_LOC_PATH, ap_id);
+				break;
+			}
+		} else	{
+			sprintf_buf2(path, CHASSIS_LOC_PATH, ap_id);
+
 		}
-		else
-			sprintf_buf2(path, CHASSIS_LOC_PATH, ap_id);
 	}
 
 	if (ptree_get_node_by_path(path, &locnodeh) != PICL_SUCCESS) {
@@ -1335,6 +1550,7 @@
 	char			*ptr;
 	char			*ptr2;
 	int			done = B_FALSE;
+	int			i;
 
 	if (strcmp(ename, PICLEVENT_SYSEVENT_DEVICE_ADDED) != 0)
 		return;
@@ -1373,50 +1589,67 @@
 	 *	"/pci@1e,600000/usb@a/device@2/mouse@0"
 	 * reduce it to "usb-a-2"
 	 */
-	ptr = fru_name;
-	if (*ptr == '/') {
-		ptr++;
-		ptr = strchr(ptr, '/');
-		if (ptr != NULL) {
+	if ((sys_platform == PLAT_SEATTLE1U) ||
+	    (sys_platform == PLAT_SEATTLE2U) ||
+	    (sys_platform == PLAT_BOSTON)) {
+		for (i = 0; i < MAX_USB_PORTS; i++) {
+			sprintf(fru_name, "%s%d", USB_CONF_FILE_NAME, i+1);
+			if (get_config_file(path, fru_name) == 0) {
+				if ((ptree_get_root(&rooth) != PICL_SUCCESS) ||
+				    (picld_pluginutil_parse_config_file(rooth,
+				    path) != PICL_SUCCESS)) {
+					syslog(LOG_ERR, PARSE_CONF_FAIL, path);
+				}
+			}
+		}
+	} else {
+		ptr = fru_name;
+		if (*ptr == '/') {
 			ptr++;
-			(void) memmove(fru_name, ptr, strlen(ptr) + 1);
-			ptr = strchr(fru_name, '@');
+			ptr = strchr(ptr, '/');
 			if (ptr != NULL) {
-				*ptr = '-';
 				ptr++;
-				ptr = strchr(ptr, '/');
+				(void) memmove(fru_name, ptr, strlen(ptr) + 1);
+				ptr = strchr(fru_name, '@');
 				if (ptr != NULL) {
 					*ptr = '-';
 					ptr++;
-					ptr2 = ptr;
-					ptr = strchr(ptr, '@');
+					ptr = strchr(ptr, '/');
 					if (ptr != NULL) {
+						*ptr = '-';
 						ptr++;
-						(void) memmove(ptr2, ptr,
-						    strlen(ptr) + 1);
-						ptr2 = strchr(ptr2, '/');
-						if (ptr2 != NULL) {
-							*ptr2 = '\0';
+						ptr2 = ptr;
+						ptr = strchr(ptr, '@');
+						if (ptr != NULL) {
+							ptr++;
+							(void) memmove(ptr2,
+							    ptr, strlen(ptr)+1);
+							ptr2 = strchr(ptr2,
+							    '/');
+							if (ptr2 != NULL) {
+								*ptr2 = '\0';
+							}
+							done = B_TRUE;
 						}
-						done = B_TRUE;
 					}
 				}
 			}
 		}
-	}
-	if (done == B_FALSE) {
-		free(fru_name);
-		return;
-	}
+		if (done == B_FALSE) {
+			free(fru_name);
+			return;
+		}
 
-	/*
-	 * see if there's a .conf file for this fru
-	 */
-	if (get_config_file(path, fru_name) == 0) {
-		if ((ptree_get_root(&rooth) != PICL_SUCCESS) ||
-		    (picld_pluginutil_parse_config_file(rooth, path) !=
-		    PICL_SUCCESS)) {
-			syslog(LOG_ERR, PARSE_CONF_FAIL, path);
+		/*
+		 * see if there's a .conf file for this fru
+		 */
+
+		if (get_config_file(path, fru_name) == 0) {
+			if ((ptree_get_root(&rooth) != PICL_SUCCESS) ||
+			    (picld_pluginutil_parse_config_file(rooth, path) !=
+			    PICL_SUCCESS)) {
+				syslog(LOG_ERR, PARSE_CONF_FAIL, path);
+			}
 		}
 	}
 
@@ -1439,9 +1672,28 @@
 	char			class[PICL_PROPNAMELEN_MAX];
 
 	/* find the location node */
-	sprintf_buf2(path, CHASSIS_LOC_PATH, name);
-	if (ptree_get_node_by_path(path, &locnodeh) != PICL_SUCCESS)
+	switch (sys_platform)	{
+	case PLAT_CHALUPA:
+	case PLAT_CHALUPA19:
+		sprintf_buf2(path, CHASSIS_LOC_PATH, name);
+		break;
+	case PLAT_SEATTLE1U:
+		sprintf_buf2(path, SEATTLE1U_HDDBP_PATH, name);
+		break;
+	case PLAT_SEATTLE2U:
+		sprintf_buf2(path, SEATTLE2U_HDDBP_PATH, name);
+		break;
+	case PLAT_BOSTON:
+		sprintf_buf2(path, BOSTON_HDDBP_PATH, name);
+		break;
+	default:
+		sprintf_buf2(path, CHASSIS_LOC_PATH, name);
+		break;
+	}
+
+	if (ptree_get_node_by_path(path, &locnodeh) != PICL_SUCCESS)	{
 		return (PICL_FAILURE);
+	}
 
 	/*
 	 * if no fru node, then turn led off
@@ -1759,7 +2011,6 @@
 		    (hpu.next_id.name[0] != '\0')) {
 			hpu.id = hpu.next_id;
 			res = ioctl(fd, ENVMONIOCHPU, &hpu);
-
 			if ((res == 0) &&
 			    ((hpu.sensor_status & ENVMON_NOT_PRESENT) == 0)) {
 				add_op_status(&hpu, &index);
@@ -1874,7 +2125,25 @@
 	int err;
 	char path[MAXPATHLEN];
 
-	sprintf_buf2(path, CHASSIS_LOC_PATH, fruname);
+	switch (sys_platform)	{
+	case PLAT_CHALUPA:
+	case PLAT_CHALUPA19:
+		sprintf_buf2(path, CHASSIS_LOC_PATH, fruname);
+		break;
+	case PLAT_SEATTLE1U:
+		sprintf_buf2(path, SEATTLE1U_HDDBP_PATH, fruname);
+		break;
+	case PLAT_SEATTLE2U:
+		sprintf_buf2(path, SEATTLE2U_HDDBP_PATH, fruname);
+		break;
+	case PLAT_BOSTON:
+		sprintf_buf2(path, BOSTON_HDDBP_PATH, fruname);
+		break;
+	default:
+		sprintf_buf2(path, CHASSIS_LOC_PATH, fruname);
+		break;
+	}
+
 	if (ptree_get_node_by_path(path, &slotndh) != PICL_SUCCESS) {
 		return;
 	}
@@ -1918,106 +2187,106 @@
 	}
 }
 
+/*
+ * We will light the OK2REMOVE LED for disks configured
+ * into a raid if (and only if) the driver reports
+ * that the disk has failed.
+ */
 static int
-get_raid_config(raid_config_t *config)
+raid_ok2rem_policy(raid_config_t config, int target)
 {
+	int i;
+
+	for (i = 0; i < config.ndisks; i++) {
+		int d = config.disk[i];
+		int dstatus = config.diskstatus[i];
+
+		if (d  == target)	{
+			switch (dstatus) {
+			case RAID_DISKSTATUS_MISSING:
+				/* If LED is on, turn it off */
+				if (disk_ready[d] == B_FALSE) {
+					if (set_led(disk_name[d], REMOK_LED,
+					    PICL_PROPVAL_OFF) == PICL_SUCCESS) {
+						disk_ready[d] = B_TRUE;
+					}
+				}
+			break;
+			case RAID_DISKSTATUS_GOOD:
+				if (disk_ready[d] != B_TRUE) {
+					if (set_led(disk_name[d], REMOK_LED,
+					    PICL_PROPVAL_OFF) == PICL_SUCCESS) {
+						disk_ready[d] = B_TRUE;
+					}
+				}
+			break;
+			case RAID_DISKSTATUS_FAILED:
+				if (disk_ready[d] != B_FALSE) {
+					if (set_led(disk_name[d], REMOK_LED,
+					PICL_PROPVAL_ON) == PICL_SUCCESS) {
+						disk_ready[d] = B_FALSE;
+					}
+				}
+			break;
+			default:
+			break;
+			}
+			return (1);
+		}
+	}
+	return (0);
+}
+
+static int
+check_raid(int target)
+{
+	raid_config_t	config;
 	int	fd;
+	int	numvols;
+	int	i, j;
 
 	switch (sys_platform) {
 	case PLAT_CHALUPA:
 	case PLAT_CHALUPA19:
 		fd = open(V440_DISK_DEVCTL, O_RDONLY);
 		break;
+	case PLAT_SEATTLE1U:
+	case PLAT_SEATTLE2U:
+		fd = open(SEATTLE_DISK_DEVCTL, O_RDONLY);
+		break;
+	case PLAT_BOSTON:
+		fd = open(BOSTON_DISK_DEVCTL, O_RDONLY);
+		break;
 	default:
 		fd = -1;
 		break;
 	}
 
 	if (fd == -1) {
-		syslog(LOG_ERR, "%s", strerror(errno));
-		return (1);
+		return (0);
+	}
+
+	if (ioctl(fd, RAID_NUMVOLUMES, &numvols)) {
+		(void) close(fd);
+		return (0);
 	}
 
-	/*
-	 * We are running on chalupa, so we know just a single
-	 * RAID volume is supported. We can go ahead and
-	 * explicitly request the unitid 0 RAID volume.
-	 */
-	config->unitid = 0;
-	if (ioctl(fd, RAID_GETCONFIG, config)) {
-		syslog(LOG_ERR, "%s", strerror(errno));
-		(void) close(fd);
-		return (1);
+	for (i = 0; i < numvols; i++)	{
+		config.unitid = i;
+		if (ioctl(fd, RAID_GETCONFIG, &config)) {
+			(void) close(fd);
+			return (0);
+		}
+		if (raid_ok2rem_policy(config, target))	{
+			(void) close(fd);
+			return (1);
+		}
 	}
 
 	(void) close(fd);
 	return (0);
 }
 
-/*
- * We will light the OK2REMOVE LED for disks configured
- * into a raid if (and only if) the driver reports
- * that the disk has failed.
- */
-static void
-raid_ok2rem_policy(raid_config_t config)
-{
-	int i;
-	for (i = 0; i < config.ndisks; i++) {
-		int d = config.disk[i];
-		int dstatus = config.diskstatus[i];
-
-		switch (dstatus) {
-		case RAID_DISKSTATUS_MISSING:
-			/* If LED is on, turn it off */
-			if (disk_ready[d] == B_FALSE) {
-				if (set_led(disk_name[d], REMOK_LED,
-				    PICL_PROPVAL_OFF) == PICL_SUCCESS) {
-					disk_ready[d] = B_TRUE;
-				}
-			}
-		break;
-		case RAID_DISKSTATUS_GOOD:
-			if (disk_ready[d] != B_TRUE) {
-				if (set_led(disk_name[d], REMOK_LED,
-				    PICL_PROPVAL_OFF) == PICL_SUCCESS) {
-					disk_ready[d] = B_TRUE;
-				}
-			}
-		break;
-		case RAID_DISKSTATUS_FAILED:
-			if (disk_ready[d] != B_FALSE) {
-				if (set_led(disk_name[d], REMOK_LED,
-					PICL_PROPVAL_ON) == PICL_SUCCESS) {
-					disk_ready[d] = B_FALSE;
-				}
-			}
-		break;
-		default:
-		break;
-		}
-	}
-}
-
-static void
-check_raid(int *d0, int *d1)
-{
-	raid_config_t	raid_config;
-	int	raid_exists = 0;
-
-	if (!get_raid_config(&raid_config)) {
-		raid_exists = raid_config.ndisks;
-	} else {
-		return;
-	}
-
-	if (raid_exists) {
-		*d0 = raid_config.disk[0];
-		*d1 = raid_config.disk[1];
-		raid_ok2rem_policy(raid_config);
-	}
-}
-
 /*ARGSUSED*/
 static void *
 disk_leds_thread(void *args)
@@ -2063,6 +2332,24 @@
 		"/pci@1c,600000/LSILogic,sas@1/sd@1,0"
 	};
 
+	static char *seattle_devs[] = {
+		"/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0",
+		"/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0",
+		"/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@2,0",
+		"/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@3,0"
+	};
+
+	static char *boston_devs[] = {
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@0,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@1,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@2,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@3,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@4,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@5,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@6,0",
+		"/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@7,0"
+	};
+
 	char	*ddev[N_DISKS];		/* "/devices"  */
 	char	*pdev[N_DISKS];		/* "/platform" */
 
@@ -2085,6 +2372,20 @@
 		n_disks = N_EN19_DISKS;
 		break;
 
+	case PLAT_SEATTLE1U:
+	case PLAT_SEATTLE2U:
+		do_raid = 1;
+		disk_dev = seattle_devs;
+		n_disks = (sys_platform == PLAT_SEATTLE1U) ?
+			N_SEATTLE1U_DISKS : N_SEATTLE2U_DISKS;
+		break;
+
+	case PLAT_BOSTON:
+		do_raid = 1;
+		disk_dev = boston_devs;
+		n_disks = N_BOSTON_DISKS;
+		break;
+
 	default: /* PLAT_ENXS/PLAT_EN19 */
 		disk_dev = mpxu_devs;
 		n_disks = (sys_platform == PLAT_EN19) ?
@@ -2106,22 +2407,14 @@
 	disk_leds_thread_running = B_TRUE;
 
 	for (;;) {
-		int rdsk0 = -1;
-		int rdsk1 = -1;
-
-		if (do_raid)
-			check_raid(&rdsk0, &rdsk1);
-
 		for (i = 0; i < n_disks; i++) {
 			/*
-			 * If it's one of the raid disks, we have already
+			 * If it's one of the RAID disks, we have already
 			 * applied the ok2remove policy.
-			 * If there was no raid, rdskN will be -1 and
-			 * so the check will fail and the default
-			 * okay2remove policy will be applied.
 			 */
-			if (i == rdsk0 || i == rdsk1)
+			if (do_raid && check_raid(i))	{
 				continue;
+			}
 
 			dhdl = devctl_device_acquire(ddev[i], 0);
 			devctl_device_getstate(dhdl, &statep);
@@ -2182,17 +2475,54 @@
 {
 	int ps_addr = 0;
 	if ((strcmp(name, PS0_NAME) == 0) ||
-		(strcmp(name, PSU0_NAME) == 0))
-		ps_addr = PS0_ADDR;
-	else if ((strcmp(name, PS1_NAME) == 0) ||
-		(strcmp(name, PSU1_NAME) == 0))
-		ps_addr = PS1_ADDR;
-	else if ((strcmp(name, PS2_NAME) == 0) ||
-		(strcmp(name, PSU2_NAME) == 0))
-		ps_addr = PS2_ADDR;
-	else if ((strcmp(name, PS3_NAME) == 0) ||
-		(strcmp(name, PSU3_NAME) == 0))
-		ps_addr = PS3_ADDR;
+		(strcmp(name, PSU0_NAME) == 0))	{
+		switch (sys_platform) {
+		case PLAT_SEATTLE1U:
+		case PLAT_SEATTLE2U:
+			ps_addr = SEATTLE_PS0_ADDR;
+			break;
+		case PLAT_BOSTON:
+			ps_addr = BOSTON_PS0_ADDR;
+			break;
+		default:
+			ps_addr = PS0_ADDR;
+			break;
+		}
+	} else if ((strcmp(name, PS1_NAME) == 0) ||
+		(strcmp(name, PSU1_NAME) == 0))	{
+		switch (sys_platform) {
+		case PLAT_SEATTLE1U:
+		case PLAT_SEATTLE2U:
+			ps_addr = SEATTLE_PS1_ADDR;
+			break;
+		case PLAT_BOSTON:
+			ps_addr = BOSTON_PS1_ADDR;
+			break;
+		default:
+			ps_addr = PS1_ADDR;
+			break;
+		}
+	} else if ((strcmp(name, PS2_NAME) == 0) ||
+		(strcmp(name, PSU2_NAME) == 0))	{
+		switch (sys_platform) {
+		case PLAT_BOSTON:
+			ps_addr = BOSTON_PS2_ADDR;
+			break;
+		default:
+			ps_addr = PS2_ADDR;
+			break;
+		}
+	} else if ((strcmp(name, PS3_NAME) == 0) ||
+		(strcmp(name, PSU3_NAME) == 0))	{
+		switch (sys_platform) {
+		case PLAT_BOSTON:
+			ps_addr = BOSTON_PS3_ADDR;
+			break;
+		default:
+			ps_addr = PS3_ADDR;
+			break;
+		}
+	}
 
 	return (ps_addr);
 }
@@ -2205,14 +2535,51 @@
 {
 	char *unitaddr;
 
-	if (strcmp(name, PS0_NAME) == 0)
-		unitaddr = PS0_UNITADDR;
-	else if (strcmp(name, PS1_NAME) == 0)
-		unitaddr = PS1_UNITADDR;
-	else if (strcmp(name, PS2_NAME) == 0)
-		unitaddr = PS2_UNITADDR;
-	else if (strcmp(name, PS3_NAME) == 0)
-		unitaddr = PS3_UNITADDR;
+	if (strcmp(name, PS0_NAME) == 0)	{
+		switch (sys_platform) {
+		case PLAT_SEATTLE1U:
+		case PLAT_SEATTLE2U:
+			unitaddr = SEATTLE_PS0_UNITADDR;
+			break;
+		case PLAT_BOSTON:
+			unitaddr = BOSTON_PS0_UNITADDR;
+			break;
+		default:
+			unitaddr = PS0_UNITADDR;
+			break;
+		}
+	} else if (strcmp(name, PS1_NAME) == 0)	{
+		switch (sys_platform) {
+		case PLAT_SEATTLE1U:
+		case PLAT_SEATTLE2U:
+			unitaddr = SEATTLE_PS1_UNITADDR;
+			break;
+		case PLAT_BOSTON:
+			unitaddr = BOSTON_PS1_UNITADDR;
+			break;
+		default:
+			unitaddr = PS1_UNITADDR;
+			break;
+		}
+	} else if (strcmp(name, PS2_NAME) == 0)	{
+		switch (sys_platform) {
+		case PLAT_BOSTON:
+			unitaddr = BOSTON_PS2_UNITADDR;
+			break;
+		default:
+			unitaddr = PS2_UNITADDR;
+			break;
+		}
+	} else if (strcmp(name, PS3_NAME) == 0)	{
+		switch (sys_platform) {
+		case PLAT_BOSTON:
+			unitaddr = BOSTON_PS3_UNITADDR;
+			break;
+		default:
+			unitaddr = PS3_UNITADDR;
+			break;
+		}
+	}
 	else
 		unitaddr = NULL;
 
@@ -2262,7 +2629,19 @@
 	nd_reg[0] = 0;
 	nd_reg[1] = ps_name_to_addr(ap_id);
 
-	bus_hdl = devctl_bus_acquire(PSU_I2C_BUS_DEV, 0);
+	switch (sys_platform) {
+	case PLAT_SEATTLE1U:
+	case PLAT_SEATTLE2U:
+		bus_hdl = devctl_bus_acquire(SEATTLE_PSU_I2C_BUS_DEV, 0);
+		break;
+	case PLAT_BOSTON:
+		bus_hdl = devctl_bus_acquire(BOSTON_PSU_I2C_BUS_DEV, 0);
+		break;
+	default:
+		bus_hdl = devctl_bus_acquire(PSU_I2C_BUS_DEV, 0);
+		break;
+	}
+
 	if (bus_hdl == NULL)
 		return (DDI_FAILURE);
 
@@ -2294,7 +2673,19 @@
 	devctl_hdl_t	dev_hdl;
 	char	buf[MAXPATHLEN];
 
-	sprintf_buf2(buf, PSU_DEV, ps_name_to_addr(ap_id));
+	switch (sys_platform) {
+	case PLAT_SEATTLE1U:
+	case PLAT_SEATTLE2U:
+		sprintf_buf2(buf, SEATTLE_PSU_DEV, ps_name_to_addr(ap_id));
+		break;
+	case PLAT_BOSTON:
+		sprintf_buf2(buf, BOSTON_PSU_DEV, ps_name_to_addr(ap_id));
+		break;
+	default:
+		sprintf_buf2(buf, PSU_DEV, ps_name_to_addr(ap_id));
+		break;
+	}
+
 	dev_hdl = devctl_device_acquire(buf, 0);
 	if (dev_hdl == NULL) {
 		return;
@@ -2325,7 +2716,7 @@
 		PS_NAME_LEN) == 0);
 	disk_flag = (strncmp(hpu->id.name, DISK_NAME,
 		DISK_NAME_LEN) == 0);
-	if (rmc_flag || ps_flag || disk_flag) {
+	if (rmc_flag || ps_flag) {
 		idprop->idp[*index].envhandle = hpu->id;
 		flag = rmc_flag && ((sys_platform != PLAT_CHALUPA) &&
 			(sys_platform != PLAT_CHALUPA19));
@@ -2333,7 +2724,32 @@
 			flag ? SYS_BOARD_PATH : CHASSIS_LOC_PATH, ps_flag ?
 			ps_apid_to_nodename(hpu->id.name) : hpu->id.name);
 
-	add_op_status_by_name(node_name, disk_flag ? DISK_FRU_NAME :
-		ps_flag ? PS_FRU_NAME : NULL, &idprop->idp[(*index)++].volprop);
+		add_op_status_by_name(node_name, ps_flag ? PS_FRU_NAME : NULL,
+			&idprop->idp[(*index)++].volprop);
+	} else if (disk_flag)	{
+		idprop->idp[*index].envhandle = hpu->id;
+		switch (sys_platform)	{
+		case PLAT_CHALUPA:
+		case PLAT_CHALUPA19:
+			sprintf_buf2(node_name, CHASSIS_LOC_PATH, hpu->id.name);
+			break;
+		case PLAT_SEATTLE1U:
+			sprintf_buf2(node_name, SEATTLE1U_HDDBP_PATH, \
+				hpu->id.name);
+			break;
+		case PLAT_SEATTLE2U:
+			sprintf_buf2(node_name, SEATTLE2U_HDDBP_PATH, \
+				hpu->id.name);
+			break;
+		case PLAT_BOSTON:
+			sprintf_buf2(node_name, BOSTON_HDDBP_PATH, \
+				hpu->id.name);
+			break;
+		default:
+			sprintf_buf2(node_name, SYS_BOARD_PATH, hpu->id.name);
+			break;
+		}
+		add_op_status_by_name(node_name, DISK_FRU_NAME,
+			&idprop->idp[(*index)++].volprop);
 	}
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,50 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/Makefile
+#
+
+SUBDIRS=	devtree frutree frudata frudr envmon .WAIT
+
+MSGSUBDIRS=	frudr
+
+all :=		TARGET= all
+install :=	TARGET= install
+clean :=	TARGET= clean
+clobber :=	TARGET= clobber
+lint :=		TARGET= lint
+
+.KEEP_STATE:
+
+all install clean clobber lint: $(SUBDIRS)
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/devtree/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,78 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+ 
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/devtree/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V215
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONF=           picldevtree.conf picl_asr.conf
+ROOTCONF=       $(CONF:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all: 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/devtree/picl_asr.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,75 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/devtree/picl_asr.conf
+#
+# Platform specific .conf file for picldevtree plug-in
+#
+
+dimm0	memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=0
+dimm0	memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm0	memory-module		unused		/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=1
+dimm1   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=0
+dimm1   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm1   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=0/memory-module	I?ID=1
+dimm2   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=1
+dimm2   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm2   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=1
+dimm3   memory-module-group	unused		/memory-controller@0,0/memory-module-group			I?ID=1
+dimm3   memory-module		unused		/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm3   memory-module		disabled	/memory-controller@0,0/memory-module-group?ID=1/memory-module	I?ID=1
+dimm4	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=0
+dimm4	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm4	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=1
+dimm5	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=0
+dimm5	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=0
+dimm5	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=0/memory-module	I?ID=1
+dimm6	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=1
+dimm6	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm6	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=1
+dimm7	memory-module-group	unused		/memory-controller@1,0/memory-module-group			I?ID=1
+dimm7	memory-module		unused		/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=0
+dimm7	memory-module		disabled	/memory-controller@1,0/memory-module-group?ID=1/memory-module	I?ID=1
+pci0	picl			disabled	/pci@1e,600000/pci@0/unknown@8					I?DeviceID=8
+pci1	picl			disabled	/pci@1e,600000/pci@0/pci@9/pci@0/unknown@8			I?DeviceID=8
+pci1	picl			disabled	/pci@1f,700000/unknown@0 					I?DeviceID=0
+pci1	picl			disabled	/pci@1f,700000/pci@0/unknown@8 					I?DeviceID=8
+pci2	picl			disabled	/pci@1e,600000/pci@0/unknown@2					I?DeviceID=2
+pci3	picl			disabled	/pci@1f,700000/pci@0/unknown@2					I?DeviceID=2
+pci3	picl			disabled	/pci@1f,700000/pci@0/unknown@9					I?DeviceID=9
+riser-left	picl		disabled	/pci@1f,700000/unknown@0 					I?DeviceID=0
+ide	ide			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/ide@1f				I?DeviceID=1f
+usb  	usb			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/usb@1c				I?DeviceID=1c
+usb 	usb			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/usb@1c,1			I?DeviceID=1c,1
+usb 	usb			disabled	/pci@1e,600000/pci@0/pci@1/pci@0/usb@1c,1/hub@3			I?DeviceID=3
+net0&1	network			disabled	/pci@1e,600000/pci@0/pci@9/pci@0/network@4			I?DeviceID=2
+net0&1	network			disabled	/pci@1e,600000/pci@0/pci@9/pci@0/network@4,1			I?DeviceID=2
+net2&3	network			disabled	/pci@1e,600000/pci@0/pci@a/pci@0/network@4			I?DeviceID=2
+net2&3	network			disabled	/pci@1e,600000/pci@0/pci@a/pci@0/network@4,1			I?DeviceID=2
+scsi	scsi-2 			disabled	/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1			I?DeviceID=2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/devtree/picldevtree.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,40 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/devtree/picldevtree.conf
+#
+# Platform specific .conf file for picldevtree plug-in
+#
+power-supply-fru-prom		seeprom
+dimm-spd			seeprom
+motherboard-fru-prom		seeprom
+pdb-fru-prom			seeprom
+fiob-fru-prom			seeprom
+riser-fru-prom			seeprom
+sasbp-fru-prom			seeprom
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/envmon/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/envmon/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V215
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONFS		= piclenvmon.conf
+ROOTCONF=       $(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO=       $(CONFS:%.conf=%.info)
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all:	$(CONFS) 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+$(CONFS): $(MAININFO)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc.  All rights reserved." \
+	> $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(@:%.conf=%.info) | \
+	$(SED) -e '/^[ 	]*$$/d' >> $@
+	@$(CHMOD) 444 $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/envmon/piclenvmon.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,86 @@
+/*
+ * 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 2005 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 after
+ * it has established rmclomv nodes in /platform
+ *
+ * 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
+
+#define	RMC_COMM	/platform/ebus@1f,464000/rmc-comm@2,0
+
+/*
+ * add a node for the rmclomv leaf driver
+ */
+name:RMC_COMM
+	NODE SUNW,rmclomv service-processor
+	ENDNODE
+
+name:RMC_COMM/SUNW,rmclomv
+	PROP devfs-path string r 0 "/pseudo/rmclomv@0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudata/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,78 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+ 
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/frudata/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V215
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONF=           libpiclfrudata.conf
+ROOTCONF=       $(CONF:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all: $(CONF)
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudata/libpiclfrudata.conf	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,81 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# This file creates the FRU device paths for the FRUAccess library
+#
+
+VERSION 1.0
+
+name:/platform/i2c@1f,530000/pdb-fru-prom@0,62
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/pdb-fru-prom@0,62:pdb-fru-prom"
+
+name:/platform/i2c@1f,530000/motherboard-fru-prom@0,a2
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/motherboard-fru-prom@0,a2:motherboard-fru-prom"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,e0
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,e0:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,e2
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,e2:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,e4
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,e4:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,e6
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,e6:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,e8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,e8:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,ea
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,ea:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,ec
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,ec:dimm-spd"
+
+name:/platform/i2c@1f,530000/dimm-spd?UnitAddress=0,ee
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/dimm-spd@0,ee:dimm-spd"
+
+name:/platform/i2c@1f,530000/power-supply-fru-prom?UnitAddress=0,6c
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/power-supply-fru-prom@0,6c:power-supply-fru-prom"
+
+name:/platform/i2c@1f,530000/power-supply-fru-prom?UnitAddress=0,6e
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/power-supply-fru-prom@0,6e:power-supply-fru-prom"
+
+name:/platform/i2c@1f,530000/fiob-fru-prom@0,60
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/fiob-fru-prom@0,60:fiob-fru-prom"
+
+name:/platform/i2c@1f,530000/riser-fru-prom?UnitAddress=0,a8
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/riser-fru-prom@0,a8:riser-fru-prom"
+
+name:/platform/i2c@1f,530000/riser-fru-prom?UnitAddress=0,aa
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/riser-fru-prom@0,aa:riser-fru-prom"
+
+name:/platform/i2c@1f,530000/sasbp-fru-prom@0,64
+PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/sasbp-fru-prom@0,64:sasbp-fru-prom"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,102 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/frudr/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+VERS =		.1
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V215
+FRUDR_LINKTO_PLATFORM = SUNW,Sun-Fire-V240
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+CONFS		= fru_PS0.conf fru_PS1.conf
+CONFS		+= fru_HDD0.conf fru_HDD1.conf
+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
+ROOTCONF=	$(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO=	$(CONFS:%.conf=%.info)
+OTHERINFOS	= fru_PS0_data.info fru_PS1_data.info
+OTHERINFOS	+= fru_HDD0_data.info fru_HDD1_data.info
+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
+
+CLEANFILES =	$(LINTOUT) $(LINTLIB)
+
+.KEEP_STATE:
+
+all: $(CONFS)
+
+install:	all $(ROOTCONF); $(MAKE) $(FRUDR_LINK)
+
+$(CONFS): $(MAININFO) $(OTHERINFOS)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc. " \
+	"All rights reserved." > $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(@:%.conf=%.info) | \
+	$(SED) -e '/^[  ]*$$/d' >> $@
+	@$(CHMOD) 644 $@
+
+$(LIBLINKS):	FRC
+	$(RM) $@; $(SYMLINK) $(DYNLIB) $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+	@echo "nothing to lint"
+
+FRC:
+
+FRUDR_LINK=`cd $(ROOT_PLATFORM)/lib/picl/plugins/; \
+rm -f libpiclfrudr.so.1; \
+rm -f libpiclfrudr.so; \
+ln -s ../../../../$(FRUDR_LINKTO_PLATFORM)/lib/picl/plugins/libpiclfrudr.so.1 libpiclfrudr.so.1; \
+ln -s ../../../../$(FRUDR_LINKTO_PLATFORM)/lib/picl/plugins/libpiclfrudr.so libpiclfrudr.so;`
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/SB-tables.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,375 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * This file creates device tables for all of the fru's in the system
+ * (except for hard disk drives and power supplies.)  Each table contains
+ * one or more rows of devices, each with a reference to a particular
+ * device/sensor.
+ *
+ * This file will be #included by piclfrutree.info.  It should be included
+ * after the frutree and system hierarchies are defined.
+ */
+
+/*
+ * 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")
+
+/*
+ * add a Devices table to DVD
+ */
+name:/frutree/chassis/MB/system-board/RMD0/removable-media
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cdrom"
+	REFPROP _cdrom_ name:/platform/pci@1e,600000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+	ENDROW
+	ENDTABLE
+
+/*
+ * add Devices table for the keyswitch
+ */
+name:/frutree/chassis/SYSCTRL
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "keyswitch"
+	REFPROP _keyswitch_ name:RMCLOMV/keyswitch
+	ENDROW
+	ENDTABLE
+
+/*
+ * add Devices table for the chassis
+ */
+name:/frutree/chassis
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "chassis_serial_number"
+	REFPROP _chassis-serial-number_ name:RMCLOMV/chassis_serial_number
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the system-board
+ */
+name:/frutree/chassis/MB/system-board
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+3v3
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_v_+12v
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_t_remote
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_t_1064
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_t_fire
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_t_amb
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_locate
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_overtemp
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_psfail
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/sys_fanfail
+	ENDROW
+	ROW
+	PROP Class string r 0 "keyswitch"
+	REFPROP _keyswitch_ name:RMCLOMV/keyswitch
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the battery
+ */
+name:/frutree/chassis/MB/system-board/BATTERY/battery
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_bat_v_bat
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the service-processor
+ */
+name:/frutree/chassis/MB/system-board/SC/sc
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "service-processor"
+	REFPROP _service-processor_ name:RMCLOMV
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the front io board 
+ */
+name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/fiob_t_amb
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/FIOB/front-io-board-2
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/fiob_t_amb
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the disk back plane
+ */
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/sasbp_f0
+	ENDROW
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/sasbp_f1
+	ENDROW
+	ENDTABLE
+
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/sasbp_f0
+	ENDROW
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/sasbp_f1
+	ENDROW
+	ENDTABLE
+
+/*
+ * add a Devices table to the power distribution board
+ */
+name:/frutree/chassis/PDB
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/pdb_t_disk
+	ENDROW
+	ENDTABLE
+
+/*
+ * fru parent for DVD
+ */
+name:/platform/pci@1e,600000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/RMD0/removable-media
+
+/*
+ * fru parents for mother-board and other sensors
+ */
+name:RMCLOMV/mb_v_+3v3
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_v_+12v
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_t_remote
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_t_1064
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_t_fire
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/mb_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/sys_act
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/sys_service
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/sys_locate
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+	PROP IsLocator string r 0 "true"
+	PROP LocatorName string r 0 "system"
+	PROP LocatorOn string r 0 "blinking"
+name:RMCLOMV/sys_overtemp
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/sys_psfail
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/sys_fanfail
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+name:RMCLOMV/keyswitch
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+	PROP Label string r 0 "SYSCTRL"
+name:RMCLOMV/chassis_serial_number
+	REFPROP _fru_parent name:/frutree/chassis
+	PROP Label string r 0 "CHASSISSERIAL"
+name:RMCLOMV/pdb_t_disk
+	REFPROP _fru_parent name:/frutree/chassis/PDB/power-distribution-board
+name:RMCLOMV/fiob_t_amb
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-2
+name:RMCLOMV/mb_bat_v_bat
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/BATTERY/battery
+name:RMCLOMV/sasbp_f0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+
+name:RMCLOMV/sasbp_f1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+
+/*
+ * add Devices tables for cpu-related sensors
+ */
+name:/frutree/chassis/MB/system-board/P0/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_p0_t_core
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_p0_v_core
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/mb_p0_t_core
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu
+name:RMCLOMV/mb_p0_v_core
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu
+
+name:/frutree/chassis/MB/system-board/P1/cpu
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "cpu"
+	REFPROP _cpu_ name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+	ENDROW
+	ROW
+	PROP Class string r 0 "temperature-sensor"
+	REFPROP _temperature-sensor_ name:RMCLOMV/mb_p1_t_core
+	ENDROW
+	ROW
+	PROP Class string r 0 "voltage-sensor"
+	REFPROP _voltage-sensor_ name:RMCLOMV/mb_p1_v_core
+	ENDROW
+	ENDTABLE
+name:RMCLOMV/mb_p1_t_core
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu
+name:RMCLOMV/mb_p1_v_core
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu
+
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=1
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=0
+	ENDROW
+	ENDTABLE
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1/mem-module
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "memory-module"
+	REFPROP _memory-module_ name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=1
+	ENDROW
+	ENDTABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD0.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 HDD0
+ *
+ * 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
+
+#include "fru_HDD0_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD0_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,97 @@
+/*
+ * 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 2005 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 HDD0
+ *
+ * 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")
+
+name:DISKBP1/HDD0/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+	REFPROP _fru_parent name:DISKBP1/HDD0/disk
+name:DISKBP1/HDD0/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:DISKBP3/HDD0/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+	REFPROP _fru_parent name:DISKBP3/HDD0/disk
+name:DISKBP3/HDD0/disk
+	PROP OperationalStatus string r 0 "present"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 HDD1
+ *
+ * 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
+
+#include "fru_HDD1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,97 @@
+/*
+ * 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 2005 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 HDD1
+ *
+ * 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")
+
+name:DISKBP1/HDD1/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+	REFPROP _fru_parent name:DISKBP1/HDD1/disk
+name:DISKBP1/HDD1/disk
+	PROP OperationalStatus string r 0 "present"
+
+name:DISKBP3/HDD1/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+	REFPROP _fru_parent name:DISKBP3/HDD1/disk
+name:DISKBP3/HDD1/disk
+	PROP OperationalStatus string r 0 "present"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD2.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 HDD2
+ *
+ * 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
+
+#include "fru_HDD2_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD2_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 HDD2
+ *
+ * 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")
+
+name:DISKBP3/HDD2/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@2,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@2,0
+	REFPROP _fru_parent name:DISKBP3/HDD2/disk
+name:DISKBP3/HDD2/disk
+	PROP OperationalStatus string r 0 "present"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD3.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,76 @@
+/*
+ * 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 2005 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 HDD3
+ *
+ * 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
+
+#include "fru_HDD3_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_HDD3_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,84 @@
+/*
+ * 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 2005 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 HDD3
+ *
+ * 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")
+
+name:DISKBP3/HDD3/disk
+TABLE Devices
+ROW
+PROP Class string r 0 "block"
+REFPROP _block_ name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@3,0
+ENDROW
+ENDTABLE
+
+name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@3,0
+	REFPROP _fru_parent name:DISKBP3/HDD3/disk
+name:DISKBP3/HDD3/disk
+	PROP OperationalStatus string r 0 "present"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS0.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,86 @@
+/*
+ * 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 2005 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 PS0
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6c
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/i2c@1f,530000/power-supply-fru-prom"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,6c"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PS0_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS0_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,152 @@
+/*
+ * 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 2005 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 PS0
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS0/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6c
+TABLE Devices
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_p_pwr2
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps0_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps0_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps0_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps0_ff_fan
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_dc_ok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_ac_ok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps0_service
+ENDROW
+ENDTABLE
+
+name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6c
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+	PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/power-supply-fru-prom@0,6c:power-supply-fru-prom"
+
+name:RMCLOMV/ps0_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_p_pwr2
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_dc_ok
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_ac_ok
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
+name:RMCLOMV/ps0_service
+	REFPROP _fru_parent name:/frutree/chassis/PS0/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,86 @@
+/*
+ * 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 2005 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 PS1
+ *
+ * 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
+
+/* create a /platform node for the seeprom */
+name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6e
+	PROP binding-name string r 0 "i2c-at24c64"
+	PROP driver-name string r 0 "seeprom"
+	PROP devfs-path string r 0 "/i2c@1f,530000/power-supply-fru-prom"
+	PROP compatible string r 0 "i2c-at24c64"
+	PROP device_type string r 0 "fru-prom"
+	PROP UnitAddress string r 0 "0,6e"
+
+/* and then add /frutree node and cross-references */
+#include "fru_PS1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_PS1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,152 @@
+/*
+ * 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 2005 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 PS1
+ *
+ * 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	/* RMCLOMV */
+
+name:/frutree/chassis/PS1/power-supply
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6e
+TABLE Devices
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_p_pwr
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_p_pwr2
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_pok
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_uv
+ENDROW
+ROW
+PROP Class string r 0 "voltage-indicator"
+REFPROP _voltage-indicator_ name:RMCLOMV/ps1_ff_ov
+ENDROW
+ROW
+PROP Class string r 0 "current-indicator"
+REFPROP _current-indicator_ name:RMCLOMV/ps1_ff_oc
+ENDROW
+ROW
+PROP Class string r 0 "temperature-indicator"
+REFPROP _temperature-indicator_ name:RMCLOMV/ps1_ff_ot
+ENDROW
+ROW
+PROP Class string r 0 "fan"
+REFPROP _fan_ name:RMCLOMV/ps1_ff_fan
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_dc_ok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_ac_ok
+ENDROW
+ROW
+PROP Class string r 0 "led"
+REFPROP _led_ name:RMCLOMV/ps1_service
+ENDROW
+ENDTABLE
+
+name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6e
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+	PROP FRUDevicePath string r 0 "/devices/i2c@1f,530000/power-supply-fru-prom@0,6e:power-supply-fru-prom"
+
+name:RMCLOMV/ps1_p_pwr
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_p_pwr2
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_pok
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_uv
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_ov
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_oc
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_ot
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ff_fan
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_dc_ok
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_ac_ok
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
+name:RMCLOMV/ps1_service
+	REFPROP _fru_parent name:/frutree/chassis/PS1/power-supply
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,75 @@
+/*
+ * 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 2005 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 various PICL_FRU_ADDED events.
+ *
+ * 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
+
+#include "fru_SC_data.info"
+#include "SB-tables.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_SC_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,433 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * 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")
+
+/*
+ * There are a lot of nodes below the rmclomv node, define a shortname
+ * Likewise for disks
+ */
+#ifndef RMCLOMV
+#define	RMCLOMV	/platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+#endif
+
+#ifndef DISKBP1
+#define DISKBP1 /frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+#endif
+
+#ifndef DISKBP3
+#define DISKBP3 /frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+#endif
+
+/*
+ * add disk leds
+ */
+name:DISKBP1/HDD0
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd0_act
+	REFPROP _location_parent name:DISKBP1/HDD0
+name:RMCLOMV/hdd0_service
+	REFPROP _location_parent name:DISKBP1/HDD0
+name:RMCLOMV/hdd0_ok2rm
+	REFPROP _location_parent name:DISKBP1/HDD0
+
+name:DISKBP1/HDD1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd1_act
+	REFPROP _location_parent name:DISKBP1/HDD1
+name:RMCLOMV/hdd1_service
+	REFPROP _location_parent name:DISKBP1/HDD1
+name:RMCLOMV/hdd1_ok2rm
+	REFPROP _location_parent name:DISKBP1/HDD1
+
+name:DISKBP3/HDD0
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd0_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd0_act
+	REFPROP _location_parent name:DISKBP3/HDD0
+name:RMCLOMV/hdd0_service
+	REFPROP _location_parent name:DISKBP3/HDD0
+name:RMCLOMV/hdd0_ok2rm
+	REFPROP _location_parent name:DISKBP3/HDD0
+
+name:DISKBP3/HDD1
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd1_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd1_act
+	REFPROP _location_parent name:DISKBP3/HDD1
+name:RMCLOMV/hdd1_service
+	REFPROP _location_parent name:DISKBP3/HDD1
+name:RMCLOMV/hdd1_ok2rm
+	REFPROP _location_parent name:DISKBP3/HDD1
+
+name:DISKBP3/HDD2
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd2_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd2_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd2_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd2_act
+	REFPROP _location_parent name:DISKBP3/HDD2
+name:RMCLOMV/hdd2_service
+	REFPROP _location_parent name:DISKBP3/HDD2
+name:RMCLOMV/hdd2_ok2rm
+	REFPROP _location_parent name:DISKBP3/HDD2
+
+name:DISKBP3/HDD3
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd3_act
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd3_service
+	ENDROW
+	ROW
+	PROP Class string r 0 "led"
+	REFPROP _led_ name:RMCLOMV/hdd3_ok2rm
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/hdd3_act
+	REFPROP _location_parent name:DISKBP3/HDD3
+name:RMCLOMV/hdd3_service
+	REFPROP _location_parent name:DISKBP3/HDD3
+name:RMCLOMV/hdd3_ok2rm
+	REFPROP _location_parent name:DISKBP3/HDD3
+
+/* add disk Device tables and _fru_parent refprops */
+#include "fru_HDD0_data.info"
+#include "fru_HDD1_data.info"
+#include "fru_HDD2_data.info"
+#include "fru_HDD3_data.info"
+
+/*
+ * power supplies
+ */
+#include "fru_PS0_data.info"
+#include "fru_PS1_data.info"
+
+/*
+ * USB ports
+ */
+#include "fru_usb-a-1_data.info"
+#include "fru_usb-a-2_data.info"
+#include "fru_usb-a-3_data.info"
+#include "fru_usb-a-4_data.info"
+
+/*
+ * add tables and fru parents for system fans for 1U
+ */
+
+#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
+
+name:FCB0_1U/FT0/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft0_f0
+	ENDROW
+	ENDTABLE
+name:FCB0_1U/FT0/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft0_f1
+	ENDROW
+	ENDTABLE
+name:FCB0_1U/FT1/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft1_f0
+	ENDROW
+	ENDTABLE
+name:FCB0_1U/FT1/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft1_f1
+	ENDROW
+	ENDTABLE
+name:FCB0_1U/FT2/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft2_f0
+	ENDROW
+	ENDTABLE
+name:FCB0_1U/FT2/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft2_f1
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT3/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft3_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT3/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft3_f1
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT4/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft4_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT4/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft4_f1
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT5/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft5_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_1U/FT5/fan-tray/F1/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft5_f1
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/ft0_f0
+	REFPROP _fru_parent name:FCB0_1U/FT0/fan-tray/F0/fan-unit
+name:RMCLOMV/ft0_f1
+	REFPROP _fru_parent name:FCB0_1U/FT0/fan-tray/F1/fan-unit
+name:RMCLOMV/ft1_f0
+	REFPROP _fru_parent name:FCB0_1U/FT1/fan-tray/F0/fan-unit
+name:RMCLOMV/ft1_f1
+	REFPROP _fru_parent name:FCB0_1U/FT1/fan-tray/F1/fan-unit
+name:RMCLOMV/ft2_f0
+	REFPROP _fru_parent name:FCB0_1U/FT2/fan-tray/F0/fan-unit
+name:RMCLOMV/ft2_f1
+	REFPROP _fru_parent name:FCB0_1U/FT2/fan-tray/F1/fan-unit
+name:RMCLOMV/ft3_f0
+	REFPROP _fru_parent name:FCB1_1U/FT3/fan-tray/F0/fan-unit
+name:RMCLOMV/ft3_f1
+	REFPROP _fru_parent name:FCB1_1U/FT3/fan-tray/F1/fan-unit
+name:RMCLOMV/ft4_f0
+	REFPROP _fru_parent name:FCB1_1U/FT4/fan-tray/F0/fan-unit
+name:RMCLOMV/ft4_f1
+	REFPROP _fru_parent name:FCB1_1U/FT4/fan-tray/F1/fan-unit
+name:RMCLOMV/ft5_f0
+	REFPROP _fru_parent name:FCB1_1U/FT5/fan-tray/F0/fan-unit
+name:RMCLOMV/ft5_f1
+	REFPROP _fru_parent name:FCB1_1U/FT5/fan-tray/F1/fan-unit
+
+/*
+ * add tables and fru parents for system fans for 2U
+ */
+
+#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
+
+name:FCB0_2U/FT0/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft0_f0
+	ENDROW
+	ENDTABLE
+name:FCB0_2U/FT1/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft1_f0
+	ENDROW
+	ENDTABLE
+name:FCB0_2U/FT2/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft2_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_2U/FT3/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft3_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_2U/FT4/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft4_f0
+	ENDROW
+	ENDTABLE
+name:FCB1_2U/FT5/fan-tray/F0/fan-unit
+	TABLE Devices
+	ROW
+	PROP Class string r 0 "fan"
+	REFPROP _fan_ name:RMCLOMV/ft5_f0
+	ENDROW
+	ENDTABLE
+
+name:RMCLOMV/ft0_f0
+	REFPROP _fru_parent name:FCB0_2U/FT0/fan-tray/F0/fan-unit
+name:RMCLOMV/ft1_f0
+	REFPROP _fru_parent name:FCB0_2U/FT1/fan-tray/F0/fan-unit
+name:RMCLOMV/ft2_f0
+	REFPROP _fru_parent name:FCB0_2U/FT2/fan-tray/F0/fan-unit
+name:RMCLOMV/ft3_f0
+	REFPROP _fru_parent name:FCB1_2U/FT3/fan-tray/F0/fan-unit
+name:RMCLOMV/ft4_f0
+	REFPROP _fru_parent name:FCB1_2U/FT4/fan-tray/F0/fan-unit
+name:RMCLOMV/ft5_f0
+	REFPROP _fru_parent name:FCB1_2U/FT5/fan-tray/F0/fan-unit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-1.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB0
+ *
+ * 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
+
+#include "fru_usb-a-1_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-1_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB0
+ *
+ * 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")
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB0
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,3/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-2.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB1
+ *
+ * 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
+
+#include "fru_usb-a-2_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-2_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB1
+ *
+ * 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")
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c/picl?bus-addr=2
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB1
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,3/picl?bus-addr=2
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/USB1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-3.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB2
+ *
+ * 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
+
+#include "fru_usb-a-3_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-3_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,78 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB2
+ *
+ * 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")
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c/picl?bus-addr=3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1/USB2
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,1/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1/USB2
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,3/picl?bus-addr=3
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1/USB2
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,1/obp-device@1/picl?bus-addr=1
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-2/USB2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-4.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,74 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB3
+ *
+ * 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
+
+#include "fru_usb-a-4_data.info"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frudr/fru_usb-a-4_data.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,72 @@
+/*
+ * 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 2005 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 PICLEVENT_SYSEVENT_DEVICE_ADDED event for USB3
+ *
+ * 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")
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@1/pciex@0/usb@1c,1/obp-device@1/picl?bus-addr=2
+        REFPROP _location_parent name:/frutree/chassis/MB/system-board/FIOB/front-io-board-2/USB3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,102 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# cmd/picl/plugins/sun4u/seattle/frutree/Makefile
+#
+
+include	$(SRC)/Makefile.psm
+
+# include library definitions
+include $(SRC)/lib/Makefile.lib
+
+ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V215
+
+include	$(SRC)/cmd/picl/plugins/Makefile.com
+
+ROOTLIBDIR	= $(ROOT_PLAT_PLUGINDIR)
+ROOTLIBDIR	:= OWNER = root
+ROOTLIBDIR	:= GROUP = sys
+
+INCDIR1		= .
+INCDIR2		= ../frudr
+INCS		= -I$(INCDIR1) -I$(INCDIR2)
+CONFS		= piclfrutree.conf
+ROOTCONF	= $(CONFS:%=$(ROOTLIBDIR)/%)
+$(ROOTCONF)	:= FILEMODE = 0644
+MAININFO	= $(CONFS:%.conf=%.info)
+OTHERINFOS	= $(INCDIR1)/system-board.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD0_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD1_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD2_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_HDD3_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PS0_data.info
+OTHERINFOS	+= $(INCDIR2)/fru_PS1_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
+
+ROOTLINTDIR =   $(ROOTLIBDIR)
+
+.KEEP_STATE:
+
+SUBDIRS=
+
+all	:=	TARGET= all
+install :=	TARGET= install
+clean	:=	TARGET= clean
+clobber	:=	TARGET= clobber
+lint	:=	TARGET= lint
+
+all:	$(CONFS) 
+
+install:	$(ROOTLIBDIR) $(ROOTCONF)
+
+$(CONFS): $(MAININFO) $(OTHERINFOS)
+	@$(RM) -f $@
+	@echo "# Copyright 2005 Sun Microsystems, Inc. " \
+	"All rights reserved." > $@
+	@echo "# Use is subject to license terms." >> $@
+	@echo "# This is a generated file. #ident lines identify sources" >> $@
+	$(CPP) -P $(INCS) $(@:%.conf=%.info) | \
+	$(SED) -e '/^[ 	]*$$/d' >> $@
+	@$(CHMOD) 444 $@
+
+# include library targets
+include $(SRC)/lib/Makefile.targ
+include	$(SRC)/cmd/picl/plugins/Makefile.targ
+
+$(ROOTLINTDIR)/%: ../%
+	$(INS.file)
+
+lint:
+
+$(SUBDIRS): FRC
+	@cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/piclfrutree.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,132 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * 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")
+
+/*
+ * There are a lot of nodes below the rmclomv node, define a shortname
+ */
+#define	RMCLOMV	/platform/ebus@1f,464000/rmc-comm@2,0/SUNW,rmclomv
+
+
+VERSION 1.1
+VERBOSE 1
+NODE frutree picl
+    NODE chassis fru
+    /*
+     * SunMC physical view view_points for this platform
+     * This will get moved to a separate SunMC physical view plugin later.
+     */
+    PROP ViewPoints string r 0 "front rear side"
+	NODE MB location
+	    PROP SlotType string r 0 "system-board"
+    	    PROP Label string r 0 "MB"
+	ENDNODE
+	NODE PS0 location
+	    PROP SlotType string r 0 "power-supply"
+	    PROP Label string r 0 "PS0"
+	ENDNODE
+	REFNODE PS1 location WITH /platform?PlatformName=SUNW,Sun-Fire-V245
+	NODE PDB location 
+	    PROP SlotType string r 0 "PDB"
+	    PROP Label string r 0 "PDB"
+	ENDNODE
+	NODE SYSCTRL location	
+	    PROP Label string r 0 "SYSCTRL"
+        ENDNODE
+    ENDNODE
+ENDNODE
+
+/*
+ * add power-supply nodes if their fru-proms are visible
+ */
+name:/frutree/chassis/PS0
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6c
+name:/frutree/chassis/PS1
+	REFNODE power-supply fru WITH name:/platform/i2c@1f,530000/power-supply-fru-prom@0,6e
+
+/*
+ * add properties to 2u locations
+ */
+
+/* extra power supply */
+name:/frutree/chassis/PS1
+	PROP SlotType string r 0 "power-supply"
+	PROP Label string r 0 "PS1"
+
+/* chassis fruid prom */
+name:/frutree/chassis/PDB
+	REFNODE power-distribution-board fru WITH name:/platform/i2c@1f,530000/pdb-fru-prom@0,62
+
+name:/frutree/chassis/PDB/power-distribution-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/pdb-fru-prom@0,62
+
+name:/platform/i2c@1f,530000/pdb-fru-prom@0,62
+	REFPROP _fru_parent /frutree/chassis/PDB/power-distribution-board
+
+#include "system-board.info"
+#include <fru_SC_data.info>
+#include <SB-tables.info>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/picl/plugins/sun4u/seattle/frutree/system-board.info	Mon Dec 12 22:49:29 2005 -0800
@@ -0,0 +1,746 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident	"%Z%%M%	%I%	%E% SMI"
+ *
+ * This file creates the system board structure
+ */
+
+/*
+ * 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")
+
+/*
+ * Motherboard properties
+ */
+name:/frutree/chassis/MB
+    NODE system-board fru
+	NODE SC location
+    	    PROP Label string r 0 "SC"
+	    NODE sc fru
+	    ENDNODE
+	ENDNODE
+        NODE P0 location
+            PROP SlotType string r 0 "cpu"
+            PROP Label string r 0 "P0"
+        ENDNODE
+        NODE P1 location
+            PROP SlotType string r 0 "cpu"
+            PROP Label string r 0 "P1"
+        ENDNODE
+	NODE HDDBP location
+    	    PROP Label string r 0 "HDDBP"
+       	    REFNODE disk-backplane-1 fru WITH /platform?PlatformName=SUNW,Sun-Fire-V215
+       	    REFNODE disk-backplane-3 fru WITH /platform?PlatformName=SUNW,Sun-Fire-V245
+	ENDNODE
+        NODE RMD0 location
+            PROP SlotType string r 0 "dvd-slot"
+            PROP Label string r 0 "RMD0"
+        ENDNODE
+	NODE SCC location
+    	    PROP Label string r 0 "SCC"
+	    NODE system-config-chip fru
+	    ENDNODE
+	ENDNODE
+    	NODE RISER-RIGHT location
+    	    PROP Label string r 0 "RISER-RIGHT"
+    	ENDNODE
+    	NODE RISER-LEFT location
+    	    PROP Label string r 0 "RISER-LEFT"
+    	ENDNODE
+	NODE USB0 location
+            PROP Label string r 0 "USB0"
+        ENDNODE
+        NODE USB1 location
+            PROP Label string r 0 "USB1"
+        ENDNODE
+	NODE FIOB location
+    	    PROP Label string r 0 "FIOB"
+	    REFNODE front-io-board-1 fru WITH /platform?PlatformName=SUNW,Sun-Fire-V215
+	    REFNODE front-io-board-2 fru WITH /platform?PlatformName=SUNW,Sun-Fire-V245
+	ENDNODE
+	NODE BATTERY location
+    	    PROP Label string r 0 "BATTERY"
+	    NODE battery fru
+	    ENDNODE
+	ENDNODE
+    ENDNODE
+
+/*
+ * motherboard seeprom source
+ */
+name:/frutree/chassis/MB/system-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/motherboard-fru-prom@0,a2
+
+name:/platform/i2c@1f,530000/motherboard-fru-prom@0,a2
+	REFPROP _fru_parent /frutree/chassis/MB/system-board
+
+/*
+ * Processor 0
+ */
+name:/frutree/chassis/MB/system-board/P0
+	REFNODE cpu fru WITH name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+name:/frutree/chassis/MB/system-board/P0/cpu
+        NODE B0 location
+            PROP Label string r 0 "B0"
+            NODE bank fru
+                NODE D0 location
+                ENDNODE
+                NODE D1 location
+                ENDNODE
+            ENDNODE
+        ENDNODE
+        NODE B1 location
+            PROP Label string r 0 "B1"
+            NODE bank fru
+                NODE D0 location
+                ENDNODE
+                NODE D1 location
+                ENDNODE
+            ENDNODE
+        ENDNODE
+
+/*
+ * Processor 1
+ */
+name:/frutree/chassis/MB/system-board/P1
+	REFNODE cpu fru WITH name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+name:/frutree/chassis/MB/system-board/P1/cpu
+        NODE B0 location
+            PROP Label string r 0 "B0"
+            NODE bank fru
+                NODE D0 location
+                ENDNODE
+                NODE D1 location
+                ENDNODE
+            ENDNODE
+        ENDNODE
+        NODE B1 location
+            PROP Label string r 0 "B1"
+            NODE bank fru
+                NODE D0 location
+                ENDNODE
+                NODE D1 location
+                ENDNODE
+            ENDNODE
+        ENDNODE
+/*
+ * Processor 0 memory
+ */
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/*
+ * Processor 1 memory
+ */
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D0"
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1
+	PROP SlotType string r 0 "memory-module"
+	PROP Label string r 0 "D1"
+
+/*
+ * Dimm nodes
+ */
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,e0
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,e2
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,e4
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,e6
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,e8
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,ea
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,ec
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1
+	REFNODE mem-module fru WITH name:/platform/i2c@1f,530000/dimm-spd@0,ee
+
+/*
+ * DIMM seeprom sources
+ */
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,e0
+name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,e2
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,e4
+name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,e6
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,e8
+name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,ea
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,ec
+name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1/mem-module
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/dimm-spd@0,ee
+
+/*
+ * DIMM FRU parents
+ */
+name:/platform/i2c@1f,530000/dimm-spd@0,e0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,e2
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,e4
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,e6
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,e8
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,ea
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,ec
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0/mem-module
+name:/platform/i2c@1f,530000/dimm-spd@0,ee
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1/mem-module
+
+name:/platform/SUNW,UltraSPARC-IIIi+@0,0
+	REFPROP _fru_parent /frutree/chassis/MB/system-board/P0/cpu
+
+name:/platform/SUNW,UltraSPARC-IIIi+@1,0
+	REFPROP _fru_parent /frutree/chassis/MB/system-board/P1/cpu
+
+/*
+ * DIMM parents
+ */
+name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@0,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P0/cpu/B1/bank/D1/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D0/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=0/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B0/bank/D1/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=0
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D0/mem-module
+name:/platform/memory-controller@1,0/memory-module-group?ID=1/memory-module?ID=1
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board/P1/cpu/B1/bank/D1/mem-module
+/*
+ * create reference properties for motherboard pci devices
+ */
+_class:/jbus/pciex@1e,600000
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+_class:/jbus/pciex@1f,700000
+	REFPROP _fru_parent name:/frutree/chassis/MB/system-board
+
+/*
+ * Front IO Board 1U
+ */
+name:/frutree/chassis/MB/system-board/FIOB/front-io-board-1
+	NODE USB2 location
+	    PROP Label string r 0 "USB2"
+	ENDNODE
+	NODE FLEDB location
+	    PROP Label string r 0 "FLEDB"
+	    NODE front-led-board fru
+	    ENDNODE
+	ENDNODE
+	NODE FCB0 location
+	    PROP Label string r 0 "FCB0"
+	    NODE fan-connector-board fru
+	    ENDNODE
+	ENDNODE
+	NODE FCB1 location
+	    PROP Label string r 0 "FCB1"
+	    NODE fan-connector-board fru
+	    ENDNODE
+	ENDNODE
+
+/*
+ * Front IO Board 2U
+ */
+
+name:/frutree/chassis/MB/system-board/FIOB/front-io-board-2
+	NODE USB2 location
+	    PROP Label string r 0 "USB2"
+	ENDNODE
+	NODE USB3 location
+	    PROP Label string r 0 "USB3"
+	ENDNODE
+	NODE FLEDB location
+	    PROP Label string r 0 "FLEDB"
+	    NODE front-led-board fru
+	    ENDNODE
+	ENDNODE
+	NODE FCB0 location
+	    PROP Label string r 0 "FCB0"
+	    NODE fan-connector-board fru
+	    ENDNODE
+	ENDNODE
+	NODE FCB1 location
+	    PROP Label string r 0 "FCB1"
+	    NODE fan-connector-board fru
+	    ENDNODE
+	ENDNODE
+
+/* 
+ * Add dvdrom fru nodes for disks which are present
+ */
+name:/frutree/chassis/MB/system-board/RMD0
+	REFNODE removable-media fru WITH name:/platform/pci@1e,600000/pci@0/pci@1/pci@0/ide@1f/sd@0,0
+
+/*
+ * HDDBP
+ */
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+	NODE HDD0 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD0"
+	ENDNODE
+	NODE HDD1 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD1"
+	ENDNODE
+
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/sasbp-fru-prom@0,64
+
+name:/platform/i2c@1f,530000/sasbp-fru-prom@0,64
+	REFPROP _fru_parent /frutree/chassis/MB/system-board/HDDBP/disk-backplane-1
+
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+	NODE HDD0 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD0"
+	ENDNODE
+	NODE HDD1 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD1"
+	ENDNODE
+	NODE HDD2 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD2"
+	ENDNODE
+	NODE HDD3 location
+	    PROP SlotType string r 0 "disk-slot"
+	    PROP Label string r 0 "HDD3"
+	ENDNODE
+
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/sasbp-fru-prom@0,64
+
+name:/platform/i2c@1f,530000/sasbp-fru-prom@0,64
+	REFPROP _fru_parent /frutree/chassis/MB/system-board/HDDBP/disk-backplane-3
+
+/* add disk fru nodes for disks which are present */
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1/HDD0
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-1/HDD1
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3/HDD0
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@0,0
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3/HDD1
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@1,0
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3/HDD2
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@2,0
+name:/frutree/chassis/MB/system-board/HDDBP/disk-backplane-3/HDD3
+	REFNODE disk fru WITH name:/platform/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/sd@3,0
+
+/*
+ * System Fans 1U
+ */
+
+#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
+
+name:FCB0_1U
+NODE FT0 location
+    PROP Label string r 0 "FT0"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+name:FCB0_1U
+NODE FT1 location
+    PROP Label string r 0 "FT1"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+name:FCB0_1U
+NODE FT2 location
+    PROP Label string r 0 "FT2"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+name:FCB1_1U
+NODE FT3 location
+    PROP Label string r 0 "FT3"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+name:FCB1_1U
+NODE FT4 location
+    PROP Label string r 0 "FT4"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+name:FCB1_1U
+NODE FT5 location
+    PROP Label string r 0 "FT5"
+    NODE fan-tray fru
+	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
+    ENDNODE
+ENDNODE
+
+/* populate fan locations with fans which are present */
+name:FCB0_1U/FT0/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft0_f0
+name:FCB0_1U/FT0/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft0_f1
+name:FCB0_1U/FT1/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft1_f0
+name:FCB0_1U/FT1/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft1_f1
+name:FCB0_1U/FT2/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft2_f0
+name:FCB0_1U/FT2/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft2_f1
+name:FCB1_1U/FT3/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft3_f0
+name:FCB1_1U/FT3/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft3_f1
+name:FCB1_1U/FT4/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft4_f0
+name:FCB1_1U/FT4/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft4_f1
+name:FCB1_1U/FT5/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft5_f0
+name:FCB1_1U/FT5/fan-tray/F1
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft5_f1
+
+/*
+ * System Fans 2U
+ */
+
+#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
+
+name:FCB0_2U
+NODE FT0 location
+    PROP Label string r 0 "FT0"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+name:FCB0_2U
+NODE FT1 location
+    PROP Label string r 0 "FT1"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+name:FCB0_2U
+NODE FT2 location
+    PROP Label string r 0 "FT2"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+name:FCB1_2U
+NODE FT3 location
+    PROP Label string r 0 "FT3"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+name:FCB1_2U
+NODE FT4 location
+    PROP Label string r 0 "FT4"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+name:FCB1_2U
+NODE FT5 location
+    PROP Label string r 0 "FT5"
+    NODE fan-tray fru
+	NODE F0 location
+	    PROP SlotType string r 0 "fan-unit"
+    	    PROP Label string r 0 "F0"
+	ENDNODE
+    ENDNODE
+ENDNODE
+
+/* populate fan locations with fans which are present */
+name:FCB0_2U/FT0/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft0_f0
+name:FCB0_2U/FT1/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft1_f0
+name:FCB0_2U/FT2/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft2_f0
+name:FCB1_2U/FT3/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft3_f0
+name:FCB1_2U/FT4/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft4_f0
+name:FCB1_2U/FT5/fan-tray/F0
+	REFNODE fan-unit fru WITH name:RMCLOMV/ft5_f0
+
+/*
+ * PCI Riser Card Right
+ */
+
+#ifndef PCI_R
+#define PCI_R /frutree/chassis/MB/system-board/RISER-RIGHT
+#endif
+
+name:PCI_R
+	REFNODE pci-riser-board fru WITH name:/platform/i2c@1f,530000/riser-fru-prom@0,aa
+
+name:PCI_R/pci-riser-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/riser-fru-prom@0,aa
+	NODE PCI0 location
+	    PROP Label string r 0 "PCI0"
+	    PROP SlotType string r 0 "pci-e"
+	ENDNODE
+	REFNODE PCI2 location WITH /platform?PlatformName=SUNW,Sun-Fire-V245
+
+name:/platform/i2c@1f,530000/riser-fru-prom@0,aa
+	REFPROP _fru_parent PCI_R/pci-riser-board
+
+name:PCI_R/pci-riser-board/PCI2
+	PROP Label string r 0 "PCI2"
+	PROP SlotType string r 0 "pci-e"
+
+/*
+ * PCI Riser Card Left
+ */
+
+#ifndef PCI_L
+#define PCI_L /frutree/chassis/MB/system-board/RISER-LEFT
+#endif
+
+name:PCI_L
+	REFNODE pci-riser-board fru WITH name:/platform/i2c@1f,530000/riser-fru-prom@0,a8
+
+name:PCI_L/pci-riser-board
+	PROP FRUDataAvailable void r
+	REFPROP _seeprom_source name:/platform/i2c@1f,530000/riser-fru-prom@0,a8
+	NODE PCI1 location
+	    PROP Label string r 0 "PCI1"
+	    PROP SlotType string r 0 "pci-x-e"
+	ENDNODE
+	REFNODE PCI3 location WITH /platform?PlatformName=SUNW,Sun-Fire-V245
+
+name:/platform/i2c@1f,530000/riser-fru-prom@0,a8
+	REFPROP _fru_parent PCI_L/pci-riser-board
+
+name:PCI_L/pci-riser-board/PCI3
+	PROP Label string r 0 "PCI3"
+	PROP SlotType string r 0 "pci-x-e"
+
+/*
+ * Populate PCI slots
+ */
+name:PCI_R/pci-riser-board/PCI0
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@8/picl?DeviceID=0
+name:PCI_R/pci-riser-board/PCI2
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@2/picl?DeviceID=0
+name:PCI_L/pci-riser-board/PCI1
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/obp-device@0
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl?DeviceID=0
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl?DeviceID=1
+name:PCI_L/pci-riser-board/PCI3
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl?DeviceID=0
+	REFNODE pci-card fru WITH _class:/jbus/pciex@1f,700000/pciex@0/picl?DeviceID=2
+
+/*
+ * _fru_parent PCIEX devices
+ */
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@8/picl?DeviceID=0
+REFPROP _fru_parent PCI_R/pci-riser-board/PCI0/pci-card
+
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@2/picl?DeviceID=0
+REFPROP _fru_parent PCI_R/pci-riser-board/PCI2/pci-card
+
+_class:/jbus/pciex@1f,700000/obp-device@0
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@8/picl?DeviceID=0
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+
+_class:/jbus/pciex@1f,700000/pciex@0/pciex@9/picl?DeviceID=0
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+
+/*
+ * _fru_parent PCI-X devices
+ */
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,0
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,1
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,2
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,3
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,4
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,5
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,6
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+_class:/jbus/pciex@1e,600000/pciex@0/pciex@9/pciex@0/pci@8/picl@1,7
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI1/pci-card
+
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,0
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,1
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,2
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,3
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,4
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,5
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,6
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
+_class:/jbus/pciex@1f,700000/pciex@0/picl@2,7
+REFPROP _fru_parent PCI_L/pci-riser-board/PCI3/pci-card
--- a/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,11 +18,12 @@
 #
 # CDDL HEADER END
 #
+
 #
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 # This required package information file contains a list of package contents.
 # The 'pkgmk' command uses this file to identify the contents of a package
@@ -69,11 +69,25 @@
 f none usr/platform/SUNW,Sun-Fire-V250/lib/picl/plugins/libpiclfrudata.conf 644 root sys
 d none usr/platform/SUNW,Sun-Fire-V250/sbin 755 root bin
 s none usr/platform/SUNW,Sun-Fire-V250/sbin/fruadm=../../sun4u/sbin/fruadm
+d none usr/platform/SUNW,Sun-Fire-V215 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V215/lib 755 root bin
+d none usr/platform/SUNW,Sun-Fire-V215/lib/picl 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins 755 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/libpiclfrudata.conf 644 root sys
+d none usr/platform/SUNW,Sun-Fire-V215/sbin 755 root bin
+s none usr/platform/SUNW,Sun-Fire-V215/sbin/fruadm=../../sun4u/sbin/fruadm
 d none usr/platform/SUNW,Sun-Fire-V440 755 root sys
 d none usr/platform/SUNW,Sun-Fire-V440/lib 755 root bin
 d none usr/platform/SUNW,Sun-Fire-V440/lib/picl 755 root sys
 d none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins 755 root sys
 f none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins/libpiclfrudata.conf 644	root sys
+d none usr/platform/SUNW,Sun-Fire-V445 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V445/lib 755 root bin
+d none usr/platform/SUNW,Sun-Fire-V445/lib/picl 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins 755 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/libpiclfrudata.conf 644	root sys
+d none usr/platform/SUNW,Sun-Fire-V445/sbin 755 root bin
+s none usr/platform/SUNW,Sun-Fire-V445/sbin/fruadm=../../sun4u/sbin/fruadm
 d none usr/platform/SUNW,Sun-Fire-280R 755 root sys
 d none usr/platform/SUNW,Sun-Fire-280R/lib 755 root bin
 d none usr/platform/SUNW,Sun-Fire-280R/lib/picl 755 root sys
--- a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,11 +18,12 @@
 #
 # CDDL HEADER END
 #
+
 #
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 # This required package information file contains a list of package contents.
 # The 'pkgmk' command uses this file to identify the contents of a package
@@ -304,6 +304,25 @@
 f none usr/platform/SUNW,Sun-Fire-V250/lib/picl/plugins/fru_usb-b-2.conf 644 root sys
 s none usr/platform/SUNW,Sun-Fire-V250/lib/picl/plugins/libpiclfrudr.so.1=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1 
 s none usr/platform/SUNW,Sun-Fire-V250/lib/picl/plugins/libpiclfrudr.so=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so
+d none usr/platform/SUNW,Sun-Fire-V215/lib/picl 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins 755 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/picldevtree.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/picl_asr.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/piclfrutree.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/piclenvmon.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_SC.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_PS0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_PS1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_HDD0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_HDD1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_HDD2.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_HDD3.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V215/lib/picl/plugins/fru_usb-a-1.conf 644 root sys
+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
+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
 d none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins 755 root sys
 f none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins/picldevtree.conf 644 root sys
@@ -322,6 +341,31 @@
 f none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins/fru_HDD3.conf 644 root sys
 s none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins/libpiclfrudr.so.1=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1
 s none usr/platform/SUNW,Sun-Fire-V440/lib/picl/plugins/libpiclfrudr.so=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1
+d none usr/platform/SUNW,Sun-Fire-V445/lib/picl 755 root sys
+d none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins 755 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/picldevtree.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/picl_asr.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/piclfrutree.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/piclenvmon.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_SC.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_PSU0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_PSU1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_PSU2.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_PSU3.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD0.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD1.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD2.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD3.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD4.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD5.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD6.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_HDD7.conf 644 root sys
+f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_usb-a-1.conf 644 root sys
+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
+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
 f none usr/lib/sparcv9/libpicl.so.1 755 root bin
 s none usr/lib/sparcv9/libpicl.so=./libpicl.so.1 755 root bin
--- a/usr/src/uts/sun4u/boston/Makefile	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/boston/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
@@ -56,6 +77,7 @@
 		$(USR_BOSTON_INC_DIR) \
 		$(USR_BOSTON_SBIN_EEPROM) \
 		$(USR_BOSTON_SBIN_PRTDIAG) \
+		$(USR_BOSTON_SBIN_FRUADM) \
 		$(USR_BOSTON_SBIN_TRAPSTAT) \
 		$(USR_BOSTON_LIB_DIR) \
 		$(BOSTON_CRYPTO_LINKS) \
--- a/usr/src/uts/sun4u/boston/Makefile.boston	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/boston/Makefile.boston	Mon Dec 12 22:49:29 2005 -0800
@@ -1,8 +1,29 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 #	Global definitions for sun4u implementation specific modules.
 #
@@ -34,6 +55,7 @@
 USR_BOSTON_SBIN_DIR	= $(USR_BOSTON_DIR)/sbin
 USR_BOSTON_SBIN_EEPROM	= $(USR_BOSTON_SBIN_DIR)/eeprom
 USR_BOSTON_SBIN_PRTDIAG	= $(USR_BOSTON_SBIN_DIR)/prtdiag
+USR_BOSTON_SBIN_FRUADM	= $(USR_BOSTON_SBIN_DIR)/fruadm
 USR_BOSTON_SBIN_TRAPSTAT = $(USR_BOSTON_SBIN_DIR)/trapstat
 USR_BOSTON_LIB_DIR	= $(USR_BOSTON_DIR)/lib
 
--- a/usr/src/uts/sun4u/boston/Makefile.targ	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/boston/Makefile.targ	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
@@ -55,6 +76,9 @@
 $(USR_BOSTON_SBIN_TRAPSTAT): $(USR_BOSTON_SBIN_DIR)
 	$(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/trapstat $@ $(CHOWNLINK) $(CHGRPLINK)
 
+$(USR_BOSTON_SBIN_FRUADM): $(USR_BOSTON_SBIN_DIR)
+	$(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/fruadm $@ $(CHOWNLINK) $(CHGRPLINK)
+
 $(USR_BOSTON_LIB_DIR): $(USR_BOSTON_DIR)
 	-$(INS.dir.root.bin)
 
--- a/usr/src/uts/sun4u/seattle/Makefile	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/seattle/Makefile	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
@@ -59,6 +80,7 @@
 		$(USR_SEATTLE_SBIN_EEPROM) \
 		$(USR_SEATTLE_SBIN_PRTDIAG) \
 		$(USR_SEATTLE_SBIN_TRAPSTAT) \
+		$(USR_SEATTLE_SBIN_FRUADM) \
 		$(USR_SEATTLE_LIB_DIR) \
 		$(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) \
 		$(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%) \
--- a/usr/src/uts/sun4u/seattle/Makefile.seattle	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/seattle/Makefile.seattle	Mon Dec 12 22:49:29 2005 -0800
@@ -1,8 +1,29 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+# ident	"%Z%%M%	%I%	%E% SMI"
 #
 #	Global definitions for sun4u implementation specific modules.
 #
@@ -35,6 +56,7 @@
 USR_SEATTLE_SBIN_EEPROM	= $(USR_SEATTLE_SBIN_DIR)/eeprom
 USR_SEATTLE_SBIN_PRTDIAG = $(USR_SEATTLE_SBIN_DIR)/prtdiag
 USR_SEATTLE_SBIN_TRAPSTAT = $(USR_SEATTLE_SBIN_DIR)/trapstat
+USR_SEATTLE_SBIN_FRUADM	= $(USR_SEATTLE_SBIN_DIR)/fruadm
 USR_SEATTLE_LIB_DIR	= $(USR_SEATTLE_DIR)/lib
 
 SEATTLE_LINT_LIB_DIR= $(UTSBASE)/$(PLATFORM)/seattle/lint-libs/$(OBJS_DIR)
--- a/usr/src/uts/sun4u/seattle/Makefile.targ	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/seattle/Makefile.targ	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+#
+# 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 2005 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
@@ -55,6 +76,9 @@
 $(USR_SEATTLE_SBIN_TRAPSTAT): $(USR_SEATTLE_SBIN_DIR)
 	$(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/trapstat $@ $(CHOWNLINK) $(CHGRPLINK)
 
+$(USR_SEATTLE_SBIN_FRUADM): $(USR_SEATTLE_SBIN_DIR)
+	$(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/fruadm $@ $(CHOWNLINK) $(CHGRPLINK)
+
 $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%): $(ROOT_PLAT_DIR)
 	$(INS.slink3)
 
--- a/usr/src/uts/sun4u/seattle/os/seattle.c	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/seattle/os/seattle.c	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -83,6 +104,14 @@
 	(void) ddi_hold_driver(ddi_name_to_major("mc-us3i"));
 
 	/*
+	 * load the power button driver
+	 */
+	if (i_ddi_attach_hw_nodes("power") != DDI_SUCCESS)
+		cmn_err(CE_WARN, "power button driver failed to install");
+	else
+		(void) ddi_hold_driver(ddi_name_to_major("power"));
+
+	/*
 	 * load the GPIO driver for the ALOM reset and watchdog lines
 	 */
 	if (i_ddi_attach_hw_nodes("pmugpio") != DDI_SUCCESS)
@@ -202,6 +231,32 @@
 		return (ENOTSUP);
 }
 
+/*
+ * This platform hook gets called from mc_add_mem_unum_label() in the mc-us3i
+ * driver giving each platform the opportunity to add platform
+ * specific label information to the unum for ECC error logging purposes.
+ */
+/*ARGSUSED*/
+void
+plat_add_mem_unum_label(char *unum, int mcid, int bank, int dimm)
+{
+	char old_unum[UNUM_NAMLEN];
+	int printed;
+	int buflen = UNUM_NAMLEN;
+	strcpy(old_unum, unum);
+	printed = snprintf(unum, buflen, "MB/P%d/B%d", mcid, bank);
+	buflen -= printed;
+	unum += printed;
+
+	if (dimm != -1) {
+		printed = snprintf(unum, buflen, "/D%d", dimm);
+		buflen -= printed;
+		unum += printed;
+	}
+
+	snprintf(unum, buflen, ": %s", old_unum);
+}
+
 /*ARGSUSED*/
 int
 plat_get_cpu_unum(int cpuid, char *buf, int buflen, int *lenp)
--- a/usr/src/uts/sun4u/sys/envmon.h	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/sys/envmon.h	Mon Dec 12 22:49:29 2005 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -19,8 +18,9 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -84,6 +84,8 @@
 #define	ENVMONIOCGETALARM	\
 		_IOWR('a', ENVMON_BASE + 13, envmon_alarm_info_t)
 #define	ENVMONIOCSETALARM	_IOWR('a', ENVMON_BASE + 14, envmon_alarm_ctl_t)
+#define	ENVMONIOCCHASSISSERIALNUM	\
+		_IOR('a', ENVMON_BASE + 15, envmon_chassis_t)
 
 /* field length for text identifiers */
 #define	ENVMON_MAXNAMELEN	32
@@ -229,6 +231,13 @@
 	ENVMON_KEYSW_POS_OFF
 } envmon_keysw_pos_t;
 
+/*
+ * envmon_chassis_t is used to retuen the chassis serial number
+ */
+typedef struct {
+	char		serial_number[ENVMON_MAXNAMELEN];
+} envmon_chassis_t;
+
 #ifdef	__cplusplus
 }
 #endif
--- a/usr/src/uts/sun4u/sys/rmc_comm_hproto.h	Mon Dec 12 22:37:00 2005 -0800
+++ b/usr/src/uts/sun4u/sys/rmc_comm_hproto.h	Mon Dec 12 22:49:29 2005 -0800
@@ -1,3 +1,24 @@
+/*
+ * 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 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -213,6 +234,11 @@
 
 #define	DP_GET_EVENT_LOG	0x7D
 
+/*
+ * NOTE: changing this or the dp_event_log_entry structure will almost
+ * certainly require changing the code that parses these structures
+ * in scadm.  See src/cmd/scadm/sparcv9/mpxu/common/eventlog.c.
+ */
 #define	DP_GET_EVENT_LOG_R	0x5D
 typedef struct dp_get_event_log_r {
 	rsci32	entry_count;
@@ -927,6 +953,57 @@
 	rsci32		event_seqno; 	/* event sequence number */
 } dp_event_notification_r_t;
 
+#define	DP_GET_CHASSIS_SERIALNUM	0x2E
+#define	DP_GET_CHASSIS_SERIALNUM_R	0x2F
+typedef struct dp_get_serialnum_r {
+	rsci8		chassis_serial_number[32];
+} dp_get_serialnum_r_t;
+
+#define	DP_GET_CONSOLE_LOG	0x1A
+typedef struct dp_get_console_log {
+	rsci64		start_seq; 	/* sequence number of first log byte */
+	rsci16		length;		/* expected size of retrieved data */
+} dp_get_console_log_t;
+
+#define	DP_GET_CONSOLE_LOG_R	0x1B
+typedef struct dp_get_console_log_r {
+	rsci64		next_seq;	/* sequence number of next log byte */
+	rsci64		remaining_log_bytes;	/* bytes left to retrieve */
+	rsci16		length;		/* size of retrieved data */
+	char		buffer[DP_MAX_MSGLEN - (sizeof (rsci64) * 2 +
+			    sizeof (rsci16))];
+} dp_get_console_log_r_t;
+
+#define	DP_GET_CONFIG_LOG	0x1C
+typedef struct dp_get_config_log {
+	rsci64		start_seq;	/* sequence number of first log byte */
+	rsci16		length;		/* size of retrieved data */
+} dp_get_config_log_t;
+
+#define	DP_GET_CONFIG_LOG_R	0x1D
+typedef struct dp_get_config_log_r {
+	rsci64		next_seq;	/* sequence number of next log byte */
+	rsci64		remaining_log_bytes;	/* bytes left to retrieve */
+	rsci16		length;		/* size of retrieved data */
+	char		buffer[DP_MAX_MSGLEN - (sizeof (rsci64) * 2 +
+			    sizeof (rsci16))];
+} dp_get_config_log_r_t;
+
+#define	DP_GET_EVENT_LOG2	0x1E
+typedef struct dp_get_event_log2 {
+	rsci64		start_seq;	/* sequence number of first log event */
+	rsci16		length;		/* size of retrieved data */
+} dp_get_event_log2_t;
+
+#define	DP_GET_EVENT_LOG2_R	0x1F
+typedef struct dp_get_event_log2_r {
+	rsci64		next_seq;	/* sequence number of next log event */
+	rsci64		remaining_log_events;	/* events left to retrieve */
+	rsci16		num_events;		/* size of retrieved data */
+	char		buffer[DP_MAX_MSGLEN - (sizeof (rsci64) * 2 +
+			    sizeof (rsci16))];
+} dp_get_event_log2_r_t;
+
 #ifdef	__cplusplus
 }
 #endif