Current File : //etc/devices/inception_points
#
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
#

#
# Customers should not modify this file unless explicitedly directed to do so.
#
# Each non-comment line of the file defines one 'inception_point' keyword.
#
# Each 'inception_point' keyword is associated with a new, but incompatible,
# method of doing something. Typically, a new post-inception_point method is
# established via install: upgrade operation continues in legacy
# pre-inception_point mode. If a keyword is established by other means, expect
# some type of incompatible, and possibly destructive, change on reboot.
#
# An API is provided to determine if the system is running in pre or post
# inception_point keyword mode. The code associated with testing a keyword
# looks something like
#
#	if (ddi_inception_point_established("keyword")) {
#		post-inception_point implementation
#	} else {
#		legacy pre-inception_point implementation
#	}
#
# By tracking when inception points are introduced into this file, relative
# to associated environment at the time of that introduction, future Solaris
# developers can recognize opportunities to remove pre-inception_point code
# and delete the inception-point definition. This opportunities will often
# relate to platform EOL.
#
# In summary, the 'inception_point' mechanism gives us a way of both
# introducing incompatible change, and (eventually) retiring legacy code.
#

# inception_point keyword descriptions and definitions follow:

# scsa-no-binding-set-fcp/scsa-no-binding-set-vhci:
#	When these inception points are established the
#
#		scsi_hba.c:scsi_hba_nodename_compatible_get()
#
#	code no longer needs to create an fcp or vhci binding-set specific
#	compatible form. One result of not having this form is that a "disk@"
#	generic node-names will be created for SPARC FC/leadville /devices
#	paths instead of "ssd@" names. This is particularly important for MPxIO,
#	where the vHCI and all pHCIs need to agree on a node-name.
#scsa-no-binding-set-fcp
#scsa-no-binding-set-vhci

# scsa-binding-set-fcp-0x<dtype>/scsa-binding-set-vhci-0x<dtype>
#	For many dtype values, like 00/'disk', switching driver binding and
#	node-name via scsa-no-binding-set-fcp/scsa-no-binding-set-vhci
#	does not cause an incompatible change. This is because the associated
#	devfsadm(1M) link generator code produces the same result either way.
#	For other dtype values, like 01/'tape' and 0d/'enclosure', the link
#	generator code will produce an incompatible new public /dev name when
#	the node-name@ changes.
#
#	To limit incompatible change, we use an inception-point keyword that
#	includes <dtype> that forces generation of binding-set compatible forms
#	even when scsa-no-binding-set-fcp/scsa-no-binding-set-vhci are defined.
#scsa-binding-set-fcp-0x01
#scsa-binding-set-vhci-0x01
#scsa-binding-set-fcp-0x0d
#scsa-binding-set-vhci-0x0d

# NOTE: Add new inception points here ...