diff options
author | gibbs <gibbs@FreeBSD.org> | 1999-08-16 22:18:14 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1999-08-16 22:18:14 +0000 |
commit | 274ee06526fe963860ebfa7a1703de411bab9d2c (patch) | |
tree | a5addeea27f00728479df1e2f3f232f434f5d2d3 /sys | |
parent | 0d50de05e5d17ff2c8d71834059396c7d342a8a1 (diff) | |
download | FreeBSD-src-274ee06526fe963860ebfa7a1703de411bab9d2c.zip FreeBSD-src-274ee06526fe963860ebfa7a1703de411bab9d2c.tar.gz |
Add another flag for debugging just peripheral drivers. The whole debugging
mechanism should be completely revamped, but this will serve for the time
being.
Take advantage of some new behavior in xpt_path_comp which allows the
caller to determine which path, if any, had wildcards in it that allowed
for a match to succeed. We can now use this to filter out wildcard
nodes in the EDT.
Make the amount of time we pause after writing a debug message
configurable.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/cam/cam_debug.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/sys/cam/cam_debug.h b/sys/cam/cam_debug.h index ab07980..6fa6d52 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: cam_debug.h,v 1.2 1998/10/02 21:00:50 ken Exp $ + * $Id: cam_debug.h,v 1.3 1998/12/05 23:55:48 mjacob Exp $ */ #ifndef _CAM_CAM_DEBUG_H #define _CAM_CAM_DEBUG_H 1 @@ -43,7 +43,8 @@ typedef enum { 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_XPT = 0x10 /* print out xpt scheduling */ + CAM_DEBUG_XPT = 0x10, /* print out xpt scheduling */ + CAM_DEBUG_PERIPH = 0x20 /* print out peripheral calls */ } cam_debug_flags; #if defined(CAMDEBUG) && defined(KERNEL) @@ -52,25 +53,31 @@ typedef enum { extern struct cam_path *cam_dpath; /* Current debug levels set */ extern u_int32_t cam_dflags; +/* Printf delay value (to prevent scrolling */ +extern u_int32_t cam_debug_delay; /* Debugging macros. */ #define CAM_DEBUGGED(path, flag) \ ((cam_dflags & (flag)) \ && (cam_dpath != NULL) \ - && (xpt_path_comp(path, cam_dpath) >= 0)) + && (xpt_path_comp(cam_dpath, path) >= 0) \ + && (xpt_path_comp(cam_dpath, path) < 2)) #define CAM_DEBUG(path, flag, printfargs) \ if ((cam_dflags & (flag)) \ && (cam_dpath != NULL) \ - && (xpt_path_comp(path, cam_dpath) >= 0)) { \ + && (xpt_path_comp(cam_dpath, path) >= 0) \ + && (xpt_path_comp(cam_dpath, path) < 2)) { \ xpt_print_path(path); \ printf printfargs; \ - DELAY(100000); \ + if (cam_debug_delay != 0) \ + DELAY(cam_debug_delay); \ } #define CAM_DEBUG_PRINT(flag, printfargs) \ if (cam_dflags & (flag)) { \ printf("cam_debug: "); \ printf printfargs; \ - DELAY(100000); \ + if (cam_debug_delay != 0) \ + DELAY(cam_debug_delay); \ } #else /* !CAMDEBUG || !KERNEL */ |