Date: Sat, 9 Dec 1995 10:10:26 -0600 From: "Eric J. Haug" <ejh@eas.slu.edu> To: current@freebsd.org Subject: Exabyte 8505 mods to scsi system Message-ID: <199512091610.KAA15578@eas.eas.slu.edu>
next in thread | raw e-mail | index | archive | help
These patches allow an Exabyte 8505 to be used in the four modes
it is capable of.
They were generated with respect to:
* $Id: scsi_tape.h,v 1.14 1995/11/30 07:43:46 pst Exp $
* $Id: scsiconf.h,v 1.32 1995/12/05 07:14:25 julian Exp $
* $Id: st.c,v 1.49 1995/12/08 11:18:59 julian Exp $
Use requires mt to be used to set the densities as necessary:
mt -f /dev/st0ctl.0 density 0x14 8200 mode
mt -f /dev/st0ctl.1 density 0x15 8500 mode
mt -f /dev/st0ctl.2 density 0x8c 8500 compressed mode
mt -f /dev/st0ctl.3 density 0x90 8200 compressed mode
The patches were applied to
FreeBSD 2.1-STABLE (EJH) #2: Sat Dec 9 08:48:08 CST 1995
and tested.
eric ejh@eas.slu.edu
*** scsi_tape.h.orig Thu Nov 30 04:34:17 1995
--- scsi_tape.h Sat Dec 9 10:00:03 1995
***************
*** 308,311 ****
--- 308,315 ----
#define DDS 0x13
#define DAT_1 0x13
+ #define EXB_8200 0x14 /* from EXB-8505 Users Manual 510503-002 */
+ #define EXB_8500 0x15
+ #define EXB_8500C 0x8C
+ #define EXB_8200C 0x90
#define QIC_3080 0x29
#endif /* NEW_SCSICONF */
*** scsiconf.h.orig Tue Dec 5 05:54:42 1995
--- scsiconf.h Sat Dec 9 10:00:03 1995
***************
*** 241,245 ****
/* 4*/ u_int32 blksiz;
/* 6*/ u_int16 quirks; /* same definitions as in XXX */
! /* 7*/ char density;
/* 8*/ char spare[1];
};
--- 241,245 ----
/* 4*/ u_int32 blksiz;
/* 6*/ u_int16 quirks; /* same definitions as in XXX */
! /* 7*/ u_int8 density;
/* 8*/ char spare[1];
};
*** st.c.orig Fri Dec 8 05:26:48 1995
--- st.c Sat Dec 9 10:00:04 1995
***************
*** 67,72 ****
--- 67,76 ----
#define IS_CTLMODE(DEV) (MODE(DEV) == CTLMODE)
+ #ifdef EXB_8200C
+ #define SCSI_2_MAX_DENSITY_CODE EXB_8200C
+ #else
#define SCSI_2_MAX_DENSITY_CODE 0x17 /* maximum density code specified
* in SCSI II spec. */
+ #endif
#ifndef NEW_SCSICONF
/*
***************
*** 77,81 ****
u_int32 blksiz;
u_int32 quirks; /* same definitions as in rogues */
! char density;
char spare[3];
};
--- 81,85 ----
u_int32 blksiz;
u_int32 quirks; /* same definitions as in rogues */
! u_int8 density;
char spare[3];
};
***************
*** 1366,1369 ****
--- 1370,1379 ----
if (number > SCSI_2_MAX_DENSITY_CODE) {
errcode = EINVAL;
+ /* ejh falling through here seems to be a bug
+ * we immediately call st_mode_select and reset
+ * errcode with the return value
+ * since st->density is probably a previous
+ * value or 0 this will most likely not fail
+ */
} else {
st->density = number;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512091610.KAA15578>
