diff options
author | wnelson <none@none> | 2005-10-13 07:41:36 -0700 |
---|---|---|
committer | wnelson <none@none> | 2005-10-13 07:41:36 -0700 |
commit | 1cb6af97c6f66f456d4f726ef056e1ebc0f73305 (patch) | |
tree | 82fc37ca4be18449a185848f4d6f94345bbc989a /usr/src | |
parent | fd3af1c7b4cc69da990babda7f07c7c5bf1e1597 (diff) | |
download | illumos-gate-1cb6af97c6f66f456d4f726ef056e1ebc0f73305.tar.gz |
PSARC 2005/103 Schumacher
6237913 Need Schumacher support in ON
Diffstat (limited to 'usr/src')
33 files changed, 1463 insertions, 4 deletions
diff --git a/usr/src/cmd/fm/topo/files/sparc/Makefile b/usr/src/cmd/fm/topo/files/sparc/Makefile index 880c1150f7..884049ec8b 100644 --- a/usr/src/cmd/fm/topo/files/sparc/Makefile +++ b/usr/src/cmd/fm/topo/files/sparc/Makefile @@ -37,7 +37,7 @@ SUBDIRS= \ SUNW,Netra-T4 SUNW,Sun-Blade-2000 SUNW,Sun-Fire-280R \ SUNW,Sun-Fire-V890 SUNW,Sun-Fire-V490 SUNW,Sun-Fire-V250 \ SUNW,Sun-Fire-V210 SUNW,Netra-240 SUNW,Netra-440 \ - SUNW,Sun-Fire-T200 + SUNW,Sun-Fire-T200 SUNW,Netra-CP3010 include ../../../Makefile.subdirs diff --git a/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/Makefile b/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/Makefile new file mode 100644 index 0000000000..8609abc0a4 --- /dev/null +++ b/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/Makefile @@ -0,0 +1,30 @@ +# +# 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. +# +# 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" +# +TOPOSUBDIR = SUNW,Netra-CP3010 +TOPOFILES = platform.topo + +include ../../Makefile.com diff --git a/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/platform.topo b/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/platform.topo new file mode 100644 index 0000000000..33ccefd72b --- /dev/null +++ b/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/platform.topo @@ -0,0 +1,42 @@ +# +# 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. +# +# 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" + +/motherboard0/cpumodule0/cpu[0] + PLAT-FRU=hc:///component=CPU0 +/motherboard0/cpu[1] + PLAT-FRU=hc:///component=CPU1 +/motherboard0/hostbridge0 + DEV=/pci@1c +/motherboard0/hostbridge0/pcibus[0] + DEV=/pci@1c,600000 +/motherboard0/hostbridge0/pcibus[1] + DEV=/pci@1d,700000 +/motherboard0/hostbridge1 + DEV=/pci@1e +/motherboard0/hostbridge1/pcibus[0] + DEV=/pci@1e,600000 +/motherboard0/hostbridge1/pcibus[1] + DEV=/pci@1f,700000 diff --git a/usr/src/cmd/picl/plugins/sun4u/Makefile b/usr/src/cmd/picl/plugins/sun4u/Makefile index 86ece35885..f2c6f34bf7 100644 --- a/usr/src/cmd/picl/plugins/sun4u/Makefile +++ b/usr/src/cmd/picl/plugins/sun4u/Makefile @@ -31,11 +31,11 @@ SUBDIRS= lib .WAIT envmon .WAIT \ frudata grover excalibur psvc littleneck daktari \ cherrystone lw8 lw2plus taco enchilada chicago blade mpxu ents \ - chalupa silverstone sebring snowbird .WAIT + chalupa silverstone sebring snowbird schumacher .WAIT MSGSUBDIRS= lib frudata grover excalibur psvc littleneck daktari \ cherrystone lw8 lw2plus taco enchilada chicago blade envmon mpxu ents \ - silverstone sebring snowbird + silverstone sebring snowbird schumacher all := TARGET= all install := TARGET= install diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/Makefile b/usr/src/cmd/picl/plugins/sun4u/schumacher/Makefile new file mode 100644 index 0000000000..02a6c7e1e3 --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/Makefile @@ -0,0 +1,51 @@ +# +# 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. +# +# 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/schumacher/Makefile +# + +SUBDIRS= frudata frutree + +MSGSUBDIRS= + +all := TARGET= all +install := TARGET= install +clean := TARGET= clean +clobber := TARGET= clobber +lint := TARGET= lint +_msg := TARGET= _msg + +.KEEP_STATE: + +all install clean clobber lint : $(SUBDIRS) + +_msg: $(MSGSUBDIRS) + +$(SUBDIRS): FRC + @cd $@; pwd; $(MAKE) $(TARGET) + +FRC: diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/Makefile b/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/Makefile new file mode 100644 index 0000000000..94c099ae34 --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/Makefile @@ -0,0 +1,75 @@ +# +# 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. +# +# 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" +# +# lib/picl/plugins/sun4u/schumacher/frudata/Makefile +# +include $(SRC)/Makefile.psm + +# include library definitions +include $(SRC)/lib/Makefile.lib + +ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Netra-CP3010 + +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: diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/libpiclfrudata.conf b/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/libpiclfrudata.conf new file mode 100644 index 0000000000..742eb56360 --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/frudata/libpiclfrudata.conf @@ -0,0 +1,46 @@ +# +# 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. +# +# 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/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/motherboard-fru-prom@81,a8 +PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/motherboard-fru-prom@81,a8:motherboard-fru-prom" + +name:/platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a0 +PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a0:dimm-spd" + +name:/platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a2 +PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a2:dimm-spd" + +name:/platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a4 +PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a4:dimm-spd" + +name:/platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a6 +PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a6:dimm-spd" diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/Makefile b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/Makefile new file mode 100644 index 0000000000..0377ae650e --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/Makefile @@ -0,0 +1,75 @@ +# +# 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. +# +# 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" +# +# lib/picl/plugins/sun4u/schumacher/frutree/Makefile +# +include $(SRC)/Makefile.psm + +# include library definitions +include $(SRC)/lib/Makefile.lib + +ROOT_PLATFORM = $(USR_PLAT_DIR)/SUNW,Netra-CP3010 + +include $(SRC)/cmd/picl/plugins/Makefile.com + +ROOTLIBDIR = $(ROOT_PLAT_PLUGINDIR) +ROOTLIBDIR := OWNER = root +ROOTLIBDIR := GROUP = sys + +CONF= piclfrutree.conf +ROOTCONF= $(CONF:%=$(ROOTLIBDIR)/%) +$(ROOTCONF) := FILEMODE = 0644 +INFOS= piclfrutree.info system-board.info + +.KEEP_STATE: + +SUBDIRS= + +all := TARGET= all +install := TARGET= install +clean := TARGET= clean +clobber := TARGET= clobber +lint := TARGET= lint + +all: $(CONF) + +install: $(ROOTLIBDIR) $(ROOTCONF) + +$(CONF): $(INFOS) + $(RM) $@ + $(CPP) piclfrutree.info > $@ + +# include library targets +include $(SRC)/lib/Makefile.targ +include $(SRC)/cmd/picl/plugins/Makefile.targ + +lint: + +$(SUBDIRS): FRC + @cd $@; pwd; $(MAKE) $(TARGET) + +FRC: diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/piclfrutree.info b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/piclfrutree.info new file mode 100644 index 0000000000..4093e15d47 --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/piclfrutree.info @@ -0,0 +1,74 @@ +/* + * 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. + * + * 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 PLATFORM_CLASS jbus + +VERSION 1.0 +NODE frutree picl + NODE chassis fru + PROP ChassisType string r 0 "SUNW,Netra-CP3010" + NODE MB location + PROP SlotType string r 0 "atca" + PROP Label string r 0 "MOTHERBOARD" + ENDNODE + ENDNODE +ENDNODE + +name:/frutree/chassis/MB +#include "system-board.info" + diff --git a/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/system-board.info b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/system-board.info new file mode 100644 index 0000000000..4dc6a590a3 --- /dev/null +++ b/usr/src/cmd/picl/plugins/sun4u/schumacher/frutree/system-board.info @@ -0,0 +1,134 @@ +/* + * 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. + * + * 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 + */ + +NODE SUNW,Netra-CP3010 fru + +NODE CPU location + PROP Label string r 0 "CPU 0" + PROP GeoAddr uint r 1 1 + PROP SlotType string r 0 "cpu" +ENDNODE + +NODE CPU location + PROP Label string r 0 "CPU 1" + PROP GeoAddr uint r 1 2 + PROP SlotType string r 0 "cpu" +ENDNODE + +NODE mem-slot location + PROP GeoAddr uint r 1 1 + PROP Label string r 0 "DIMM0" + PROP SlotType string r 0 "memory-module" +ENDNODE + +NODE mem-slot location + PROP GeoAddr uint r 1 2 + PROP Label string r 0 "DIMM1" + PROP SlotType string r 0 "memory-module" +ENDNODE + +NODE mem-slot location + PROP GeoAddr uint r 1 3 + PROP Label string r 0 "DIMM2" + PROP SlotType string r 0 "memory-module" +ENDNODE + +NODE mem-slot location + PROP GeoAddr uint r 1 4 + PROP Label string r 0 "DIMM3" + PROP SlotType string r 0 "memory-module" +ENDNODE + +ENDNODE + +/* + * create the fru modules for CPU + */ +name:/frutree/chassis/MB/SUNW,Netra-CP3010/CPU?GeoAddr=1 +REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/CPU?GeoAddr=2 +REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=1 + +/* + * _fru_parent CPU devices + */ +_class:/PLATFORM_CLASS/cpu?ID=0 +REFPROP _fru_parent /frutree/chassis/MB/SUNW,Netra-CP3010/CPU?GeoAddr=1/cpu-module + +_class:/PLATFORM_CLASS/cpu?ID=1 +REFPROP _fru_parent /frutree/chassis/MB/SUNW,Netra-CP3010/CPU?GeoAddr=2/cpu-module + +/* + * _fru_parent motherboard + */ +_class:/PLATFORM_CLASS +REFPROP _fru_parent /frutree/chassis/MB/SUNW,Netra-CP3010 + +/* + * Set up memory module fru + */ +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM0 +REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a0 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM1 +REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a2 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM2 +REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a4 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM3 +REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a6 + +/* + * seeprom source for motherboard + */ +name:/frutree/chassis/MB/SUNW,Netra-CP3010 +PROP FRUDataAvailable void r +REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/motherboard-fru-prom@81,a8 + +/* + * seeprom source for dimms + */ +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM0/mem-module +PROP FRUDataAvailable void r +REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a0 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM1/mem-module +PROP FRUDataAvailable void r +REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a2 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM2/mem-module +PROP FRUDataAvailable void r +REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a4 + +name:/frutree/chassis/MB/SUNW,Netra-CP3010/mem-slot?Label=DIMM3/mem-module +PROP FRUDataAvailable void r +REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/ipmc@0,2e8/i2c@81/dimm-spd@81,a6 diff --git a/usr/src/lib/cfgadm_plugins/Makefile.com b/usr/src/lib/cfgadm_plugins/Makefile.com index 43fb1c4424..e4c26067b7 100644 --- a/usr/src/lib/cfgadm_plugins/Makefile.com +++ b/usr/src/lib/cfgadm_plugins/Makefile.com @@ -61,6 +61,7 @@ LINKED_PLATFORMS += SUNW,Serverblade1 LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 LINKED_PLATFORMS += SUNW,Netra-CP2300 +LINKED_PLATFORMS += SUNW,Netra-CP3010 LINKED_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/lib/libc_psr/spec/sun4u-us3/Makefile.links b/usr/src/lib/libc_psr/spec/sun4u-us3/Makefile.links index 416f317982..8431e556ea 100644 --- a/usr/src/lib/libc_psr/spec/sun4u-us3/Makefile.links +++ b/usr/src/lib/libc_psr/spec/sun4u-us3/Makefile.links @@ -50,5 +50,6 @@ LINKED_PLATFORMS += SUNW,Sun-Fire-V890 LINKED_PLATFORMS += SUNW,Sun-Fire-V490 LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 +LINKED_PLATFORMS += SUNW,Netra-CP3010 include $(SRC)/lib/libc_psr/spec/Makefile.com diff --git a/usr/src/lib/libc_psr/sun4u-us3/Makefile.com b/usr/src/lib/libc_psr/sun4u-us3/Makefile.com index 2963f6f2cb..cfc30f4eb7 100644 --- a/usr/src/lib/libc_psr/sun4u-us3/Makefile.com +++ b/usr/src/lib/libc_psr/sun4u-us3/Makefile.com @@ -57,6 +57,7 @@ LINKED_PLATFORMS = SUNW,Sun-Blade-1000 LINKED_PLATFORMS += SUNW,Sun-Blade-1500 LINKED_PLATFORMS += SUNW,Sun-Blade-2500 LINKED_PLATFORMS += SUNW,A70 +LINKED_PLATFORMS += SUNW,Netra-CP3010 LINKED_PLATFORMS += SUNW,Sun-Fire LINKED_PLATFORMS += SUNW,Sun-Fire-V240 LINKED_PLATFORMS += SUNW,Sun-Fire-V250 diff --git a/usr/src/lib/libmd5_psr/Makefile.com b/usr/src/lib/libmd5_psr/Makefile.com index 378ddced09..bfadba375f 100644 --- a/usr/src/lib/libmd5_psr/Makefile.com +++ b/usr/src/lib/libmd5_psr/Makefile.com @@ -93,5 +93,6 @@ LINKED_PLATFORMS += SUNW,Serverblade1 LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 LINKED_PLATFORMS += SUNW,Netra-CP2300 +LINKED_PLATFORMS += SUNW,Netra-CP3010 .KEEP_STATE: diff --git a/usr/src/lib/libmd5_psr/spec/Makefile.com b/usr/src/lib/libmd5_psr/spec/Makefile.com index 00cd58bde8..195cd056ad 100644 --- a/usr/src/lib/libmd5_psr/spec/Makefile.com +++ b/usr/src/lib/libmd5_psr/spec/Makefile.com @@ -61,6 +61,7 @@ LINKED_PLATFORMS += SUNW,Serverblade1 LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 LINKED_PLATFORMS += SUNW,Netra-CP2300 +LINKED_PLATFORMS += SUNW,Netra-CP3010 LINKED_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/pkgdefs/SUNWcakr.u/prototype_com b/usr/src/pkgdefs/SUNWcakr.u/prototype_com index a64f5204d0..b4a9c62517 100644 --- a/usr/src/pkgdefs/SUNWcakr.u/prototype_com +++ b/usr/src/pkgdefs/SUNWcakr.u/prototype_com @@ -54,6 +54,14 @@ f none platform/SUNW,Netra-CP2300/kernel/misc/sparcv9/platmod 755 root sys d none platform/SUNW,Netra-CP2300/kernel/tod 755 root sys d none platform/SUNW,Netra-CP2300/kernel/tod/sparcv9 755 root sys f none platform/SUNW,Netra-CP2300/kernel/tod/sparcv9/todds1307 0755 root sys +d none platform/SUNW,Netra-CP3010 755 root sys +d none platform/SUNW,Netra-CP3010/kernel 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/misc 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/misc/sparcv9 755 root sys +f none platform/SUNW,Netra-CP3010/kernel/misc/sparcv9/platmod 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/crypto 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/crypto/sparcv9 755 root sys +s none platform/SUNW,Netra-CP3010/kernel/crypto/sparcv9/aes=../../../../sun4u-us3/kernel/crypto/sparcv9/aes d none platform/SUNW,Netra-T12 755 root sys d none platform/SUNW,Netra-T12/kernel 755 root sys s none platform/SUNW,Netra-T12/kernel/cpu=../../SUNW,Sun-Fire/kernel/cpu diff --git a/usr/src/pkgdefs/SUNWcar.u/prototype_com b/usr/src/pkgdefs/SUNWcar.u/prototype_com index 31db64dfd8..d156a9959b 100644 --- a/usr/src/pkgdefs/SUNWcar.u/prototype_com +++ b/usr/src/pkgdefs/SUNWcar.u/prototype_com @@ -49,6 +49,7 @@ d none platform/sun4u-us3 755 root sys d none platform/SUNW,Netra-T12 755 root sys d none platform/SUNW,Netra-T4 755 root sys d none platform/SUNW,Netra-CP2300 755 root sys +d none platform/SUNW,Netra-CP3010 755 root sys d none platform/SUNW,Serverblade1 755 root sys d none platform/SUNW,Sun-Blade-100 755 root sys d none platform/SUNW,Sun-Blade-1000 755 root sys @@ -114,6 +115,7 @@ d none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/sparcv9 755 root bin d none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/sparcv9 755 root bin d none platform/SUNW,UltraSPARC-IIi-Netract/lib/sparcv9 755 root bin d none platform/SUNW,Netra-CP2300/lib/sparcv9 755 root bin +d none platform/SUNW,Netra-CP3010/lib/sparcv9 755 root bin d none platform/sun4u-us3/lib/sparcv9 755 root bin f none platform/sun4u/lib/sparcv9/libc_psr.so.1 755 root bin f none platform/sun4u-us3/lib/sparcv9/libc_psr.so.1 755 root bin @@ -125,6 +127,7 @@ s none platform/SUNW,Sun-Blade-1000/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3 s none platform/SUNW,Sun-Blade-1500/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,Sun-Blade-2500/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,A70/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 +s none platform/SUNW,Netra-CP3010/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,Sun-Fire-15000/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,Sun-Fire-V240/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,Sun-Fire-V250/lib/sparcv9/libc_psr.so.1=../../../sun4u-us3/lib/sparcv9/libc_psr.so.1 @@ -156,6 +159,7 @@ s none platform/SUNW,Sun-Blade-1000/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/l s none platform/SUNW,Sun-Blade-1500/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 s none platform/SUNW,Sun-Blade-2500/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 s none platform/SUNW,A70/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 +s none platform/SUNW,Netra-CP3010/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire-15000/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire-480R/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire-V240/lib/sparcv9/libmd5_psr.so.1=../../../sun4u/lib/sparcv9/libmd5_psr.so.1 @@ -212,6 +216,7 @@ d none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib 755 root bin d none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib 755 root bin d none platform/SUNW,UltraSPARC-IIi-Netract/lib 755 root bin d none platform/SUNW,Netra-CP2300/lib 755 root bin +d none platform/SUNW,Netra-CP3010/lib 755 root bin f none platform/sun4u/lib/libc_psr.so.1 755 root bin d none platform/sun4u-us3/lib 755 root sys f none platform/sun4u-us3/lib/libc_psr.so.1 755 root bin @@ -231,6 +236,7 @@ s none platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_p s none platform/SUNW,Sun-Blade-1500/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 s none platform/SUNW,Sun-Blade-2500/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 s none platform/SUNW,A70/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 +s none platform/SUNW,Netra-CP3010/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 s none platform/SUNW,Sun-Fire/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 s none platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 s none platform/SUNW,Sun-Fire-V250/lib/libc_psr.so.1=../../sun4u-us3/lib/libc_psr.so.1 @@ -265,6 +271,7 @@ s none platform/SUNW,Sun-Blade-1000/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_p s none platform/SUNW,Sun-Blade-1500/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 s none platform/SUNW,Sun-Blade-2500/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 s none platform/SUNW,A70/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 +s none platform/SUNW,Netra-CP3010/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire-V240/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 s none platform/SUNW,Sun-Fire-V250/lib/libmd5_psr.so.1=../../sun4u/lib/libmd5_psr.so.1 diff --git a/usr/src/pkgdefs/SUNWcryr/prototype_sparc b/usr/src/pkgdefs/SUNWcryr/prototype_sparc index a4d0fc4bc1..f7532db12a 100644 --- a/usr/src/pkgdefs/SUNWcryr/prototype_sparc +++ b/usr/src/pkgdefs/SUNWcryr/prototype_sparc @@ -75,6 +75,7 @@ d none platform/SUNW,Sun-Blade-1000 755 root sys d none platform/SUNW,Sun-Blade-1500 755 root sys d none platform/SUNW,Sun-Blade-2500 755 root sys d none platform/SUNW,A70 755 root sys +d none platform/SUNW,Netra-CP3010 755 root sys d none platform/SUNW,Sun-Fire 755 root sys d none platform/SUNW,Sun-Fire-15000 755 root sys d none platform/SUNW,Sun-Fire-V240 755 root sys @@ -99,6 +100,10 @@ d none platform/SUNW,A70/kernel 755 root sys d none platform/SUNW,A70/kernel/crypto 755 root sys d none platform/SUNW,A70/kernel/crypto/sparcv9 755 root sys s none platform/SUNW,A70/kernel/crypto/sparcv9/aes256=../../../../sun4u-us3/kernel/crypto/sparcv9/aes256 +d none platform/SUNW,Netra-CP3010/kernel 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/crypto 755 root sys +d none platform/SUNW,Netra-CP3010/kernel/crypto/sparcv9 755 root sys +s none platform/SUNW,Netra-CP3010/kernel/crypto/sparcv9/aes256=../../../../sun4u-us3/kernel/crypto/sparcv9/aes256 d none platform/SUNW,Sun-Fire/kernel 755 root sys d none platform/SUNW,Sun-Fire/kernel/crypto 755 root sys d none platform/SUNW,Sun-Fire/kernel/crypto/sparcv9 755 root sys diff --git a/usr/src/pkgdefs/SUNWfmd/prototype_sparc b/usr/src/pkgdefs/SUNWfmd/prototype_sparc index d0bcc3d0ae..911fde3bae 100644 --- a/usr/src/pkgdefs/SUNWfmd/prototype_sparc +++ b/usr/src/pkgdefs/SUNWfmd/prototype_sparc @@ -57,6 +57,8 @@ d none usr/lib/fm/topo/SUNW,Sun-Blade-1500 755 root bin f none usr/lib/fm/topo/SUNW,Sun-Blade-1500/platform.topo 444 root bin d none usr/lib/fm/topo/SUNW,Sun-Blade-2500 755 root bin f none usr/lib/fm/topo/SUNW,Sun-Blade-2500/platform.topo 444 root bin +d none usr/lib/fm/topo/SUNW,Netra-CP3010 755 root bin +f none usr/lib/fm/topo/SUNW,Netra-CP3010/platform.topo 444 root bin d none usr/lib/fm/topo/SUNW,Sun-Fire-15000 755 root bin f none usr/lib/fm/topo/SUNW,Sun-Fire-15000/platform.topo 444 root bin d none usr/lib/fm/topo/SUNW,Sun-Fire-480R 755 root bin diff --git a/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc b/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc index 1e6bac0f86..2270ac1c2c 100644 --- a/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc +++ b/usr/src/pkgdefs/SUNWfruip.u/prototype_sparc @@ -138,7 +138,13 @@ f none usr/platform/SUNW,Netra-CP2300/lib/libfruaccess.so.1 755 root sys s none usr/platform/SUNW,Netra-CP2300/lib/libfruaccess.so=libfruaccess.so.1 d none usr/platform/SUNW,Netra-CP2300/sbin 755 root bin s none usr/platform/SUNW,Netra-CP2300/sbin/fruadm=../../sun4u/sbin/fruadm - +d none usr/platform/SUNW,Netra-CP3010 755 root sys +d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin +d none usr/platform/SUNW,Netra-CP3010/lib/picl 755 root sys +d none usr/platform/SUNW,Netra-CP3010/lib/picl/plugins 755 root sys +f none usr/platform/SUNW,Netra-CP3010/lib/picl/plugins/libpiclfrudata.conf 644 root sys +d none usr/platform/SUNW,Netra-CP3010/sbin 755 root bin +s none usr/platform/SUNW,Netra-CP3010/sbin/fruadm=../../sun4u/sbin/fruadm d none usr/platform/sun4u 755 root sys d none usr/platform/sun4u/lib 755 root bin f none usr/platform/sun4u/lib/fru_container.conf 644 root sys diff --git a/usr/src/pkgdefs/SUNWhea/prototype_sparc b/usr/src/pkgdefs/SUNWhea/prototype_sparc index d204ab3321..dbb9cbbc6c 100644 --- a/usr/src/pkgdefs/SUNWhea/prototype_sparc +++ b/usr/src/pkgdefs/SUNWhea/prototype_sparc @@ -167,6 +167,8 @@ d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/include=../sun4u/include d none usr/platform/SUNW,Netra-CP2300 755 root sys d none usr/platform/SUNW,Netra-CP2300/include 755 root bin +d none usr/platform/SUNW,Netra-CP3010 755 root sys +d none usr/platform/SUNW,Netra-CP3010/include 755 root bin d none usr/platform/sun4u/include/sys 755 root bin f none usr/platform/sun4u/include/sys/ac.h 644 root bin f none usr/platform/sun4u/include/sys/async.h 644 root bin diff --git a/usr/src/pkgdefs/SUNWkvm.u/prototype_com b/usr/src/pkgdefs/SUNWkvm.u/prototype_com index 47b5bfecd6..4a85452457 100644 --- a/usr/src/pkgdefs/SUNWkvm.u/prototype_com +++ b/usr/src/pkgdefs/SUNWkvm.u/prototype_com @@ -78,6 +78,7 @@ d none usr/platform/SUNW,UltraSPARC-IIi-Netract 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys d none usr/platform/SUNW,Netra-CP2300 755 root sys +d none usr/platform/SUNW,Netra-CP3010 755 root sys # # create sun4u/sbin and links to it from each sun4u platform # @@ -118,6 +119,10 @@ d none usr/platform/SUNW,Netra-CP2300/sbin 755 root bin s none usr/platform/SUNW,Netra-CP2300/sbin/eeprom=../../sun4u/sbin/eeprom s none usr/platform/SUNW,Netra-CP2300/sbin/prtdiag=../../sun4u/sbin/prtdiag s none usr/platform/SUNW,Netra-CP2300/sbin/trapstat=../../sun4u/sbin/trapstat +d none usr/platform/SUNW,Netra-CP3010/sbin 755 root bin +s none usr/platform/SUNW,Netra-CP3010/sbin/eeprom=../../sun4u/sbin/eeprom +s none usr/platform/SUNW,Netra-CP3010/sbin/prtdiag=../../sun4u/sbin/prtdiag +s none usr/platform/SUNW,Netra-CP3010/sbin/trapstat=../../sun4u/sbin/trapstat # f none usr/platform/sun4u/sbin/eeprom 2555 root sys f none usr/platform/sun4u/sbin/trapstat 555 root bin @@ -128,6 +133,7 @@ f none usr/platform/sun4u/sbin/trapstat 555 root bin f none usr/platform/sun4u/sbin/prtdiag 2755 root sys f none usr/platform/sun4u/lib/libprtdiag.so.1 755 root bin s none usr/platform/sun4u/lib/libprtdiag.so=./libprtdiag.so.1 +f none usr/platform/SUNW,Netra-CP3010/lib/libprtdiag_psr.so.1 644 root bin f none usr/platform/SUNW,Ultra-2/lib/libprtdiag_psr.so.1 644 root bin s none usr/platform/sun4u/lib/libprtdiag_psr.so.1=../../SUNW,Ultra-2/lib/libprtdiag_psr.so.1 f none usr/platform/SUNW,Ultra-250/lib/libprtdiag_psr.so.1 644 root bin @@ -175,6 +181,7 @@ d none usr/platform/SUNW,UltraSPARC-IIi-Netract/lib 755 root bin d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib 755 root bin d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib 755 root bin d none usr/platform/SUNW,Netra-CP2300/lib 755 root bin +d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin # # create sun4u/lib/cfgadm and links to it for each sun4u platform # @@ -206,6 +213,7 @@ s none usr/platform/SUNW,UltraSPARC-IIi-Netract/lib/cfgadm=../../sun4u/lib/cfgad s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/cfgadm=../../sun4u/lib/cfgadm s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/cfgadm=../../sun4u/lib/cfgadm s none usr/platform/SUNW,Netra-CP2300/lib/cfgadm=../../sun4u/lib/cfgadm +s none usr/platform/SUNW,Netra-CP3010/lib/cfgadm=../../sun4u/lib/cfgadm # f none usr/platform/sun4u/lib/cfgadm/sysctrl.so.1 755 root bin s none usr/platform/sun4u/lib/cfgadm/sysctrl.so=./sysctrl.so.1 @@ -244,6 +252,7 @@ s none usr/platform/SUNW,UltraSPARC-IIi-Netract/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,Netra-CP2300/lib/fs=../../sun4u/lib/fs +s none usr/platform/SUNW,Netra-CP3010/lib/fs=../../sun4u/lib/fs # d none usr/platform/sun4u/lib/fs/ufs 755 root bin f none usr/platform/sun4u/lib/fs/ufs/bootblk 444 root sys diff --git a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc index 8a922290bc..95627d326c 100644 --- a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc +++ b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc @@ -253,6 +253,11 @@ s none usr/platform/SUNW,Netra-CP2300/lib/picl/plugins/libpiclwd.so=libpiclwd.so f none usr/platform/SUNW,Netra-CP2300/lib/picl/plugins/envmond.conf 644 root sys f none usr/platform/SUNW,Netra-CP2300/lib/picl/plugins/SUNW,Netra-CP2300.conf 644 root sys f none usr/platform/SUNW,Netra-CP2300/lib/picl/plugins/SUNW,Netra-CP2300.RTM.conf 644 root sys +d none usr/platform/SUNW,Netra-CP3010 755 root sys +d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin +d none usr/platform/SUNW,Netra-CP3010/lib/picl 755 root sys +d none usr/platform/SUNW,Netra-CP3010/lib/picl/plugins 755 root sys +f none usr/platform/SUNW,Netra-CP3010/lib/picl/plugins/piclfrutree.conf 644 root sys d none usr/platform/SUNW,Sun-Fire-V240/lib/picl 755 root sys d none usr/platform/SUNW,Sun-Fire-V240/lib/picl/plugins 755 root sys f none usr/platform/SUNW,Sun-Fire-V240/lib/picl/plugins/picldevtree.conf 644 root sys diff --git a/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc b/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc index 981b00a425..397ebbcf98 100644 --- a/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc +++ b/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc @@ -75,6 +75,7 @@ d none usr/platform/SUNW,UltraSPARC-IIi-Netract 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys d none usr/platform/SUNW,Netra-CP2300 755 root sys +d none usr/platform/SUNW,Netra-CP3010 755 root sys # # create other sun4u platform/lib directories # @@ -105,3 +106,4 @@ d none usr/platform/SUNW,UltraSPARC-IIi-Netract/lib 755 root bin d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib 755 root bin d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib 755 root bin d none usr/platform/SUNW,Netra-CP2300/lib 755 root bin +d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin diff --git a/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile b/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile index b81cbc1c07..65f8f7ebd0 100644 --- a/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile +++ b/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile @@ -59,6 +59,7 @@ PLATLINKS += SUNW,Serverblade1 PLATLINKS += SUNW,Netra-T12 PLATLINKS += SUNW,Netra-T4 PLATLINKS += SUNW,Netra-CP2300 +PLATLINKS += SUNW,Netra-CP3010 LINKED_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/uts/sun4u/Makefile.sun4u b/usr/src/uts/sun4u/Makefile.sun4u index 1dca602db8..1c635edc5c 100644 --- a/usr/src/uts/sun4u/Makefile.sun4u +++ b/usr/src/uts/sun4u/Makefile.sun4u @@ -98,6 +98,7 @@ IMPLEMENTATIONS += cherrystone .WAIT IMPLEMENTATIONS += fjlite .WAIT IMPLEMENTATIONS += lw2plus .WAIT IMPLEMENTATIONS += snowbird .WAIT +IMPLEMENTATIONS += schumacher .WAIT IMPLEMENTATIONS += blade .WAIT IMPLEMENTATIONS += chicago diff --git a/usr/src/uts/sun4u/schumacher/Makefile b/usr/src/uts/sun4u/schumacher/Makefile new file mode 100644 index 0000000000..389e096e01 --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/Makefile @@ -0,0 +1,123 @@ +# +# 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. +# +# 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" +# +# This makefile drives the production of the sun4u schumacher platform +# module. +# +# sun4u implementation architecture dependent +# + +# +# Path to the base of the uts directory tree (usually /usr/src/uts). +# +UTSBASE = ../.. + +# +# Include common rules. +# +include $(UTSBASE)/sun4u/schumacher/Makefile.schumacher + +def := TARGET= def +all := TARGET= all +install := TARGET= install +install_h := TARGET= install_h +clean := TARGET= clean +clobber := TARGET= clobber +lint := TARGET= lint +lintlib := TARGET= lintlib +modlintlib := TARGET= modlintlib +clean.lint := TARGET= clean.lint +check := TARGET= check + +# +# Default build targets. +# +.KEEP_STATE: + +def all clean clean.lint clobber: $(SCHUMACHER_KMODS) + +modlintlib: $(SCHUMACHER_KMODS) + +# EXPORT DELETE START +# +# aes256 is delivered in the SUNWcryr package which is removed from +# the EXPORT_SRC build. +# +SCHUMACHER_CRYPTO_LINKS += aes256 +# EXPORT DELETE END + +install: $(ROOT_SCHUMACHER_DIR) \ + $(USR_SCHUMACHER_DIR) \ + $(USR_SCHUMACHER_INC_DIR) \ + $(USR_SCHUMACHER_SBIN_DIR) \ + $(USR_SCHUMACHER_SBIN_EEPROM) \ + $(USR_SCHUMACHER_SBIN_PRTDIAG) \ + $(USR_SCHUMACHER_SBIN_TRAPSTAT) \ + $(USR_SCHUMACHER_SBIN_FRUADM) \ + $(USR_SCHUMACHER_LIB_DIR) \ + $(SCHUMACHER_CRYPTO_LINKS) \ + $(SCHUMACHER_KMODS) + +check install_h: + +lint: modlintlib + +# +# The 'lint.platmod' target lints the schumacher platform module against the sun4u +# kernel. This ends up doing all the kernel cross-checks, so it takes a couple +# of minutes. +# +LINT_LIBS = $(LINT_LIB) \ + -L$(SCHUMACHER_LINT_LIB_DIR) \ + -L$(LINT_LIB_DIR) $(LINT_KMODS:%=-l%) \ + -L$(SPARC_LIB_DIR) $(SPARC_LINTS:%=-l%) + +lint.platmod: modlintlib + @-$(ECHO) "\nSchumacher Platform-dependent module: global crosschecks:" + @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2) + +$(SCHUMACHER_KMODS): FRC + @cd $@; pwd; $(MAKE) $(TARGET) + +$(SCHUMACHER_CRYPTO_LINKS): $(ROOT_SCHUMACHER_CRYPTO_DIR_64) + -$(RM) $(ROOT_SCHUMACHER_CRYPTO_DIR_64)/$@; + $(SYMLINK) $(ROOT_US3_CRYPTO_LINK)/$@ $(ROOT_SCHUMACHER_CRYPTO_DIR_64)/$@ + +# EXPORT DELETE START + +EXPORT_SRC: + $(RM) Makefile+ + sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \ + < Makefile > Makefile+ + $(MV) Makefile+ Makefile + $(CHMOD) 444 Makefile + +# EXPORT DELETE END + +# +# Include common targets. +# +include $(UTSBASE)/sun4u/schumacher/Makefile.targ diff --git a/usr/src/uts/sun4u/schumacher/Makefile.files b/usr/src/uts/sun4u/schumacher/Makefile.files new file mode 100644 index 0000000000..6756828a77 --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/Makefile.files @@ -0,0 +1,42 @@ +# +# 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. +# +# 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 +# +# uts/sun4u/schumacher/Makefile.files +# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# +#ident "%Z%%M% %I% %E% SMI" +# +# This Makefile defines all file modules for the directory +# uts/sun4u/schumacher and it's children. These are the source files +# which are sun4u "implementation architecture" dependent. +# + +# +# object lists +# +# Schumacher specific driver module +# + +# +# Miscellaneous +# +INC_PATH += -I$(UTSBASE)/sun4u/schumacher diff --git a/usr/src/uts/sun4u/schumacher/Makefile.rules b/usr/src/uts/sun4u/schumacher/Makefile.rules new file mode 100644 index 0000000000..28daa0ba3d --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/Makefile.rules @@ -0,0 +1,52 @@ +# +# 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. +# +# 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" +# +# This Makefile defines the build rules for the directory +# uts/sun4u/schumacher. +# +# The following two-level ordering must be maintained in this file. +# Lines are sorted first in order of decreasing specificity based on +# the first directory component. That is, sun4u rules come before +# sparc rules come before common rules. +# +# Lines whose initial directory components are equal are sorted +# alphabetically by the remaining components. + +# +# Section 1a: C object build rules +# + +$(OBJS_DIR)/%.o: $(UTSBASE)/sun4u/schumacher/os/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + +# +# Section 1b: Lint `object' build rules +# + +$(LINTS_DIR)/%.ln: $(UTSBASE)/sun4u/schumacher/os/%.c + @($(LHEAD) $(LINT.c) $< $(LTAIL)) + diff --git a/usr/src/uts/sun4u/schumacher/Makefile.schumacher b/usr/src/uts/sun4u/schumacher/Makefile.schumacher new file mode 100644 index 0000000000..d2e28ea88e --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/Makefile.schumacher @@ -0,0 +1,83 @@ +# +# 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. +# +# 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" +# +# Global definitions for sun4u implementation specific modules. +# + +# +# Define directories. +# +ROOT_SCHUMACHER_DIR = $(ROOT_PLAT_DIR)/SUNW,Netra-CP3010 +ROOT_SCHUMACHER_MOD_DIR = $(ROOT_SCHUMACHER_DIR)/kernel + +ROOT_SCHUMACHER_MISC_DIR_32 = $(ROOT_SCHUMACHER_MOD_DIR)/misc +ROOT_SCHUMACHER_MISC_DIR_64 = $(ROOT_SCHUMACHER_MISC_DIR_32)/$(SUBDIR64) +ROOT_SCHUMACHER_DRV_DIR_32 = $(ROOT_SCHUMACHER_MOD_DIR)/drv +ROOT_SCHUMACHER_DRV_DIR_64 = $(ROOT_SCHUMACHER_DRV_DIR_32)/$(SUBDIR64) +ROOT_SCHUMACHER_CRYPTO_DIR_32 = $(ROOT_SCHUMACHER_MOD_DIR)/crypto +ROOT_SCHUMACHER_CRYPTO_DIR_64 = $(ROOT_SCHUMACHER_CRYPTO_DIR_32)/$(SUBDIR64) + +ROOT_SCHUMACHER_MISC_DIR = $(ROOT_SCHUMACHER_MISC_DIR_$(CLASS)) +ROOT_SCHUMACHER_DRV_DIR = $(ROOT_SCHUMACHER_DRV_DIR_$(CLASS)) +ROOT_SCHUMACHER_CRYPTO_DIR = $(ROOT_SCHUMACHER_CRYPTO_DIR_$(CLASS)) + +ROOT_PLAT_MOD_DIRS += $(ROOT_SCHUMACHER_MOD_DIR) +ROOT_PLAT_MISC_DIRS += $(ROOT_SCHUMACHER_MISC_DIR) + +USR_SCHUMACHER_DIR = $(USR_PLAT_DIR)/SUNW,Netra-CP3010 +USR_SCHUMACHER_LINKED_DIR = $(USR_PLAT_DIR)/$(LINKED_PLATFORM) +USR_SCHUMACHER_INC_DIR = $(USR_SCHUMACHER_DIR)/include +USR_SCHUMACHER_ISYS_DIR = $(USR_SCHUMACHER_INC_DIR)/sys +USR_SCHUMACHER_SBIN_DIR = $(USR_SCHUMACHER_DIR)/sbin +USR_SCHUMACHER_SBIN_EEPROM = $(USR_SCHUMACHER_SBIN_DIR)/eeprom +USR_SCHUMACHER_SBIN_PRTDIAG = $(USR_SCHUMACHER_SBIN_DIR)/prtdiag +USR_SCHUMACHER_SBIN_TRAPSTAT = $(USR_SCHUMACHER_SBIN_DIR)/trapstat +USR_SCHUMACHER_SBIN_FRUADM = $(USR_SCHUMACHER_SBIN_DIR)/fruadm +USR_SCHUMACHER_LIB_DIR = $(USR_SCHUMACHER_DIR)/lib + +SCHUMACHER_LINT_LIB_DIR= $(UTSBASE)/$(PLATFORM)/schumacher/lint-libs/$(OBJS_DIR) + +# +# Define objects. +# +SCHUMACHER_OBJS = schumacher.o + +# +# Define modules. +# +SCHUMACHER_KMODS = platmod + +# +# Links to UltraSparc III cyrpto modules +# +SCHUMACHER_CRYPTO_LINKS = aes + +include $(UTSBASE)/sun4u/schumacher/Makefile.files + +# +# Include common rules. +# +include $(UTSBASE)/sun4u/Makefile.sun4u diff --git a/usr/src/uts/sun4u/schumacher/Makefile.targ b/usr/src/uts/sun4u/schumacher/Makefile.targ new file mode 100644 index 0000000000..799d5c596c --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/Makefile.targ @@ -0,0 +1,101 @@ +# +# 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. +# +# 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" +# +# Common targets for sun4u implementation specific modules. +# + +.KEEP_STATE: + +IMPLEMENTED_PLATFORM = SUNW,Netra-CP3010 + +# +# Rules for implementation subdirectories. +# +$(ROOT_SCHUMACHER_DIR): $(ROOT_PLAT_DIR) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_MOD_DIR): $(ROOT_SCHUMACHER_DIR) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_MISC_DIR_32): $(ROOT_SCHUMACHER_MOD_DIR) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_MISC_DIR): $(ROOT_SCHUMACHER_MISC_DIR_32) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_DRV_DIR_32): $(ROOT_SCHUMACHER_MOD_DIR) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_DRV_DIR): $(ROOT_SCHUMACHER_DRV_DIR_32) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_CRYPTO_DIR_32): $(ROOT_SCHUMACHER_MOD_DIR) + -$(INS.dir.root.sys) + +$(ROOT_SCHUMACHER_CRYPTO_DIR_64): $(ROOT_SCHUMACHER_CRYPTO_DIR_32) + -$(INS.dir.root.sys) + +$(USR_SCHUMACHER_DIR): $(USR_PLAT_DIR) + -$(INS.dir.root.sys) + +$(USR_SCHUMACHER_INC_DIR): $(USR_SCHUMACHER_DIR) + -$(INS.dir.root.bin) + +$(USR_SCHUMACHER_SBIN_DIR): $(USR_SCHUMACHER_DIR) + -$(INS.dir.root.bin) + +$(USR_SCHUMACHER_SBIN_EEPROM): $(USR_SCHUMACHER_SBIN_DIR) + $(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/eeprom $@ $(CHOWNLINK) $(CHGRPLINK) + +$(USR_SCHUMACHER_SBIN_PRTDIAG): $(USR_SCHUMACHER_SBIN_DIR) + $(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/prtdiag $@ $(CHOWNLINK) $(CHGRPLINK) + +$(USR_SCHUMACHER_SBIN_TRAPSTAT): $(USR_SCHUMACHER_SBIN_DIR) + $(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/trapstat $@ $(CHOWNLINK) $(CHGRPLINK) + +$(USR_SCHUMACHER_SBIN_FRUADM): $(USR_SCHUMACHER_SBIN_DIR) + $(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/sbin/fruadm $@ $(CHOWNLINK) $(CHGRPLINK) + +$(USR_SCHUMACHER_LIB_DIR): $(USR_SCHUMACHER_DIR) + -$(INS.dir.root.bin) + +$(USR_SCHUMACHER_ISYS_DIR): $(USR_SCHUMACHER_INC_DIR) + -$(INS.dir.bin.bin) + +$(ROOT_SCHUMACHER_MOD_DIR)/%: $(OBJS_DIR)/% $(ROOT_SCHUMACHER_MOD_DIR) + $(INS.file) + +$(ROOT_SCHUMACHER_MISC_DIR)/%: $(OBJS_DIR)/% $(ROOT_SCHUMACHER_MISC_DIR) + $(INS.file) + +$(ROOT_SCHUMACHER_DRV_DIR)/%: $(OBJS_DIR)/% $(ROOT_SCHUMACHER_DRV_DIR) + $(INS.file) + +# +# Include common targets. +# +include $(UTSBASE)/sun4u/schumacher/Makefile.rules +include $(UTSBASE)/sun4u/Makefile.targ diff --git a/usr/src/uts/sun4u/schumacher/os/schumacher.c b/usr/src/uts/sun4u/schumacher/os/schumacher.c new file mode 100644 index 0000000000..e6800cfd04 --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/os/schumacher.c @@ -0,0 +1,370 @@ +/* + * 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. + * + * 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" + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/sysmacros.h> +#include <sys/sunddi.h> +#include <sys/esunddi.h> +#include <sys/platform_module.h> +#include <sys/errno.h> +#include <sys/lgrp.h> +#include <sys/memnode.h> +#include <sys/promif.h> + +int (*p2get_mem_unum)(int, uint64_t, char *, int, int *); + +void +startup_platform(void) +{ +} + +int +set_platform_tsb_spares() +{ + return (0); +} + +void +set_platform_defaults(void) +{ +} + +/* + * Definitions for accessing the pci config space of the isa node + * of Southbridge. + */ +#define SCHUMACHER_ISA_PATHNAME "/pci@1e,600000/isa@7" +static ddi_acc_handle_t isa_handle; /* handle for isa pci space */ + + +void +load_platform_drivers(void) +{ + dev_info_t *dip; /* dip of the isa driver */ + + /* + * Install 'us' driver. + */ + (void) i_ddi_attach_hw_nodes("us"); + + /* + * mc-us3i must stay loaded for plat_get_mem_unum() + */ + if (i_ddi_attach_hw_nodes("mc-us3i") != DDI_SUCCESS) + cmn_err(CE_WARN, "mc-us3i driver failed to install"); + (void) ddi_hold_driver(ddi_name_to_major("mc-us3i")); + + /* + * Install Isa driver. This is required for the southbridge IDE + * workaround - to reset the IDE channel during IDE bus reset. + * Panic the system in case ISA driver could not be loaded or + * any problem in accessing its pci config space. Since the register + * to reset the channel for IDE is in ISA config space!. + */ + + dip = e_ddi_hold_devi_by_path(SCHUMACHER_ISA_PATHNAME, 0); + if (dip == NULL) { + cmn_err(CE_PANIC, "Could not install the isa driver\n"); + return; + } + + if (pci_config_setup(dip, &isa_handle) != DDI_SUCCESS) { + cmn_err(CE_PANIC, "Could not get the config space of isa\n"); + return; + } +} + +/* + * This routine provides a workaround for a bug in the SB chip which + * can cause data corruption. Will be invoked from the IDE HBA driver for + * Acer SouthBridge at the time of IDE bus reset. + */ +/*ARGSUSED*/ +int +plat_ide_chipreset(dev_info_t *dip, int chno) +{ + uint8_t val; + int ret = DDI_SUCCESS; + + if (isa_handle == NULL) { + return (DDI_FAILURE); + } + + val = pci_config_get8(isa_handle, 0x58); + /* + * The dip passed as the argument is not used here. + * This will be needed for platforms which have multiple on-board SB, + * The dip passed will be used to match the corresponding ISA node. + */ + switch (chno) { + case 0: + /* + * First disable the primary channel then re-enable it. + * As per ALI no wait should be required in between have + * given 1ms delay in between to be on safer side. + * bit 2 of register 0x58 when 0 disable the channel 0. + * bit 2 of register 0x58 when 1 enables the channel 0. + */ + pci_config_put8(isa_handle, 0x58, val & 0xFB); + drv_usecwait(1000); + pci_config_put8(isa_handle, 0x58, val); + break; + case 1: + /* + * bit 3 of register 0x58 when 0 disable the channel 1. + * bit 3 of register 0x58 when 1 enables the channel 1. + */ + pci_config_put8(isa_handle, 0x58, val & 0xF7); + drv_usecwait(1000); + pci_config_put8(isa_handle, 0x58, val); + break; + default: + /* + * Unknown channel number passed. Return failure. + */ + ret = DDI_FAILURE; + } + + return (ret); +} + + +/*ARGSUSED*/ +int +plat_cpu_poweron(struct cpu *cp) +{ + return (ENOTSUP); /* not supported on this platform */ +} + +/*ARGSUSED*/ +int +plat_cpu_poweroff(struct cpu *cp) +{ + return (ENOTSUP); /* not supported on this platform */ +} + +/*ARGSUSED*/ +void +plat_freelist_process(int mnode) +{ +} + +char *platform_module_list[] = { + (char *)0 +}; + +/*ARGSUSED*/ +void +plat_tod_fault(enum tod_fault_type tod_bad) +{ +} + +/*ARGSUSED*/ +int +plat_get_mem_unum(int synd_code, uint64_t flt_addr, int flt_bus_id, + int flt_in_memory, ushort_t flt_status, char *buf, int buflen, int *lenp) +{ + if (flt_in_memory && (p2get_mem_unum != NULL)) + return (p2get_mem_unum(synd_code, P2ALIGN(flt_addr, 8), + buf, buflen, lenp)); + else + return (ENOTSUP); +} + +/*ARGSUSED*/ +int +plat_get_cpu_unum(int cpuid, char *buf, int buflen, int *lenp) +{ + if (snprintf(buf, buflen, "MB") >= buflen) { + return (ENOSPC); + } else { + *lenp = strlen(buf); + return (0); + } +} + +/* + * Fiesta support for lgroups. + * + * On fiesta platform, an lgroup platform handle == CPU id + */ + +/* + * Macro for extracting the CPU number from the CPU id + */ +#define CPUID_TO_LGRP(id) ((id) & 0x7) +#define SCHUMACHER_MC_SHIFT 36 + +/* + * Return the platform handle for the lgroup containing the given CPU + */ +lgrp_handle_t +plat_lgrp_cpu_to_hand(processorid_t id) +{ + return (CPUID_TO_LGRP(id)); +} + +/* + * Platform specific lgroup initialization + */ +void +plat_lgrp_init(void) +{ + dnode_t curnode; + char tmp_name[MAXSYSNAME]; + int portid; + int cpucnt = 0; + int max_portid = -1; + extern uint32_t lgrp_expand_proc_thresh; + extern uint32_t lgrp_expand_proc_diff; + extern pgcnt_t lgrp_mem_free_thresh; + extern uint32_t lgrp_loadavg_tolerance; + extern uint32_t lgrp_loadavg_max_effect; + extern uint32_t lgrp_load_thresh; + extern lgrp_mem_policy_t lgrp_mem_policy_root; + + /* + * Count the number of CPUs installed to determine if + * NUMA optimization should be enabled or not. + * + * All CPU nodes reside in the root node and have a + * device type "cpu". + */ + curnode = prom_rootnode(); + for (curnode = prom_childnode(curnode); curnode; + curnode = prom_nextnode(curnode)) { + bzero(tmp_name, MAXSYSNAME); + if (prom_getprop(curnode, OBP_NAME, (caddr_t)tmp_name) == -1 || + prom_getprop(curnode, OBP_DEVICETYPE, tmp_name) == -1 || + strcmp(tmp_name, "cpu") != 0) + continue; + + cpucnt++; + if (prom_getprop(curnode, "portid", (caddr_t)&portid) != -1 && + portid > max_portid) + max_portid = portid; + } + if (cpucnt <= 1) + max_mem_nodes = 1; + else if (max_portid >= 0 && max_portid < MAX_MEM_NODES) + max_mem_nodes = max_portid + 1; + + /* + * Set tuneables for fiesta architecture + * + * lgrp_expand_proc_thresh is the minimum load on the lgroups + * this process is currently running on before considering + * expanding threads to another lgroup. + * + * lgrp_expand_proc_diff determines how much less the remote lgroup + * must be loaded before expanding to it. + * + * Optimize for memory bandwidth by spreading multi-threaded + * program to different lgroups. + */ + lgrp_expand_proc_thresh = lgrp_loadavg_max_effect - 1; + lgrp_expand_proc_diff = lgrp_loadavg_max_effect / 2; + lgrp_loadavg_tolerance = lgrp_loadavg_max_effect / 2; + lgrp_mem_free_thresh = 1; /* home lgrp must have some memory */ + lgrp_expand_proc_thresh = lgrp_loadavg_max_effect - 1; + lgrp_mem_policy_root = LGRP_MEM_POLICY_NEXT; + lgrp_load_thresh = 0; + + mem_node_pfn_shift = SCHUMACHER_MC_SHIFT - MMU_PAGESHIFT; +} + +/* + * Return latency between "from" and "to" lgroups + * + * This latency number can only be used for relative comparison + * between lgroups on the running system, cannot be used across platforms, + * and may not reflect the actual latency. It is platform and implementation + * specific, so platform gets to decide its value. It would be nice if the + * number was at least proportional to make comparisons more meaningful though. + * NOTE: The numbers below are supposed to be load latencies for uncached + * memory divided by 10. + */ +int +plat_lgrp_latency(lgrp_handle_t from, lgrp_handle_t to) +{ + /* + * Return remote latency when there are more than two lgroups + * (root and child) and getting latency between two different + * lgroups or root is involved + */ + if (lgrp_optimizations() && (from != to || + from == LGRP_DEFAULT_HANDLE || to == LGRP_DEFAULT_HANDLE)) + return (17); + else + return (12); +} + +int +plat_pfn_to_mem_node(pfn_t pfn) +{ + ASSERT(max_mem_nodes > 1); + return (pfn >> mem_node_pfn_shift); +} + +/* + * Assign memnode to lgroups + */ +void +plat_fill_mc(dnode_t nodeid) +{ + int portid; + + /* + * Schumacher memory controller portid == global CPU id + */ + if ((prom_getprop(nodeid, "portid", (caddr_t)&portid) == -1) || + (portid < 0)) + return; + + if (portid < max_mem_nodes) + plat_assign_lgrphand_to_mem_node(portid, portid); +} + +/* ARGSUSED */ +void +plat_build_mem_nodes(u_longlong_t *list, size_t nelems) +{ + size_t elem; + pfn_t basepfn; + pgcnt_t npgs; + + /* + * Boot install lists are arranged <addr, len>, <addr, len>, ... + */ + for (elem = 0; elem < nelems; elem += 2) { + basepfn = btop(list[elem]); + npgs = btop(list[elem+1]); + mem_node_add_slice(basepfn, basepfn + npgs - 1); + } +} diff --git a/usr/src/uts/sun4u/schumacher/platmod/Makefile b/usr/src/uts/sun4u/schumacher/platmod/Makefile new file mode 100644 index 0000000000..f658659bf3 --- /dev/null +++ b/usr/src/uts/sun4u/schumacher/platmod/Makefile @@ -0,0 +1,108 @@ +# +# 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. +# +# 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" +# +# uts/sun4u/schumacher/platmod/Makefile +# +# This makefile drives the production of the sun4u schumacher platform module. +# +# sun4u implementation architecture dependent +# + +# +# Path to the base of the uts directory tree (usually /usr/src/uts). +# +UTSBASE = ../../.. + +# +# Define the module and object file sets. +# +MODULE = platmod +OBJECTS = $(SCHUMACHER_OBJS:%=$(OBJS_DIR)/%) +LINTS = $(SCHUMACHER_OBJS:%.o=$(LINTS_DIR)/%.ln) +ROOTMODULE = $(ROOT_SCHUMACHER_MISC_DIR)/$(MODULE) + +PLAT_DIR = . +HERE = ../schumacher/platmod + +# +# Include common rules. +# +include $(UTSBASE)/sun4u/schumacher/Makefile.schumacher + +# +# Override defaults +# +CLEANFILES += $(PLATLIB) $(SYM_MOD) + +# +# Define targets +# +ALL_TARGET = $(SYM_MOD) +LINT_TARGET = $(MODULE).lint +INSTALL_TARGET = $(BINARY) $(ROOTMODULE) + +# +# lint pass one enforcement +# +CFLAGS += $(CCVERBOSE) + +# +# Default build targets. +# +.KEEP_STATE: + +def: $(DEF_DEPS) + +all: $(ALL_DEPS) + +clean: $(CLEAN_DEPS) + +clobber: $(CLOBBER_DEPS) + +lint: $(LINT_DEPS) + +modlintlib: $(MODLINTLIB_DEPS) + +clean.lint: $(CLEAN_LINT_DEPS) + +install: $(INSTALL_DEPS) + +check: + +LINT_LIB_DIR = $(SCHUMACHER_LINT_LIB_DIR) + +$(PLATLIB): $(BINARY) + ${LD} -o $(PLATLIB) -G $(BINARY) + +$(SYM_MOD): $(UNIX_O) $(PLATLIB) + @echo "resolving symbols against unix.o" + @(cd $(UNIX_DIR); pwd; \ + PLAT_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck) + +# +# Include common targets. +# +include $(UTSBASE)/sun4u/schumacher/Makefile.targ |