1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24
25#
26# pshot is a pseudo driver for use in tests, together with another
27# pseudo driver, gen_drv.  These drivers' binaries are contained
28# in the system/io/tests package (formerly known as SUNWiotu
29# and SUNWiotux).
30# These packages are not bundled as part of Solaris however.
31#
32# Once installed, these drivers may be enabled by running add_drv:
33#
34#	add_drv -i 'SUNW,pshot' pshot
35#	add_drv -i 'SUNW,gen_drv' gen_drv
36#
37
38name="pshot" class="root";
39
40
41#
42# How to add support for devices not included with the stock package, by
43# certain array properties:
44# (see pshot.h for the values of the <PSHOT_PROP_DEV.*> property names)
45#
46#
47# corresponding         |   pshot_device_t array elements
48# pshot_device_t        |
49# member by prop name   |   [0]            [1]           [2]
50# ----------------------|--------------|-------------|-----------------------
51# <PSHOT_PROP_DEVNAME>  ="disk",        "tape",       "testdev";
52# <PSHOT_PROP_DEVNT>    ="DDI_NT_BLOCK","DDI_NT_TAPE","ddi_testdev_nodetype";
53# <PSHOT_PROP_DEVCOMPAT>="testdrv",     "testdrv",    "testdrv";
54#
55#
56# this example adds 3 devices that may be parented by pshot:
57#			dev1		dev2		dev3
58#			----		----		----
59# node name:		disk		tape		testdev
60# node type:		DDI_NT_BLOCK	DDI_NT_TAPE	"ddi_testdev_nodetype"
61# compatible driver:	testdrv		testdrv		testdrv
62#
63# if any of these properties are specified, then:
64# - all the members must be specified
65# - the number of elements for each string array property must be the same
66# - no empty strings allowed
67# - nodetypes (PSHOT_PROP_DEVNT) must be the nodetype name as specified in
68#   sys/sunddi.h -- caveat: see below
69#
70# Current implementation allows for overriding of stock devices
71#	e.g. if the "disk" device is bound to the "gen_drv" driver, you may
72#	override that with your own driver,
73# as well as custom nodetypes
74#	i.e. if a value for <PSHOT_PROP_DEVNT> does not not match a known
75#	nodetype name, such as "DDI_NT_BLOCK" etc., then the supplied value
76#	will be used verbatim
77#
78# In addition, the current implementation only require that these properties
79# be specified for a single pshot instance in order to apply globably, so it's
80# possible to unclutter a device tree snapshot by applying these properties
81# just to the root pshot instance with a physically single long line of
82# property assignments:
83#    name="pshot" parent="/" <PSHOT_PROP_DEVNAME>="..",".." <PSHOT_PROP*>= ..;
84#
85