Date: Thu, 25 Feb 2016 18:37:54 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r296051 - user/imp/camdoc Message-ID: <201602251837.u1PIbs9S040410@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602251837.u1PIbs9S040410>