diff options
| author | Kenneth D. Merry <ken@FreeBSD.org> | 1998-10-02 21:00:58 +0000 |
|---|---|---|
| committer | Kenneth D. Merry <ken@FreeBSD.org> | 1998-10-02 21:00:58 +0000 |
| commit | d05caa00c57ff92069fd5e1991bfbff2ee836722 (patch) | |
| tree | 1a4ec032ebdb3883ee7577c57cd6d8917aec3660 | |
| parent | bf72f680884fe25e4e27179c44b9d1d9cce52cac (diff) | |
Notes
| -rw-r--r-- | sbin/camcontrol/camcontrol.8 | 5 | ||||
| -rw-r--r-- | sbin/camcontrol/camcontrol.c | 14 | ||||
| -rw-r--r-- | sys/cam/cam_debug.h | 3 | ||||
| -rw-r--r-- | sys/cam/cam_xpt.c | 16 | ||||
| -rw-r--r-- | sys/cam/scsi/scsi_all.c | 4 | ||||
| -rw-r--r-- | sys/conf/NOTES | 8 | ||||
| -rw-r--r-- | sys/i386/conf/LINT | 8 | ||||
| -rw-r--r-- | sys/i386/conf/NOTES | 8 |
8 files changed, 45 insertions, 21 deletions
diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8 index ff53b8348ce33..9337e725e3784 100644 --- a/sbin/camcontrol/camcontrol.8 +++ b/sbin/camcontrol/camcontrol.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: camcontrol.8,v 1.3 1998/09/17 16:12:30 ken Exp $ +.\" $Id: camcontrol.8,v 1.4 1998/09/21 20:44:39 ken Exp $ .\" .Dd September 14, 1998 .Dt CAMCONTROL 8 @@ -292,6 +292,9 @@ Enable CAM_DEBUG_INFO printfs. Enable CAM_DEBUG_TRACE printfs. .It Fl S Enable CAM_DEBUG_SUBTRACE printfs. +.It Fl c +Enable CAM_DEBUG_CDB printfs. This will cause the kernel to print out the +SCSI CDBs sent to the specified device(s). .It all Enable debugging for all devices. .It off diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c index 6f17f8df66270..c4b5dc9398c18 100644 --- a/sbin/camcontrol/camcontrol.c +++ b/sbin/camcontrol/camcontrol.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: camcontrol.c,v 1.1 1998/09/15 06:43:02 gibbs Exp $ */ #include <sys/ioctl.h> @@ -93,6 +93,7 @@ typedef enum { CAM_ARG_DEBUG_INFO = 0x10000000, CAM_ARG_DEBUG_TRACE = 0x20000000, CAM_ARG_DEBUG_SUBTRACE = 0x40000000, + CAM_ARG_DEBUG_CDB = 0x80000000, CAM_ARG_FLAG_MASK = 0xfffffff0 } cam_argmask; @@ -121,7 +122,7 @@ struct camcontrol_opts option_table[] = { {"devlist", CAM_ARG_DEVTREE, NULL}, {"periphlist", CAM_ARG_DEVLIST, NULL}, {"modepage", CAM_ARG_MODE_PAGE, "dem:P:"}, - {"debug", CAM_ARG_DEBUG, "ITS"}, + {"debug", CAM_ARG_DEBUG, "ITSc"}, {"help", CAM_ARG_USAGE, NULL}, {"-?", CAM_ARG_USAGE, NULL}, {"-h", CAM_ARG_USAGE, NULL}, @@ -1676,6 +1677,10 @@ camdebug(int argc, char **argv, char *combinedopt) arglist |= CAM_ARG_DEBUG_SUBTRACE; ccb.cdbg.flags |= CAM_DEBUG_SUBTRACE; break; + case 'c': + arglist |= CAM_ARG_DEBUG_CDB; + ccb.cdbg.flags |= CAM_DEBUG_CDB; + break; default: break; } @@ -1763,7 +1768,7 @@ camdebug(int argc, char **argv, char *combinedopt) } } } - close(fd); + close(fd); } return(error); @@ -1826,7 +1831,8 @@ usage(void) "debug arguments:\n" "-I CAM_DEBUG_INFO -- scsi commands, errors, data\n" "-T CAM_DEBUG_TRACE -- routine flow tracking\n" -"-S CAM_DEBUG_SUBTRACE -- internal routine command flow\n", +"-S CAM_DEBUG_SUBTRACE -- internal routine command flow\n" +"-c CAM_DEBUG_CDB -- print out SCSI CDBs only\n", DEFAULT_DEVICE, DEFAULT_UNIT); } diff --git a/sys/cam/cam_debug.h b/sys/cam/cam_debug.h index f1b95f208d82f..198650ec7c0b7 100644 --- a/sys/cam/cam_debug.h +++ b/sys/cam/cam_debug.h @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cam_debug.h,v 1.1 1998/09/15 06:33:23 gibbs Exp $ */ #ifndef _CAM_CAM_DEBUG_H #define _CAM_CAM_DEBUG_H 1 @@ -42,6 +42,7 @@ typedef enum { CAM_DEBUG_INFO = 0x01, /* scsi commands, errors, data */ CAM_DEBUG_TRACE = 0x02, /* routine flow tracking */ CAM_DEBUG_SUBTRACE = 0x04, /* internal to routine flows */ + CAM_DEBUG_CDB = 0x08 /* print out SCSI CDBs only */ } cam_debug_flags; #if defined(CAMDEBUG) && defined(KERNEL) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index c5e6837694822..be54a7b406e0a 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cam_xpt.c,v 1.13 1998/09/24 22:43:54 gibbs Exp $ + * $Id: cam_xpt.c,v 1.14 1998/09/25 22:35:56 gibbs Exp $ */ #include <sys/param.h> #include <sys/systm.h> @@ -2517,6 +2517,14 @@ xpt_action(union ccb *start_ccb) switch (start_ccb->ccb_h.func_code) { case XPT_SCSI_IO: + { +#ifdef CAMDEBUG + char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1]; + struct cam_path *path; + + path = start_ccb->ccb_h.path; +#endif + /* * For the sake of compatibility with SCSI-1 * devices that may not understand the identify @@ -2543,7 +2551,13 @@ xpt_action(union ccb *start_ccb) start_ccb->csio.scsi_status = SCSI_STATUS_OK; start_ccb->csio.sense_resid = 0; start_ccb->csio.resid = 0; + CAM_DEBUG(path, CAM_DEBUG_CDB,("%s. CDB: %s\n", + scsi_op_desc(start_ccb->csio.cdb_io.cdb_bytes[0], + &path->device->inq_data), + scsi_cdb_string(start_ccb->csio.cdb_io.cdb_bytes, + cdb_str))); /* FALLTRHOUGH */ + } case XPT_TARGET_IO: case XPT_CONT_TARGET_IO: case XPT_ENG_EXEC: diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 493f745003a30..08ad98b5f0737 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_all.c,v 1.3 1998/09/19 01:23:04 ken Exp $ + * $Id: scsi_all.c,v 1.4 1998/09/29 22:11:30 ken Exp $ */ #include <sys/param.h> @@ -1677,7 +1677,7 @@ scsi_sense_print(struct ccb_scsiio *csio) printf("%s. CDB: %s\n", scsi_op_desc(csio->cdb_io.cdb_bytes[0], &cgd.inq_data), scsi_cdb_string( - (u_int8_t *)&csio->cdb_io.cdb_bytes, cdb_str)); + csio->cdb_io.cdb_bytes, cdb_str)); } } diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 9af20db0f19a1..7d967759ea4d1 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.479 1998/10/01 11:48:38 yokota Exp $ +# $Id: LINT,v 1.480 1998/10/02 05:15:51 ken Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -667,8 +667,8 @@ device sctarg0 at scbus? # SCSI target # CAM_DEBUG_BUS: Debug the given bus. Use -1 to debug all busses. # CAM_DEBUG_TARGET: Debug the given target. Use -1 to debug all targets. # CAM_DEBUG_LUN: Debug the given lun. Use -1 to debug all luns. -# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE and -# CAM_DEBUG_SUBTRACE +# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE, +# CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB # # CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds # SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions @@ -682,7 +682,7 @@ options CAMDEBUG options "CAM_DEBUG_BUS=-1" options "CAM_DEBUG_TARGET=-1" options "CAM_DEBUG_LUN=-1" -options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_SUBTRACE" +options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB" options "CAM_MAX_HIGHPOWER=4" options SCSI_NO_SENSE_STRINGS options SCSI_NO_OP_STRINGS diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT index 9af20db0f19a1..7d967759ea4d1 100644 --- a/sys/i386/conf/LINT +++ b/sys/i386/conf/LINT @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.479 1998/10/01 11:48:38 yokota Exp $ +# $Id: LINT,v 1.480 1998/10/02 05:15:51 ken Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -667,8 +667,8 @@ device sctarg0 at scbus? # SCSI target # CAM_DEBUG_BUS: Debug the given bus. Use -1 to debug all busses. # CAM_DEBUG_TARGET: Debug the given target. Use -1 to debug all targets. # CAM_DEBUG_LUN: Debug the given lun. Use -1 to debug all luns. -# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE and -# CAM_DEBUG_SUBTRACE +# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE, +# CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB # # CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds # SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions @@ -682,7 +682,7 @@ options CAMDEBUG options "CAM_DEBUG_BUS=-1" options "CAM_DEBUG_TARGET=-1" options "CAM_DEBUG_LUN=-1" -options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_SUBTRACE" +options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB" options "CAM_MAX_HIGHPOWER=4" options SCSI_NO_SENSE_STRINGS options SCSI_NO_OP_STRINGS diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 9af20db0f19a1..7d967759ea4d1 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.479 1998/10/01 11:48:38 yokota Exp $ +# $Id: LINT,v 1.480 1998/10/02 05:15:51 ken Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -667,8 +667,8 @@ device sctarg0 at scbus? # SCSI target # CAM_DEBUG_BUS: Debug the given bus. Use -1 to debug all busses. # CAM_DEBUG_TARGET: Debug the given target. Use -1 to debug all targets. # CAM_DEBUG_LUN: Debug the given lun. Use -1 to debug all luns. -# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE and -# CAM_DEBUG_SUBTRACE +# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE, +# CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB # # CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds # SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions @@ -682,7 +682,7 @@ options CAMDEBUG options "CAM_DEBUG_BUS=-1" options "CAM_DEBUG_TARGET=-1" options "CAM_DEBUG_LUN=-1" -options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_SUBTRACE" +options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB" options "CAM_MAX_HIGHPOWER=4" options SCSI_NO_SENSE_STRINGS options SCSI_NO_OP_STRINGS |
