diff options
| author | jw149990 <none@none> | 2008-06-02 20:05:52 -0700 |
|---|---|---|
| committer | jw149990 <none@none> | 2008-06-02 20:05:52 -0700 |
| commit | 5c44817c0d1a2b9b02dbbf343823da0b064f0ee7 (patch) | |
| tree | 399642d887fb92b192aa26bcbe02a11d3f6862fa /usr/src | |
| parent | 50953a6d365217c310232e7d3d326f02ff97ff8b (diff) | |
| download | illumos-joyent-5c44817c0d1a2b9b02dbbf343823da0b064f0ee7.tar.gz | |
PSARC 2008/337 scsi-self-identifying
6637648 new class scsi-self-identifying needed
6682564 solaris shall not chain together 'specs' whose class names are different during parsing hwconf file
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/pkgdefs/SUNWahci/postinstall | 25 | ||||
| -rw-r--r-- | usr/src/pkgdefs/SUNWmv88sx/postinstall | 5 | ||||
| -rw-r--r-- | usr/src/pkgdefs/SUNWnvsata/postinstall | 4 | ||||
| -rw-r--r-- | usr/src/pkgdefs/SUNWsi3124/postinstall | 5 | ||||
| -rw-r--r-- | usr/src/pkgdefs/common_files/i.kclasses_i386 | 6 | ||||
| -rw-r--r-- | usr/src/pkgdefs/common_files/i.kclasses_sparc | 6 | ||||
| -rw-r--r-- | usr/src/pkgdefs/common_files/i.sdconf_i386 | 50 | ||||
| -rw-r--r-- | usr/src/pkgdefs/common_files/i.sdconf_sparc | 20 | ||||
| -rw-r--r-- | usr/src/pkgdefs/common_files/i.ssdconf | 19 | ||||
| -rw-r--r-- | usr/src/tools/scripts/bfu.sh | 32 | ||||
| -rw-r--r-- | usr/src/uts/common/io/sata/impl/sata.c | 27 | ||||
| -rw-r--r-- | usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c | 39 | ||||
| -rw-r--r-- | usr/src/uts/common/os/modsysfile.c | 13 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/scsi/targets/sd.conf | 20 | ||||
| -rw-r--r-- | usr/src/uts/intel/os/driver_classes | 5 | ||||
| -rw-r--r-- | usr/src/uts/sparc/os/driver_classes | 3 | ||||
| -rw-r--r-- | usr/src/uts/sun/io/scsi/targets/sd.conf | 10 | ||||
| -rw-r--r-- | usr/src/uts/sun/io/scsi/targets/ssd.conf | 20 |
18 files changed, 225 insertions, 84 deletions
diff --git a/usr/src/pkgdefs/SUNWahci/postinstall b/usr/src/pkgdefs/SUNWahci/postinstall index 68a3de40ae..8416c09fde 100644 --- a/usr/src/pkgdefs/SUNWahci/postinstall +++ b/usr/src/pkgdefs/SUNWahci/postinstall @@ -21,7 +21,7 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" @@ -41,16 +41,29 @@ installed() { return $? } +verify_drv_class() { + driver=$1 + class=$2 + egrep "^$driver[ ]+$class( | |$)" \ + $BASEDIR/etc/driver_classes + return $? +} + EXIT=0 if installed ahci; then - echo "ahci already installed" || EXIT=1 - -else + if verify_drv_class ahci scsi-self-identifying; then + echo "ahci already installed" || EXIT=1 + else + echo "ahci\tscsi-self-identifying" >> \ + $BASEDIR/etc/driver_classes + fi +else add_drv -i \ '"pciclass,010601"' \ - ${BASEDIR_OPT} -m '* 0644 root sys' ahci || \ - EXIT=1 + ${BASEDIR_OPT} -m '* 0644 root sys' -c \ + scsi-self-identifying ahci || EXIT=1 + fi exit $EXIT diff --git a/usr/src/pkgdefs/SUNWmv88sx/postinstall b/usr/src/pkgdefs/SUNWmv88sx/postinstall index 8c093a0041..6adaed4205 100644 --- a/usr/src/pkgdefs/SUNWmv88sx/postinstall +++ b/usr/src/pkgdefs/SUNWmv88sx/postinstall @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # ident "%Z%%M% %I% %E% SMI" @@ -113,4 +113,5 @@ check_add_drv -i \ "pci11ab,5040" "pci11ab,6041.9" "pci11ab,6081.9"'\ - -b "$BASEDIR" -m '* 0644 root sys' marvell88sx + -b "$BASEDIR" -m '* 0644 root sys'\ + -c scsi-self-identifying marvell88sx diff --git a/usr/src/pkgdefs/SUNWnvsata/postinstall b/usr/src/pkgdefs/SUNWnvsata/postinstall index 6d4e3c29ba..9b43dd9cd6 100644 --- a/usr/src/pkgdefs/SUNWnvsata/postinstall +++ b/usr/src/pkgdefs/SUNWnvsata/postinstall @@ -21,7 +21,7 @@ # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # ident "%Z%%M% %I% %E% SMI" @@ -1301,7 +1301,7 @@ check_add_drv() # # Main program starts here. # -check_add_drv -b ${ROOT} -i '"pci10de,37f" "pci10de,55" "pci10de,54"' -m '* 0644 root sys' nv_sata +check_add_drv -b ${ROOT} -i '"pci10de,37f" "pci10de,55" "pci10de,54"' -m '* 0644 root sys' -c scsi-self-identifying nv_sata # # Create temporary directory for node migration diff --git a/usr/src/pkgdefs/SUNWsi3124/postinstall b/usr/src/pkgdefs/SUNWsi3124/postinstall index adc4a97737..a58173f9cc 100644 --- a/usr/src/pkgdefs/SUNWsi3124/postinstall +++ b/usr/src/pkgdefs/SUNWsi3124/postinstall @@ -21,7 +21,7 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" @@ -130,4 +130,5 @@ check_add_drv() check_add_drv -i \ '"pci1095,3124" "pci1095,3132"'\ - -b "$BASEDIR" -m '* 0644 root sys' si3124 + -b "$BASEDIR" -m '* 0644 root sys'\ + -c scsi-self-identifying si3124 diff --git a/usr/src/pkgdefs/common_files/i.kclasses_i386 b/usr/src/pkgdefs/common_files/i.kclasses_i386 index ddbd428c3b..5bb023e2f9 100644 --- a/usr/src/pkgdefs/common_files/i.kclasses_i386 +++ b/usr/src/pkgdefs/common_files/i.kclasses_i386 @@ -21,7 +21,7 @@ # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -94,6 +94,10 @@ do if [ $? != 0 ] ; then echo 'mpt scsi' >> $dest fi + grep '^scsi_vhci[ ].*scsi-self-identifying' $dest > /dev/null 2>&1 + if [ $? != 0 ] ; then + echo 'scsi_vhci scsi-self-identifying' >> $dest + fi fi done diff --git a/usr/src/pkgdefs/common_files/i.kclasses_sparc b/usr/src/pkgdefs/common_files/i.kclasses_sparc index 787a2cc8e7..77bd25476c 100644 --- a/usr/src/pkgdefs/common_files/i.kclasses_sparc +++ b/usr/src/pkgdefs/common_files/i.kclasses_sparc @@ -22,7 +22,7 @@ # #ident "%Z%%M% %I% %E% SMI" # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # @@ -99,6 +99,10 @@ do if [ $? != 0 ] ; then echo 'mpt scsi' >> $dest fi + grep '^scsi_vhci[ ].*scsi-self-identifying' $dest > /dev/null 2>&1 + if [ $? != 0 ] ; then + echo 'scsi_vhci scsi-self-identifying' >> $dest + fi fi done rm -f /tmp/newident.$$ /tmp/rest.$$ diff --git a/usr/src/pkgdefs/common_files/i.sdconf_i386 b/usr/src/pkgdefs/common_files/i.sdconf_i386 index 7284d57b99..555847596f 100644 --- a/usr/src/pkgdefs/common_files/i.sdconf_i386 +++ b/usr/src/pkgdefs/common_files/i.sdconf_i386 @@ -1,11 +1,9 @@ -#!/bin/sh # # 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. @@ -20,18 +18,25 @@ # # CDDL HEADER END # -# -#ident "%Z%%M% %I% %E% SMI" + # # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. +# +#ident "%Z%%M% %I% %E% SMI" +# PATH="/usr/bin:/usr/sbin:${PATH}" export PATH -add_sata_entry() { -cat >> $dest << EOF -name="sd" parent="$1"; +add_self_identifying_entry() { +cat >> $dest <<EOF + +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="sd" class="scsi-self-identifying"; EOF } @@ -94,6 +99,11 @@ do -e '/^name="sd" parent="flashpt"\n target=4 lun=0;\n$/d' \ -e '/^name="sd" parent="flashpt"\n target=5 lun=0;\n$/d' \ -e '/^name="sd" parent="flashpt"\n target=6 lun=0;\n$/d' \ + -e '/^# Add SATA HBA drivers as parents of sd driver.$/d' \ + -e '/^name="sd" parent="nv_sata";$/d' \ + -e '/^name="sd" parent="ahci";$/d' \ + -e '/^name="sd" parent="si3124";$/d' \ + -e '/^name="sd" parent="marvell88sx";$/d' \ /tmp/d.$$ > /tmp/d2.$$ if cmp -s /tmp/d.$$ /tmp/d2.$$ > /dev/null 2>&1 @@ -102,29 +112,11 @@ do else cp /tmp/d2.$$ $dest fi + echo `cat $dest` | grep "scsi-self-identifying" > /dev/null - # Add SATA HBA driver entries if not present - line1="name=\"sd\" parent=\"nv_sata\";" - echo `cat $dest` | grep "$line1" >/dev/null - if [ $? -ne 0 ]; then - add_sata_entry "nv_sata" - fi - line1="name=\"sd\" parent=\"ahci\";" - echo `cat $dest` | grep "$line1" >/dev/null - if [ $? -ne 0 ]; then - add_sata_entry "ahci" - fi - line1="name=\"sd\" parent=\"si3124\";" - echo `cat $dest` | grep "$line1" >/dev/null - if [ $? -ne 0 ]; then - add_sata_entry "si3124" - fi - line1="name=\"sd\" parent=\"marvell88sx\";" - echo `cat $dest` | grep "$line1" >/dev/null if [ $? -ne 0 ]; then - add_sata_entry "marvell88sx" + add_self_identifying_entry fi - # remove temporary files rm -f /tmp/d.$$ /tmp/d2.$$ /tmp/newident.$$ /tmp/rest.$$ fi diff --git a/usr/src/pkgdefs/common_files/i.sdconf_sparc b/usr/src/pkgdefs/common_files/i.sdconf_sparc index 2b0327648a..5d781fc0d9 100644 --- a/usr/src/pkgdefs/common_files/i.sdconf_sparc +++ b/usr/src/pkgdefs/common_files/i.sdconf_sparc @@ -19,7 +19,9 @@ # # CDDL HEADER END # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. + +# +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -42,6 +44,17 @@ name="sd" parent="mpt" EOF } +add_self_identifying_entry() { +cat >> $dest <<EOF + +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="sd" class="scsi-self-identifying"; +EOF +} + while read src dest; do if [ ! -f $dest ]; then cp $src $dest @@ -53,6 +66,11 @@ while read src dest; do if [ $? -ne 0 ]; then add_mpt_entry fi + echo `cat $dest` | grep "scsi-self-identifying" > /dev/null + + if [ $? -ne 0 ]; then + add_self_identifying_entry + fi fi done diff --git a/usr/src/pkgdefs/common_files/i.ssdconf b/usr/src/pkgdefs/common_files/i.ssdconf index d98ce71c6d..80605118de 100644 --- a/usr/src/pkgdefs/common_files/i.ssdconf +++ b/usr/src/pkgdefs/common_files/i.ssdconf @@ -19,7 +19,7 @@ # # CDDL HEADER END # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -28,12 +28,24 @@ PATH="/usr/bin:/usr/sbin:${PATH}" export PATH +add_self_identifying_entry() { +cat >> $dest <<EOF + +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="ssd" class="scsi-self-identifying"; +EOF +} + while read src dest; do if [ ! -f $dest ]; then cp $src $dest else # Remove obsoleted drivers grep -v 'name="ssd" parent="SUNW,pln" port=' $dest > /tmp/d.$$ + grep -v 'name="ssd" parent="scsi_vhci" target=0;' /tmp/d.$$ > /tmp/d.$$ mv /tmp/d.$$ $dest # Process conf files for missing entries @@ -47,6 +59,11 @@ while read src dest; do echo $confline >> $dest fi done < $src + echo `cat $dest` | grep "scsi-self-identifying" > /dev/null + + if [ $? -ne 0 ]; then + add_self_identifying_entry + fi fi done diff --git a/usr/src/tools/scripts/bfu.sh b/usr/src/tools/scripts/bfu.sh index c4dbdcf94f..331352fae5 100644 --- a/usr/src/tools/scripts/bfu.sh +++ b/usr/src/tools/scripts/bfu.sh @@ -762,6 +762,34 @@ update_etc_mach_i386() fi } +# check and update driver class for scsi-self-identifying +chk_update_drv_class() +{ + + drvclassfile=$rootprefix/etc/driver_classes + name2majorfile=$rootprefix/etc/name_to_major + drvname=$1 + classentry="^$drvname[ ].*scsi-self-identifying" + + [ -f $drvclassfile ] || return + [ -f $name2majorfile ] || return + + grep -w $drvname $name2majorfile > /dev/null 2>&1 || return + + egrep -s "$classentry" $drvclassfile + if [ $? -ne 0 ]; then + echo "$drvname scsi-self-identifying" >> $drvclassfile + fi +} + +update_drvclass_i386() +{ + chk_update_drv_class ahci + chk_update_drv_class si3124 + chk_update_drv_class marvell88sx + chk_update_drv_class nv_sata +} + update_policy_conf() { # update /etc/security/policy.conf with the default # Solaris crypt(3c) policy. @@ -7776,6 +7804,10 @@ mondo_loop() { update_etc_mach_i386 fi + if [ $target_isa = i386 ]; then + update_drvclass_i386 + fi + if [ $zone != global ]; then rm -rf $global_zone_only_files $superfluous_nonglobal_zone_files fi diff --git a/usr/src/uts/common/io/sata/impl/sata.c b/usr/src/uts/common/io/sata/impl/sata.c index d3b3f9608b..ad4c00236c 100644 --- a/usr/src/uts/common/io/sata/impl/sata.c +++ b/usr/src/uts/common/io/sata/impl/sata.c @@ -1637,6 +1637,24 @@ sata_free_error_retrieval_pkt(sata_pkt_t *sata_pkt) } +/* + * sata_name_child is for composing the name of the node + * the format of the name is "target,0". + */ +static int +sata_name_child(dev_info_t *dip, char *name, int namelen) +{ + int target; + + target = ddi_prop_get_int(DDI_DEV_T_ANY, dip, + DDI_PROP_DONTPASS, "target", -1); + if (target == -1) + return (DDI_FAILURE); + (void) snprintf(name, namelen, "%x,0", target); + return (DDI_SUCCESS); +} + + /* ****************** SCSA required entry points *********************** */ @@ -1665,6 +1683,15 @@ sata_scsi_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, char *vid, *pid; int i; + /* + * Fail tran_tgt_init for .conf stub node + */ + if (ndi_dev_is_persistent_node(tgt_dip) == 0) { + (void) ndi_merge_node(tgt_dip, sata_name_child); + ddi_set_name_addr(tgt_dip, NULL); + return (DDI_FAILURE); + } + sata_hba_inst = (sata_hba_inst_t *)(hba_tran->tran_hba_private); /* Validate scsi device address */ diff --git a/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c b/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c index 47a62af903..d4c26d15e3 100644 --- a/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c +++ b/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c @@ -915,7 +915,6 @@ vhci_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) return (DDI_SUCCESS); } - /*ARGSUSED*/ static int vhci_scsi_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, @@ -931,28 +930,40 @@ vhci_scsi_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, ASSERT(hba_dip != NULL); ASSERT(tgt_dip != NULL); - vhci = ddi_get_soft_state(vhci_softstate, ddi_get_instance(hba_dip)); - ASSERT(vhci != NULL); - - VHCI_DEBUG(4, (CE_NOTE, hba_dip, - "!tgt_init: called for %s (instance %d)\n", - ddi_driver_name(tgt_dip), ddi_get_instance(tgt_dip))); - if (ddi_prop_lookup_string(DDI_DEV_T_ANY, tgt_dip, PROPFLAGS, MDI_CLIENT_GUID_PROP, &guid) != DDI_SUCCESS) { /* - * This must be the .conf node. The ssd node under - * fp already inserts a delay, so we just return from here. - * We rely on this delay to have all dips be posted to - * the ndi hotplug thread's newdev list. This is - * necessary for the deferred attach mechanism to work - * and opens() done soon after boot to succeed. + * This must be the .conf node without GUID property. + * The node under fp already inserts a delay, so we + * just return from here. We rely on this delay to have + * all dips be posted to the ndi hotplug thread's newdev + * list. This is necessary for the deferred attach + * mechanism to work and opens() done soon after boot to + * succeed. */ VHCI_DEBUG(4, (CE_WARN, hba_dip, "tgt_init: lun guid " "property failed")); return (DDI_NOT_WELL_FORMED); } + if (ndi_dev_is_persistent_node(tgt_dip) == 0) { + /* + * This must be .conf node with the GUID property. We don't + * merge property by ndi_merge_node() here because the + * devi_addr_buf of .conf node is "" always according the + * implementation of vhci_scsi_get_name_bus_addr(). + */ + ddi_set_name_addr(tgt_dip, NULL); + return (DDI_FAILURE); + } + + vhci = ddi_get_soft_state(vhci_softstate, ddi_get_instance(hba_dip)); + ASSERT(vhci != NULL); + + VHCI_DEBUG(4, (CE_NOTE, hba_dip, + "!tgt_init: called for %s (instance %d)\n", + ddi_driver_name(tgt_dip), ddi_get_instance(tgt_dip))); + vlun = vhci_lun_lookup(tgt_dip); mutex_enter(&vhci_global_mutex); diff --git a/usr/src/uts/common/os/modsysfile.c b/usr/src/uts/common/os/modsysfile.c index 5ba026e22e..2294f1793b 100644 --- a/usr/src/uts/common/os/modsysfile.c +++ b/usr/src/uts/common/os/modsysfile.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -3160,8 +3160,9 @@ add_spec(struct hwc_spec *spec, struct par_list **par) major_t maj; struct par_list *pl, *par_last = NULL; char *parent = spec->hwc_parent_name; + char *class = spec->hwc_class_name; - ASSERT(parent || spec->hwc_class_name); + ASSERT(parent || class); /* * If given a parent=/full-pathname, see if the platform @@ -3191,10 +3192,14 @@ add_spec(struct hwc_spec *spec, struct par_list **par) maj = (major_t)-1; /* - * Scan the list looking for a matching parent. + * Scan the list looking for a matching parent. When parent is + * not NULL, we match the parent by major. If parent is NULL but + * class is not NULL, we mache the pl by class name. */ for (pl = *par; pl; pl = pl->par_next) { - if (maj == pl->par_major) { + if ((parent && (maj == pl->par_major)) || ((parent == NULL) && + class && pl->par_specs->hwc_class_name && (strncmp(class, + pl->par_specs->hwc_class_name, strlen(class)) == 0))) { append(spec, pl); return; } diff --git a/usr/src/uts/intel/io/scsi/targets/sd.conf b/usr/src/uts/intel/io/scsi/targets/sd.conf index aa6fb10e47..2050575fa9 100644 --- a/usr/src/uts/intel/io/scsi/targets/sd.conf +++ b/usr/src/uts/intel/io/scsi/targets/sd.conf @@ -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,12 +18,13 @@ # # CDDL HEADER END # -# -#pragma ident "%Z%%M% %I% %E% SMI" + # # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # +#ident "%Z%%M% %I% %E% SMI" +# name="sd" class="scsi" target=0 lun=0; name="sd" class="scsi" target=1 lun=0; @@ -43,8 +43,8 @@ name="sd" class="scsi" target=13 lun=0; name="sd" class="scsi" target=14 lun=0; name="sd" class="scsi" target=15 lun=0; -# Add SATA HBA drivers as parents of sd driver. -name="sd" parent="nv_sata"; -name="sd" parent="ahci"; -name="sd" parent="si3124"; -name="sd" parent="marvell88sx"; +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="sd" class="scsi-self-identifying"; diff --git a/usr/src/uts/intel/os/driver_classes b/usr/src/uts/intel/os/driver_classes index 8b2115730b..cf66ff7abc 100644 --- a/usr/src/uts/intel/os/driver_classes +++ b/usr/src/uts/intel/os/driver_classes @@ -1,5 +1,5 @@ # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START @@ -21,7 +21,7 @@ # # CDDL HEADER END # -#pragma ident "%Z%%M% %I% %E% SMI" +#ident "%Z%%M% %I% %E% SMI" ata scsi mscsi scsi @@ -30,3 +30,4 @@ eisa sysbus pci pci pci_pci pci mpt scsi +scsi_vhci scsi-self-identifying diff --git a/usr/src/uts/sparc/os/driver_classes b/usr/src/uts/sparc/os/driver_classes index 5e8ebecad6..9fb8d88e11 100644 --- a/usr/src/uts/sparc/os/driver_classes +++ b/usr/src/uts/sparc/os/driver_classes @@ -1,5 +1,5 @@ # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START @@ -36,3 +36,4 @@ glm scsi uata dada uata scsi mpt scsi +scsi_vhci scsi-self-identifying diff --git a/usr/src/uts/sun/io/scsi/targets/sd.conf b/usr/src/uts/sun/io/scsi/targets/sd.conf index 603231ccf8..89c4386528 100644 --- a/usr/src/uts/sun/io/scsi/targets/sd.conf +++ b/usr/src/uts/sun/io/scsi/targets/sd.conf @@ -20,10 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" +#ident "%Z%%M% %I% %E% SMI" +# name="sd" class="scsi" class_prop="atapi" target=0 lun=0; @@ -78,3 +79,8 @@ name="sd" class="scsi" # name="sd" parent="mpt" target=7 lun=0; +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="sd" class="scsi-self-identifying"; diff --git a/usr/src/uts/sun/io/scsi/targets/ssd.conf b/usr/src/uts/sun/io/scsi/targets/ssd.conf index b79ad6a672..c3fc22749a 100644 --- a/usr/src/uts/sun/io/scsi/targets/ssd.conf +++ b/usr/src/uts/sun/io/scsi/targets/ssd.conf @@ -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,12 +18,21 @@ # # CDDL HEADER END # + # -# Copyright 2003 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" +# -name="ssd" parent="sf" target=0; +name="ssd" parent="sf" target=0; name="ssd" parent="fp" target=0; -name="ssd" parent="scsi_vhci" target=0; +# +# The following stub node is needed for pathological bottom-up +# devid resolution on a self-identifying transport. +# +name="ssd" class="scsi-self-identifying"; + + + |
