svn commit: r296051 - user/imp/camdoc

Warner Losh imp at FreeBSD.org
Thu Feb 25 18:37:57 UTC 2016


Author: imp
Date: Thu Feb 25 18:37:54 2016
New Revision: 296051
URL: https://svnweb.freebsd.org/changeset/base/296051

Log:
  Stubs, or not-so-stubbed, man pages for CAM. Still a lot of work
  needed before this is done. Checkpoint for others to help, if they
  want, and to allow easier sharing between my different machines.

Added:
  user/imp/camdoc/CAM_PERIPH_FOREACH.9   (contents, props changed)
  user/imp/camdoc/CAM_SIM_LOCK.9   (contents, props changed)
  user/imp/camdoc/cam.9   (contents, props changed)
  user/imp/camdoc/cam_ccb.9   (contents, props changed)
  user/imp/camdoc/cam_error_string.9   (contents, props changed)
  user/imp/camdoc/cam_fetch_status_entry.9   (contents, props changed)
  user/imp/camdoc/cam_freeze_devq.9   (contents, props changed)
  user/imp/camdoc/cam_init_pinfo.9   (contents, props changed)
  user/imp/camdoc/cam_periph.9   (contents, props changed)
  user/imp/camdoc/cam_periph_acquire.9   (contents, props changed)
  user/imp/camdoc/cam_periph_acquire_first.9   (contents, props changed)
  user/imp/camdoc/cam_periph_alloc.9   (contents, props changed)
  user/imp/camdoc/cam_periph_assert.9   (contents, props changed)
  user/imp/camdoc/cam_periph_async.9   (contents, props changed)
  user/imp/camdoc/cam_periph_bus_settle.9   (contents, props changed)
  user/imp/camdoc/cam_periph_ccbwait.9   (contents, props changed)
  user/imp/camdoc/cam_periph_error.9   (contents, props changed)
  user/imp/camdoc/cam_periph_find.9   (contents, props changed)
  user/imp/camdoc/cam_periph_freeze_after_event.9   (contents, props changed)
  user/imp/camdoc/cam_periph_getccb.9   (contents, props changed)
  user/imp/camdoc/cam_periph_hold.9   (contents, props changed)
  user/imp/camdoc/cam_periph_invalidate.9   (contents, props changed)
  user/imp/camdoc/cam_periph_ioctl.9   (contents, props changed)
  user/imp/camdoc/cam_periph_lock.9   (contents, props changed)
  user/imp/camdoc/cam_periph_mapmem.9   (contents, props changed)
  user/imp/camdoc/cam_periph_mtx.9   (contents, props changed)
  user/imp/camdoc/cam_periph_owned.9   (contents, props changed)
  user/imp/camdoc/cam_periph_release.9   (contents, props changed)
  user/imp/camdoc/cam_periph_runccb.9   (contents, props changed)
  user/imp/camdoc/cam_periph_sleep.9   (contents, props changed)
  user/imp/camdoc/cam_periph_unhold.9   (contents, props changed)
  user/imp/camdoc/cam_periph_unlock.9   (contents, props changed)
  user/imp/camdoc/cam_quirkmatch.9   (contents, props changed)
  user/imp/camdoc/cam_release_devq.9   (contents, props changed)
  user/imp/camdoc/cam_sim.9   (contents, props changed)
  user/imp/camdoc/cam_sim_alloc.9   (contents, props changed)
  user/imp/camdoc/cam_sim_bus.9   (contents, props changed)
  user/imp/camdoc/cam_sim_free.9   (contents, props changed)
  user/imp/camdoc/cam_sim_hold.9   (contents, props changed)
  user/imp/camdoc/cam_sim_name.9   (contents, props changed)
  user/imp/camdoc/cam_sim_path.9   (contents, props changed)
  user/imp/camdoc/cam_sim_release.9   (contents, props changed)
  user/imp/camdoc/cam_sim_set_path.9   (contents, props changed)
  user/imp/camdoc/cam_sim_softc.9   (contents, props changed)
  user/imp/camdoc/cam_sim_unit.9   (contents, props changed)
  user/imp/camdoc/cam_simq_alloc.9   (contents, props changed)
  user/imp/camdoc/cam_simq_free.9   (contents, props changed)
  user/imp/camdoc/cam_strmatch.9   (contents, props changed)
  user/imp/camdoc/cam_strvis.9   (contents, props changed)
  user/imp/camdoc/xpt_action.9   (contents, props changed)
  user/imp/camdoc/xpt_action_default.9   (contents, props changed)
  user/imp/camdoc/xpt_add_periph.9   (contents, props changed)
  user/imp/camdoc/xpt_alloc_ccb.9   (contents, props changed)
  user/imp/camdoc/xpt_announce_periph.9   (contents, props changed)
  user/imp/camdoc/xpt_announce_quirks.9   (contents, props changed)
  user/imp/camdoc/xpt_async.9   (contents, props changed)
  user/imp/camdoc/xpt_bus_deregister.9   (contents, props changed)
  user/imp/camdoc/xpt_bus_register.9   (contents, props changed)
  user/imp/camdoc/xpt_clone_path.9   (contents, props changed)
  user/imp/camdoc/xpt_compile_path.9   (contents, props changed)
  user/imp/camdoc/xpt_copy_path.9   (contents, props changed)
  user/imp/camdoc/xpt_create_path.9   (contents, props changed)
  user/imp/camdoc/xpt_denounce_periph.9   (contents, props changed)
  user/imp/camdoc/xpt_done.9   (contents, props changed)
  user/imp/camdoc/xpt_free_ccb.9   (contents, props changed)
  user/imp/camdoc/xpt_free_path.9   (contents, props changed)
  user/imp/camdoc/xpt_freeze_devq.9   (contents, props changed)
  user/imp/camdoc/xpt_freeze_simq.9   (contents, props changed)
  user/imp/camdoc/xpt_getattr.9   (contents, props changed)
  user/imp/camdoc/xpt_hold_boot.9   (contents, props changed)
  user/imp/camdoc/xpt_lock_buses.9   (contents, props changed)
  user/imp/camdoc/xpt_merge_ccb.9   (contents, props changed)
  user/imp/camdoc/xpt_path_assert.9   (contents, props changed)
  user/imp/camdoc/xpt_path_comp.9   (contents, props changed)
  user/imp/camdoc/xpt_path_counts.9   (contents, props changed)
  user/imp/camdoc/xpt_path_lock.9   (contents, props changed)
  user/imp/camdoc/xpt_path_mtx.9   (contents, props changed)
  user/imp/camdoc/xpt_path_owned.9   (contents, props changed)
  user/imp/camdoc/xpt_path_path_id.9   (contents, props changed)
  user/imp/camdoc/xpt_path_periph.9   (contents, props changed)
  user/imp/camdoc/xpt_path_sim.9   (contents, props changed)
  user/imp/camdoc/xpt_path_sleep.9   (contents, props changed)
  user/imp/camdoc/xpt_path_unlock.9   (contents, props changed)
  user/imp/camdoc/xpt_polled_action.9   (contents, props changed)
  user/imp/camdoc/xpt_print.9   (contents, props changed)
  user/imp/camdoc/xpt_print_device.9   (contents, props changed)
  user/imp/camdoc/xpt_print_path.9   (contents, props changed)
  user/imp/camdoc/xpt_register_async.9   (contents, props changed)
  user/imp/camdoc/xpt_release_ccb.9   (contents, props changed)
  user/imp/camdoc/xpt_release_path.9   (contents, props changed)
  user/imp/camdoc/xpt_remove_periph.9   (contents, props changed)
  user/imp/camdoc/xpt_rescan.9   (contents, props changed)
  user/imp/camdoc/xpt_schedule.9   (contents, props changed)
  user/imp/camdoc/xpt_setup_ccb.9   (contents, props changed)
Modified:
  user/imp/camdoc/Makefile

Added: user/imp/camdoc/CAM_PERIPH_FOREACH.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/CAM_PERIPH_FOREACH.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,47 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_FOREACH 9
+.Os
+.Sh NAME
+.Nm CAM_PERIPH_FOREACH
+.Nd xxx blah blah blah
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Fn CAM_PERIPH_FOREACH "struct cam_periph *periph" "struct periph_driver *driver"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/CAM_SIM_LOCK.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/CAM_SIM_LOCK.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,64 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_SIM_LOCK 9
+.Os
+.Sh NAME
+.Nm CAM_SIM_LOCK , 
+.Nm CAM_SIM_UNLOCK
+.Nd Lock and unlock the SIM mutex
+.Sh SYNOPSIS
+.In cam/cam_sim.h
+.Ft int
+.Fn CAM_SIM_LOCK "struct cam_sim *sim"
+.Ft int
+.Fn CAM_SIM_UNLOCK "struct cam_sim *sim"
+.Sh DESCRIPTION
+When the SIM is called from the XPT, these macros are used to ensure
+that the SIM lock is held when the
+.Va sim_action ,
+.Va sim_poll ,
+or when the
+.Va callback
+for any async callback that's registered by the SIM.
+It is also used by
+.Xr cam_sim_hold 9
+and 
+.Xr cam_sim_release 9
+to keep the sim reference count consistent and sane.
+.Pp
+These macros are currently only used internally to synchronize the
+SIM's data structures and prevent concurrent access.
+.Sh SEE ALSO
+.Xr cam_sim 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Modified: user/imp/camdoc/Makefile
==============================================================================
--- user/imp/camdoc/Makefile	Thu Feb 25 18:28:56 2016	(r296050)
+++ user/imp/camdoc/Makefile	Thu Feb 25 18:37:54 2016	(r296051)
@@ -50,6 +50,7 @@ MAN=	accept_filter.9 \
 	BUS_SETUP_INTR.9 \
 	bus_space.9 \
 	byteorder.9 \
+	cam_periph_getccb.9 \
 	casuword.9 \
 	cd.9 \
 	condvar.9 \
@@ -399,6 +400,9 @@ MAN=	accept_filter.9 \
 	vrele.9 \
 	vslock.9 \
 	watchdog.9 \
+	xpt_print.9 \
+	xpt_print_path.9 \
+	xpt_release_ccb.9 \
 	zone.9
 
 MLINKS=	unr.9 alloc_unr.9 \
@@ -1903,6 +1907,7 @@ MLINKS+=vref.9 VREF.9
 MLINKS+=vrele.9 vput.9 \
 	vrele.9 vunref.9
 MLINKS+=vslock.9 vsunlock.9
+MLINKS+=xpt_print_path.9 xpt_path_string.9
 MLINKS+=zone.9 uma.9 \
 	zone.9 uma_find_refcnt.9 \
 	zone.9 uma_zalloc.9 \

Added: user/imp/camdoc/cam.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,238 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM 9
+.Os
+.Sh NAME
+.Nm cam
+.Nd CAM -- common access method
+.Sh SYNOPSIS
+.In cam/cam.h
+.Sh DESCRIPTION
+CAM is common access method.
+.Sh TYPES
+.Ss cam_status
+.In sys/cam.h
+typedef enum { ... } cam_status
+.Bl -tag -width indent
+.It Li CAM_REQ_INPROG
+CCB request is in progress
+.It Li CAM_REQ_CMP
+CCB request completed without error
+.It Li CAM_REQ_ABORTED
+CCB request aborted by the host
+.It Li CAM_UA_ABORT
+Unable to abort CCB request
+.It Li CAM_REQ_CMP_ERR
+CCB request completed with an error
+.It Li CAM_BUSY
+CAM subsystem is busy
+.It Li CAM_REQ_INVALID
+CCB request was invalid
+.It Li CAM_PATH_INVALID
+Supplied Path ID is invalid
+.It Li CAM_DEV_NOT_THERE
+SCSI Device Not Installed/there
+.It Li CAM_UA_TERMIO
+Unable to terminate I/O CCB request
+.It Li CAM_SEL_TIMEOUT
+Target Selection Timeout
+.It Li CAM_CMD_TIMEOUT
+Command timeout
+.It Li CAM_SCSI_STATUS_ERROR
+SCSI error, look at error code in CCB
+.It Li CAM_MSG_REJECT_REC
+Message Reject Received
+.It Li CAM_SCSI_BUS_RESET
+SCSI Bus Reset Sent/Received
+.It Li CAM_UNCOR_PARITY
+Uncorrectable parity error occurred
+.It Li CAM_AUTOSENSE_FAIL
+Autosense: request sense cmd fail
+.It Li CAM_NO_HBA
+No HBA Detected error
+.It Li CAM_DATA_RUN_ERR
+Data Overrun error
+.It Li CAM_UNEXP_BUSFREE
+Unexpected Bus Free
+.It Li CAM_SEQUENCE_FAIL
+Target Bus Phase Sequence Failure
+.It Li CAM_CCB_LEN_ERR
+CCB length supplied is inadequate
+.It Li CAM_PROVIDE_FAIL
+Unable to provide requested capabilit
+.It Li CAM_BDR_SENT
+A SCSI BDR msg was sent to target
+.It Li CAM_REQ_TERMIO
+CCB request terminated by the host
+.It Li CAM_UNREC_HBA_ERROR
+Unrecoverable Host Bus Adapter Error
+.It Li CAM_REQ_TOO_BIG
+Request was too large for this host
+.It Li CAM_REQUEUE_REQ
+This request should be requeued to preserve
+transaction ordering.  This typically occurs
+when the SIM recognizes an error that should
+freeze the queue and must place additional
+requests for the target at the sim level
+back into the XPT queue.
+.It Li CAM_ATA_STATUS_ERROR
+ATA error, look at error code in CCB
+.It Li CAM_SCSI_IT_NEXUS_LOST
+Initiator/Target Nexus lost.
+.It Li CAM_SMP_STATUS_ERROR
+SMP error, look at error code in CCB
+.It Li CAM_REQ_SOFTTIMEOUT
+Command completed without error but  exceeded the soft
+timeout threshold.
+.It Li CAM_IDE	
+Initiator Detected Error
+.It Li CAM_RESRC_UNAVAIL
+Resource Unavailable
+.It Li CAM_UNACKED_EVENT
+Unacknowledged Event by Host
+.It Li CAM_MESSAGE_RECV
+Message Received in Host Target Mode
+.It Li CAM_INVALID_CDB
+Invalid CDB received in Host Target Mode
+.It Li CAM_LUN_INVALID
+Lun supplied is invalid
+.It Li CAM_TID_INVALID
+Target ID supplied is invalid
+.It Li CAM_FUNC_NOTAVAIL
+The requested function is not available
+.It Li CAM_NO_NEXUS
+Nexus is not established
+.It Li CAM_IID_INVALID
+The initiator ID is invalid
+.It Li CAM_CDB_RECVD
+The SCSI CDB has been received
+.It Li CAM_LUN_ALRDY_ENA
+The LUN is already enabled for target mode
+.It Li CAM_SCSI_BUSY
+SCSI Bus Busy
+.It Flags
+.It Li CAM_DEV_QFRZN
+The DEV queue is frozen w/this err
+.It Li CAM_AUTOSNS_VALID
+Autosense data valid for target
+.It Li CAM_RELEASE_SIMQ
+SIM ready to take more commands
+.It Li CAM_SIM_QUEUED
+SIM has this command in it's queue
+.It Li CAM_QOS_VALID
+Quality of service data is valid
+.It Li CAM_STATUS_MASK
+Mask bits for just the status #
+.It Li CAM_SENT_SENSE
+sent sense with status
+.El
+.Ss cam_periph_type
+.In sys/cam/cam_periph.h
+typedef enum { ... } cam_periph_type;
+.Bl -tag -width indent
+.It Li CAM_PERIPH_BIO
+This driver takes BIOs at the top end and translates them into top of
+the driver and translates them to protocol requests for the specific
+device this driver is for.
+.El
+.Ss Weird anonymous enum bitfield
+.Bl -tag -width indent
+.It Li SF_RETRY_UA
+Retry UNIT ATTENTION conditions.
+.It Li SF_NO_PRINT
+Never print error status.
+.It Li SF_QUIET_IR
+Be quiet about Illegal Request reponses
+.It Li SF_PRINT_ALWAYS
+Always print error status.
+.It Li SF_NO_RECOVERY
+Don't do active error recovery.
+.It Li SF_NO_RETRY
+Don't do any retries.
+.It Li SF_RETRY_BUSY
+Retry BUSY status.
+.El
+.Ss cam_flags
+.Bl -tag -width indent
+.It Li CAM_FLAG_NONE
+.It Li CAM_EXPECT_INQ_CHANGE
+.It Li CAM_RETRY_SELTO
+.El
+.Ss struct cam_path
+.Ss struct cam_device
+.Ss struct cam_ed
+.Ss path_id_t
+.Ss target_id_t
+.Ss lun_id_t
+.Ss struct cam_sim
+.Ss struct cam_periph
+.Ss cam_pinfo;
+.Ss cam_rl
+See section on priorities
+.Bl -tag -width indent
+.It Li CAM_RL_HOST
+.It Li CAM_RL_BUS
+.It Li CAM_RL_XPT
+.It Li CAM_RL_DEV
+.It Li CAM_RL_NORMAL
+.It Li CAM_RL_VALUES
+.El
+.Ss cam_error_string_flags
+.Ss cam_error_proto_flags
+.Ss cam_error_scsi_flags
+.Ss cam_error_smp_flags
+.Ss cam_error_ata_flags
+.ss cam_strvis_flags
+.Ss Defines
+.Bl -tag -width indent
+.It Li CAM_XPT_PATH_ID
+.It Li CAM_BUS_WILDCARD
+.It Li CAM_TARGET_WILDCARD
+.It Li CAM_LUN_WILDCARD
+.It Li CAM_EXTLUN_BYTE_SWIZZLE
+.It Li CAM_MAX_CDBLEN
+.It Li GENERATIONCMP
+.Ss Priorities
+CAM_PRIORITY_HOST
+CAM_PRIORITY_BUS
+CAM_PRIORITY_XPT
+CAM_PRIORITY_DEV
+CAM_PRIORITY_OOB
+CAM_PRIORITY_NORMAL
+CAM_PRIORITY_NONE
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_ccb.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_ccb.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,46 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_CCB 9
+.Os
+.Sh NAME
+.Nm cam_ccb
+.Nd CAM Control Blocks
+.Sh SYNOPSIS
+.In cam/cam_ccb.h
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_error_string.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_error_string.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,51 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_ERROR_STRING 9
+.Os
+.Sh NAME
+.Nm cam_error_string ,
+.Nm cam_error_print
+.Nd blah blah xxx
+.Sh SYNOPSIS
+.In cam/cam.h
+.Ft char *
+.Fn cam_error_string "union ccb *ccb" "char *str" "int str_len" "cam_error_string_flags flags" "cam_error_proto_flags proto_flags"
+.Ft void
+.Fn cam_error_print "union ccb *ccb" "cam_error_string_flags flags" "cam_error_proto_flags proto_flags"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_fetch_status_entry.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_fetch_status_entry.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,48 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_FETCH_STATUS_ENTRY 9
+.Os
+.Sh NAME
+.Nm cam_fetch_status_entry
+.Nd blah blah xxx
+.Sh SYNOPSIS
+.In cam/cam.h
+.Ft struct cam_status_entry *
+.Fn cam_fetch_status_entry "cam_status status"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_freeze_devq.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_freeze_devq.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,48 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_FREEZE_DEVQ 9
+.Os
+.Sh NAME
+.Nm cam_freeze_devq
+.Nd blah blah xxx
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft void
+.Fn cam_freeze_devq "struct cam_path *path"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_init_pinfo.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_init_pinfo.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,48 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_INIT_PINFO 9
+.Os
+.Sh NAME
+.Nm cam_init_pinfo
+.Nd blah blah xxx
+.Sh SYNOPSIS
+.In cam/cam.h
+.Ft void
+.Fn cam_init_pinfo "struct cam_pinfo *pinfo"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,89 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH 9
+.Os
+.Sh NAME
+.Nm cam_periph
+.Nd Peripheral driver for CAM
+.Sh SYNOPSIS
+.In cam/cam_xpt_periph.h
+.Sh DESCRIPTION
+In CAM, periph drivers translate upper layer requests into protocol
+requests that the CAM transport (XPT) delivers to a CAM SIM driver.
+.Sh COMPONENTS
+.Ss Creating a Periph Driver
+Peripheral drivers are created with
+.Xr cam_periph_alloc 9
+with a number of routines.
+The
+.Va ctor
+function is used to initialize the instance of the driver.
+The
+.Va oninvalidate
+function, if present, is called when CAM determines the driver is no
+longer valid.
+The
+.Va dtor
+function is called when the driver is destroyed.
+The
+.Va start
+function is called when CAM allocates a CCB for this periph to do
+work.
+.Ss Device Queue
+Each periph has a device queue associated with it.
+The device queue throttles the number of requests that CAM will allow
+the periph to generate.
+When a request is freed, or other times when the device queue is run,
+CAM will call the device's
+.Va start
+routine with a free CCB.
+This is how CAM gets work done in the system.
+Periph drivers usually call
+.Xr xpt_schedule 9
+when they have work to do.
+If there's free slots in the device queue, the
+.Va start
+routine will be called to do it.
+CAM also allows limits between devices for total requests at one time
+to accommodate SIM drivers for devices that can have fewer total
+outstanding transactions than the sum of the transactions each device
+can have outstanding.
+.Sh TYPES
+.Ss ac_callback_t
+.Ss ac_code
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_acquire.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_acquire.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,48 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_ACQUIRE 9
+.Os
+.Sh NAME
+.Nm cam_periph_acquire
+.Nd Acquire a reference to the peripheral.
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft cam_status
+.Fn cam_periph_acquire "struct cam_periph *periph"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_acquire_first.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_acquire_first.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,51 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_ACQUIRE_FIRST 9
+.Os
+.Sh NAME
+.Nm cam_periph_acquire_first ,
+.Nm cam_periph_acquire_next
+.Nd blah blah blah xxx
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft struct cam_periph *
+.Fn cam_periph_acquire_first "struct cam_periph_driver *driver"
+.Ft struct cam_periph *
+.Fn cam_periph_acquire_next "struct cam_periph *periph"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_alloc.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_alloc.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,53 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_ALLOC 9
+.Os
+.Sh NAME
+.Nm cam_periph_alloc
+.Nd Add a new peripheral to a CAM bus
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft cam_status
+.Fo cam_periph_alloc
+.Fa "periph_ctor_t *ctor" "periph_oninv_t *oninvalidate"
+.Fa "periph_dtor_t *dtor" "periph_start_t *start" "char *name"
+.Fa "cam_periph_type type" "struct cam_path *path" "ac_callback_t *cb"
+.Fa "ac_code code" "void *arg"
+.Fc
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_assert.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_assert.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,49 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_ASSERT 9
+.Os
+.Sh NAME
+.Nm cam_periph_assert
+.Nd Assert that the periph lock held
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft int
+.Fn cam_periph_assert "struct cam_periph *periph" "int what"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9 ,
+.Xr mtx_assert 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_async.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_async.9	Thu Feb 25 18:37:54 2016	(r296051)
@@ -0,0 +1,48 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2016 M. Warner Losh
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2016
+.Dt CAM_PERIPH_ASYNC 9
+.Os
+.Sh NAME
+.Nm cam_periph_async
+.Nd blah blah blah
+.Sh SYNOPSIS
+.In cam/cam_periph.h
+.Ft void
+.Fn cam_periph_async "struct cam_periph *periph" "u_int32_t code" "struct cam_path *path" "void *arg"
+.Sh DESCRIPTION
+.Sh SEE ALSO
+.Xr cam_periph 9 ,
+.Xr xpt_release_ccb 9 ,
+.Xr xpt_setup_cbb 9
+.Sh AUTHORS
+This manual page was written by
+.An M. Warner Losh .

Added: user/imp/camdoc/cam_periph_bus_settle.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/imp/camdoc/cam_periph_bus_settle.9	Thu Feb 25 18:37:54 2016	(r296051)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-user mailing list