6862533 Solaris need support HP's smart array HBA
6886346 CPQary3 driver has no quiesce
1 --- a/usr/src/pkgdefs/Makefile Tue Dec 29 17:43:51 2009 +0000
2 +++ b/usr/src/pkgdefs/Makefile Wed Dec 30 15:37:42 2009 +0800
3 @@ -121,6 +121,7 @@
4 SUNWcar.i \
5 SUNWcarx.i \
6 SUNWcpc.i \
7 + CPQary3 \
8 SUNWcpr.i \
9 SUNWdrmr \
10 SUNWgrub \
1.1 --- a/usr/src/uts/intel/Makefile.intel.shared Tue Dec 29 17:43:51 2009 +0000
1.2 +++ b/usr/src/uts/intel/Makefile.intel.shared Wed Dec 30 15:37:42 2009 +0800
1.3 @@ -385,6 +385,7 @@
1.4 $(CLOSED_BUILD)CLOSED_DRV_KMODS += intel_nhmex
1.5 $(CLOSED_BUILD)CLOSED_DRV_KMODS += iprb
1.6 $(CLOSED_BUILD)CLOSED_DRV_KMODS += llc2
1.7 +$(CLOSED_BUILD)CLOSED_DRV_KMODS += cpqary3
1.8 $(CLOSED_BUILD)CLOSED_DRV_KMODS += marvell88sx
1.9 $(CLOSED_BUILD)CLOSED_DRV_KMODS += bcm_sata
1.10 $(CLOSED_BUILD)CLOSED_DRV_KMODS += memtest
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/usr/src/pkgdefs/CPQary3/Makefile Wed Dec 30 15:37:42 2009 +0800
2.3 @@ -0,0 +1,37 @@
2.4 +#
2.5 +# CDDL HEADER START
2.6 +#
2.7 +# The contents of this file are subject to the terms of the
2.8 +# Common Development and Distribution License (the "License").
2.9 +# You may not use this file except in compliance with the License.
2.10 +#
2.11 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2.12 +# or http://www.opensolaris.org/os/licensing.
2.13 +# See the License for the specific language governing permissions
2.14 +# and limitations under the License.
2.15 +#
2.16 +# When distributing Covered Code, include this CDDL HEADER in each
2.17 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2.18 +# If applicable, add the following below this CDDL HEADER, with the
2.19 +# fields enclosed by brackets "[]" replaced with your own identifying
2.20 +# information: Portions Copyright [yyyy] [name of copyright owner]
2.21 +#
2.22 +# CDDL HEADER END
2.23 +#
2.24 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
2.25 +# Use is subject to license terms.
2.26 +#
2.27 +
2.28 +include ../Makefile.com
2.29 +
2.30 +LICENSEFILES = $(SUN) $(PKGDEFS)/CPQary3/lic_HP
2.31 +
2.32 +DATAFILES += depend
2.33 +
2.34 +.KEEP_STATE:
2.35 +
2.36 +all: $(FILES) postinstall postremove
2.37 +
2.38 +install: all pkg
2.39 +
2.40 +include ../Makefile.targ
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/usr/src/pkgdefs/CPQary3/lic_HP Wed Dec 30 15:37:42 2009 +0800
3.3 @@ -0,0 +1,1 @@
3.4 +Copyright 2009 Hewlett-Packard Development Company, L.P.
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/usr/src/pkgdefs/CPQary3/pkginfo.tmpl Wed Dec 30 15:37:42 2009 +0800
4.3 @@ -0,0 +1,43 @@
4.4 +#
4.5 +# CDDL HEADER START
4.6 +#
4.7 +# The contents of this file are subject to the terms of the
4.8 +# Common Development and Distribution License (the "License").
4.9 +# You may not use this file except in compliance with the License.
4.10 +#
4.11 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4.12 +# or http://www.opensolaris.org/os/licensing.
4.13 +# See the License for the specific language governing permissions
4.14 +# and limitations under the License.
4.15 +#
4.16 +# When distributing Covered Code, include this CDDL HEADER in each
4.17 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4.18 +# If applicable, add the following below this CDDL HEADER, with the
4.19 +# fields enclosed by brackets "[]" replaced with your own identifying
4.20 +# information: Portions Copyright [yyyy] [name of copyright owner]
4.21 +#
4.22 +# CDDL HEADER END
4.23 +#
4.24 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
4.25 +# Use is subject to license terms.
4.26 +#
4.27 +
4.28 +PKG=CPQary3
4.29 +NAME="HP Smart Array HBA Driver 2.2.0.1"
4.30 +ARCH="ISA"
4.31 +VERSION="ONVERS,REV=0.0.0"
4.32 +SUNW_PRODNAME="SunOS"
4.33 +SUNW_PRODVERS="RELEASE/VERSION"
4.34 +SUNW_PKGVERS="1.0"
4.35 +SUNW_PKGTYPE="root"
4.36 +MAXINST="1000"
4.37 +CATEGORY=system
4.38 +VENDOR="Sun Microsystems, Inc."
4.39 +DESC="HP Smart Array HBA Driver 2.2.0.1"
4.40 +CLASSES="none"
4.41 +HOTLINE="Please contact your local service provider"
4.42 +EMAIL=""
4.43 +BASEDIR=/
4.44 +SUNW_PKG_ALLZONES="true"
4.45 +SUNW_PKG_HOLLOW="true"
4.46 +SUNW_PKG_THISZONE="false"
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/usr/src/pkgdefs/CPQary3/postinstall Wed Dec 30 15:37:42 2009 +0800
5.3 @@ -0,0 +1,153 @@
5.4 +#!/sbin/sh
5.5 +#
5.6 +# CDDL HEADER START
5.7 +#
5.8 +# The contents of this file are subject to the terms of the
5.9 +# Common Development and Distribution License (the "License").
5.10 +# You may not use this file except in compliance with the License.
5.11 +#
5.12 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5.13 +# or http://www.opensolaris.org/os/licensing.
5.14 +# See the License for the specific language governing permissions
5.15 +# and limitations under the License.
5.16 +#
5.17 +# When distributing Covered Code, include this CDDL HEADER in each
5.18 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5.19 +# If applicable, add the following below this CDDL HEADER, with the
5.20 +# fields enclosed by brackets "[]" replaced with your own identifying
5.21 +# information: Portions Copyright [yyyy] [name of copyright owner]
5.22 +#
5.23 +# CDDL HEADER END
5.24 +#
5.25 +#
5.26 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5.27 +# Use is subject to license terms.
5.28 +#
5.29 +
5.30 +if [ "${BASEDIR:=/}" != "/" ]
5.31 +then
5.32 + BASEDIR_OPT="-b $BASEDIR"
5.33 +fi
5.34 +
5.35 +check_add_drv()
5.36 +{
5.37 + if [ "$BASEDIR" = "" ]; then
5.38 + BASEDIR=/
5.39 + DEVLINK_TAB="/etc/devlink.tab"
5.40 + else
5.41 + DEVLINK_TAB="$BASEDIR/etc/devlink.tab"
5.42 +
5.43 + fi
5.44 + alias=""
5.45 + class=""
5.46 + ADD_ALIAS=0
5.47 + ADD_CLASS=0
5.48 + ADD_MINOR=0
5.49 + OPTIND=1
5.50 + IS_NET_DRIVER=0
5.51 +
5.52 + cmd="add_drv"
5.53 +
5.54 + while getopts i:b:m:c:n opt; do
5.55 + case $opt in
5.56 + i ) ADD_ALIAS=1
5.57 + alias=$OPTARG
5.58 + cmd=$cmd" -i '$alias'"
5.59 + ;;
5.60 + m ) ADD_MINOR=1
5.61 + minor=$OPTARG
5.62 + cmd=$cmd" -m '$minor'"
5.63 + ;;
5.64 + c) ADD_CLASS=1
5.65 + class=$OPTARG
5.66 + cmd=$cmd" -c $class"
5.67 + ;;
5.68 + b) BASEDIR_OPT="-b $BASEDIR"
5.69 + cmd=$cmd" $BASEDIR_OPT"
5.70 + ;;
5.71 + n) IS_NET_DRIVER=1
5.72 + ;;
5.73 + \?) echo "check_add_drv can not handle this option"
5.74 + return
5.75 + ;;
5.76 + esac
5.77 + done
5.78 + shift `/usr/bin/expr $OPTIND - 1`
5.79 +
5.80 + drvname=$1
5.81 +
5.82 + cmd=$cmd" "$drvname
5.83 +
5.84 + drvname=`echo $drvname | /usr/bin/sed 's;.*/;;g'`
5.85 +
5.86 + /usr/bin/grep "^$drvname[ ]" $BASEDIR/etc/name_to_major > /dev/null 2>&1
5.87 +
5.88 + if [ $? -ne 0 ] ; then
5.89 + eval $cmd
5.90 + else
5.91 + # entry already in name_to_major, add alias, class, minorperm
5.92 + # if necessary
5.93 + if [ $ADD_ALIAS = 1 ]; then
5.94 + for i in $alias; do
5.95 + /usr/bin/egrep "^$drvname[ ]+$i" $BASEDIR/etc/driver_aliases>/dev/null 2>&1
5.96 + if [ $? -ne 0 ]; then
5.97 + echo "$drvname $i" >> $BASEDIR/etc/driver_aliases
5.98 + fi
5.99 + done
5.100 + fi
5.101 +
5.102 + if [ $ADD_CLASS = 1 ]; then
5.103 + /usr/bin/egrep "^$drvname[ ]+$class( | |$)" $BASEDIR/etc/driver_classes > /dev/null 2>&1
5.104 + if [ $? -ne 0 ]; then
5.105 + echo "$drvname\t$class" >> $BASEDIR/etc/driver_classes
5.106 + fi
5.107 + fi
5.108 +
5.109 + if [ $ADD_MINOR = 1 ]; then
5.110 + /usr/bin/grep "^$drvname:" $BASEDIR/etc/minor_perm > /dev/null 2>&1
5.111 + if [ $? -ne 0 ]; then
5.112 + minorentry="$drvname:$minor"
5.113 + echo $minorentry >> $BASEDIR/etc/minor_perm
5.114 + fi
5.115 + fi
5.116 +
5.117 + fi
5.118 +
5.119 + # The following clone device/dev is needed for Custom Jumpstart
5.120 +
5.121 + if [ $IS_NET_DRIVER -eq 1 ]; then
5.122 + CLONE_DEVICE=devices/pseudo/clone@0:$drvname
5.123 + set `/usr/bin/grep "^clone[ ]" $BASEDIR/etc/name_to_major`
5.124 + CLONE_MAJ=$2
5.125 + set `/usr/bin/grep "^$drvname[ ]" $BASEDIR/etc/name_to_major`
5.126 + DRIVER_MAJ=$2
5.127 + mknod $BASEDIR/$CLONE_DEVICE c $CLONE_MAJ $DRIVER_MAJ
5.128 + chmod 600 $BASEDIR/$CLONE_DEVICE
5.129 + chgrp sys $BASEDIR/$CLONE_DEVICE
5.130 + chown root $BASEDIR/$CLONE_DEVICE
5.131 + ln -s ../$CLONE_DEVICE $BASEDIR/dev/$drvname
5.132 + fi
5.133 +
5.134 +}
5.135 +
5.136 +add_devlink()
5.137 +{
5.138 + PATTERN="$1"
5.139 + LINK="$2"
5.140 + PLINK="`echo $LINK | sed 's/[$*^|\]/\\\&/g'`"
5.141 + TMP=/tmp/$$
5.142 + grep -v "^$PATTERN $PLINK$" ${DEVLINK_TAB} >$TMP.devlink
5.143 + echo "$PATTERN\t$LINK" >>$TMP.devlink
5.144 + cp $TMP.devlink ${DEVLINK_TAB}
5.145 + rm -f $TMP.devlink
5.146 +}
5.147 +
5.148 +check_add_drv -i '"pcie11,4070" "pcie11,4082" "pcie11,4083" "pcie11,409a"
5.149 +"pcie11,409b" "pcie11,409c" "pcie11,409d" "pcie11,4091" "pcie11,4080"
5.150 +"pci103c,3225" "pci103c,3211" "pci103c,3212" "pci103c,3234" "pci103c,3235"
5.151 +"pci103c,3223" "pci103c,3237" "pci103c,323d" "pci103c,3245" "pci103c,3241"
5.152 +"pci103c,3243" "pci103c,3247" "pci103c,324b" "pci103c,324a" "pci103c,3249"' $BASEDIR_OPT -c scsi cpqary3
5.153 +
5.154 +add_devlink 'type=ddi_pseudo;minor1=cpqary3' 'cpqary3\\M2'
5.155 +
5.156 +exit 0
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/usr/src/pkgdefs/CPQary3/postremove Wed Dec 30 15:37:42 2009 +0800
6.3 @@ -0,0 +1,63 @@
6.4 +#!/sbin/sh
6.5 +#
6.6 +# CDDL HEADER START
6.7 +#
6.8 +# The contents of this file are subject to the terms of the
6.9 +# Common Development and Distribution License (the "License").
6.10 +# You may not use this file except in compliance with the License.
6.11 +#
6.12 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6.13 +# or http://www.opensolaris.org/os/licensing.
6.14 +# See the License for the specific language governing permissions
6.15 +# and limitations under the License.
6.16 +#
6.17 +# When distributing Covered Code, include this CDDL HEADER in each
6.18 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6.19 +# If applicable, add the following below this CDDL HEADER, with the
6.20 +# fields enclosed by brackets "[]" replaced with your own identifying
6.21 +# information: Portions Copyright [yyyy] [name of copyright owner]
6.22 +#
6.23 +# CDDL HEADER END
6.24 +#
6.25 +#
6.26 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
6.27 +# Use is subject to license terms.
6.28 +#
6.29 +
6.30 +PATH="/usr/bin:/usr/sbin:${PATH}"
6.31 +export PATH
6.32 +TMP=/tmp/$$
6.33 +
6.34 +BASEDIR=${BASEDIR:-/}
6.35 +
6.36 +# Select the correct rem_drv options to execute.
6.37 +# Only attempt to unload the driver on a running system
6.38 +if [ "$BASEDIR" = "/" ]; then
6.39 + REM_DRV="rem_drv"
6.40 + DEVLINK_TAB="/etc/devlink.tab"
6.41 +
6.42 +else
6.43 + REM_DRV="rem_drv -b ${BASEDIR}"
6.44 + DEVLINK_TAB="${BASEDIR}/etc/devlink.tab"
6.45 +fi
6.46 +
6.47 +# Make sure rem_drv has not been previously executed
6.48 +# before attempting to remove the driver
6.49 +if grep "\<cpqary3\>" $BASEDIR/etc/name_to_major > /dev/null 2>&1
6.50 +then
6.51 + $REM_DRV cpqary3
6.52 +fi
6.53 +
6.54 +
6.55 +# Remove our entry from /etc/devlink.tab
6.56 +# Note: the tab after ${DRV} here is important.
6.57 +
6.58 +grep -v "^type=ddi_pseudo;minor1=cpqary3" ${DEVLINK_TAB} >$TMP.devlink
6.59 +
6.60 +# Must use 'cp' here in order to preserve the original
6.61 +# mode, owner and group of devlink.tab
6.62 +
6.63 +cp $TMP.devlink ${DEVLINK_TAB}
6.64 +rm -f $TMP.devlink
6.65 +
6.66 +exit 0
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/usr/src/pkgdefs/CPQary3/prototype_com Wed Dec 30 15:37:42 2009 +0800
7.3 @@ -0,0 +1,34 @@
7.4 +#
7.5 +# CDDL HEADER START
7.6 +#
7.7 +# The contents of this file are subject to the terms of the
7.8 +# Common Development and Distribution License (the "License").
7.9 +# You may not use this file except in compliance with the License.
7.10 +#
7.11 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7.12 +# or http://www.opensolaris.org/os/licensing.
7.13 +# See the License for the specific language governing permissions
7.14 +# and limitations under the License.
7.15 +#
7.16 +# When distributing Covered Code, include this CDDL HEADER in each
7.17 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7.18 +# If applicable, add the following below this CDDL HEADER, with the
7.19 +# fields enclosed by brackets "[]" replaced with your own identifying
7.20 +# information: Portions Copyright [yyyy] [name of copyright owner]
7.21 +#
7.22 +# CDDL HEADER END
7.23 +#
7.24 +#
7.25 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
7.26 +# Use is subject to license terms.
7.27 +#
7.28 +# This required package information file contains a list of package contents.
7.29 +# The 'pkgmk' command uses this file to identify the contents of a package
7.30 +# and their location on the development machine when building the package.
7.31 +# Can be created via a text editor or through use of the 'pkgproto' command.
7.32 +
7.33 +#!search <pathname pathname ...> # where to find pkg objects
7.34 +#!include <filename> # include another 'prototype' file
7.35 +#!default <mode> <owner> <group> # default used if not specified on entry
7.36 +#!<param>=<value> # puts parameter in pkg environment
7.37 +
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/usr/src/pkgdefs/CPQary3/prototype_i386 Wed Dec 30 15:37:42 2009 +0800
8.3 @@ -0,0 +1,55 @@
8.4 +#
8.5 +# CDDL HEADER START
8.6 +#
8.7 +# The contents of this file are subject to the terms of the
8.8 +# Common Development and Distribution License (the "License").
8.9 +# You may not use this file except in compliance with the License.
8.10 +#
8.11 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8.12 +# or http://www.opensolaris.org/os/licensing.
8.13 +# See the License for the specific language governing permissions
8.14 +# and limitations under the License.
8.15 +#
8.16 +# When distributing Covered Code, include this CDDL HEADER in each
8.17 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8.18 +# If applicable, add the following below this CDDL HEADER, with the
8.19 +# fields enclosed by brackets "[]" replaced with your own identifying
8.20 +# information: Portions Copyright [yyyy] [name of copyright owner]
8.21 +#
8.22 +# CDDL HEADER END
8.23 +#
8.24 +#
8.25 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
8.26 +# Use is subject to license terms.
8.27 +#
8.28 +
8.29 +#
8.30 +# This required package information file contains a list of package contents.
8.31 +# The 'pkgmk' command uses this file to identify the contents of a package
8.32 +# and their location on the development machine when building the package.
8.33 +# Can be created via a text editor or through use of the 'pkgproto' command.
8.34 +
8.35 +#!search <pathname pathname ...> # where to find pkg objects
8.36 +#!include <filename> # include another 'prototype' file
8.37 +#!default <mode> <owner> <group> # default used if not specified on entry
8.38 +#!<param>=<value> # puts parameter in pkg environment
8.39 +
8.40 +#
8.41 +# Include ISA independent files (prototype_com)
8.42 +#
8.43 +!include prototype_com
8.44 +#
8.45 +#
8.46 +i pkginfo
8.47 +i copyright
8.48 +i depend
8.49 +i postinstall
8.50 +i postremove
8.51 +
8.52 +# HP Smart Array driver
8.53 +d none kernel 0755 root sys
8.54 +d none kernel/drv 0755 root sys
8.55 +d none kernel/drv/amd64 0755 root sys
8.56 +f none kernel/drv/cpqary3 0755 root sys
8.57 +f none kernel/drv/cpqary3.conf 0644 root sys
8.58 +f none kernel/drv/amd64/cpqary3 0755 root sys