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