blob: 2a3ff5893c076d51040c1131cfe8a32d496cfc27 [file] [log] [blame]
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -07001#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
jmcp78add222010-07-06 17:14:19 -07005# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -07007#
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#
jmcp78add222010-07-06 17:14:19 -070022# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070023#
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
jmcp78add222010-07-06 17:14:19 -070028# in the system/io/tests package (formerly known as SUNWiotu
29# and SUNWiotux).
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070030# 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#