summaryrefslogtreecommitdiffstats
path: root/sys/scsi
diff options
context:
space:
mode:
authorrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
committerrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
commit2469c867a164210ce96143517059f21db7f1fd17 (patch)
tree9179427ac860211c445df663fd2b86267366bfba /sys/scsi
parentcb0aba89af15a48e2655e898a503946ac4cb42ae (diff)
downloadFreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.zip
FreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.tar.gz
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
Diffstat (limited to 'sys/scsi')
-rw-r--r--sys/scsi/cd.c8
-rw-r--r--sys/scsi/scsi_base.c11
-rw-r--r--sys/scsi/scsi_ioctl.c12
-rw-r--r--sys/scsi/sd.c51
4 files changed, 44 insertions, 38 deletions
diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c
index 0d64665..899db93 100644
--- a/sys/scsi/cd.c
+++ b/sys/scsi/cd.c
@@ -14,7 +14,7 @@
*
* Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
*
- * $Id: cd.c,v 1.17 1994/03/23 09:15:51 davidg Exp $
+ * $Id: cd.c,v 1.18 1994/04/20 07:06:51 davidg Exp $
*/
#define SPLCD splbio
@@ -496,7 +496,7 @@ cdstart(unit)
}
dp = &cd->buf_queue;
if ((bp = dp->b_actf) != NULL) { /* yes, an assign */
- dp->b_actf = bp->av_forw;
+ dp->b_actf = bp->b_actf;
} else {
return;
}
@@ -689,7 +689,7 @@ cdioctl(dev_t dev, int cmd, caddr_t addr, int flag)
args->data_format, args->track, &data, len)) {
break;
}
- len = MIN(len, ((data.header.data_len[0] << 8) + data.header.data_len[1] +
+ len = min(len, ((data.header.data_len[0] << 8) + data.header.data_len[1] +
sizeof(struct cd_sub_channel_header)));
if (copyout(&data, args->data, len) != 0) {
error = EFAULT;
@@ -728,7 +728,7 @@ cdioctl(dev_t dev, int cmd, caddr_t addr, int flag)
(struct cd_toc_entry *)&data,
len + sizeof(struct ioc_toc_header)))
break;
- len = MIN(len, ((((th->len & 0xff) << 8) + ((th->len >> 8))) - (sizeof(th->starting_track) + sizeof(th->ending_track))));
+ len = min(len, ((((th->len & 0xff) << 8) + ((th->len >> 8))) - (sizeof(th->starting_track) + sizeof(th->ending_track))));
if (copyout(data.entries, te->data, len) != 0) {
error = EFAULT;
}
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c
index 02af5f2..cb7f009 100644
--- a/sys/scsi/scsi_base.c
+++ b/sys/scsi/scsi_base.c
@@ -8,24 +8,19 @@
* file.
*
* Written by Julian Elischer (julian@dialix.oz.au)
- * $Id: scsi_base.c,v 1.7 1994/04/20 07:06:54 davidg Exp $
+ * $Id: scsi_base.c,v 1.8 1994/05/19 22:21:05 jkh Exp $
*/
#define SPLSD splbio
#define ESUCCESS 0
#include <sys/types.h>
#include <sys/param.h>
-#include <machine/param.h>
-#include <vm/vm_statistics.h>
-#include <vm/vm_param.h>
-#include <vm/lock.h>
-#include <machine/pmap.h>
-#include <machine/vmparam.h>
-#include "systm.h"
+#include <sys/systm.h>
#include <sys/buf.h>
#include <sys/uio.h>
#include <sys/malloc.h>
#include <sys/errno.h>
+#include <vm/vm.h>
#include <scsi/scsi_all.h>
#include <scsi/scsi_disk.h>
#include <scsi/scsiconf.h>
diff --git a/sys/scsi/scsi_ioctl.c b/sys/scsi/scsi_ioctl.c
index a52b3a5..d35ad2d 100644
--- a/sys/scsi/scsi_ioctl.c
+++ b/sys/scsi/scsi_ioctl.c
@@ -6,21 +6,15 @@
*
*
*/
-#include <sys/types.h>
#include <sys/param.h>
-#include <machine/param.h>
-#include <vm/vm_statistics.h>
-#include <vm/vm_param.h>
-#include <vm/lock.h>
-#include <machine/pmap.h>
-#include <machine/vmparam.h>
-#include "systm.h"
+#include <sys/systm.h>
#include <sys/errno.h>
#include <sys/malloc.h>
#include <sys/buf.h>
#define b_screq b_driver1 /* a patch in buf.h */
#define b_sc_link b_driver2 /* a patch in buf.h */
#include <sys/proc.h>
+#include <vm/vm.h>
#include "scbus.h"
#include <scsi/scsi_all.h>
@@ -227,7 +221,7 @@ errval scsi_do_ioctl(struct scsi_link *sc_link, int cmd, caddr_t addr, int f)
SC_DEBUG(sc_link,SDEV_DB2,("scsi_do_ioctl(0x%x)\n",cmd));
switch(cmd)
{
-#ifndef NetBSD
+#if 0
case SCIOCCOMMAND:
{
/*
diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c
index 783de99..691430e 100644
--- a/sys/scsi/sd.c
+++ b/sys/scsi/sd.c
@@ -14,7 +14,7 @@
*
* Ported to run under 386BSD by Julian Elischer (julian@dialix.oz.au) Sept 1992
*
- * $Id: sd.c,v 1.22 1994/04/05 03:23:32 davidg Exp $
+ * $Id: sd.c,v 1.23 1994/04/20 07:06:57 davidg Exp $
*/
#define SPLSD splbio
@@ -33,6 +33,7 @@
#include <sys/uio.h>
#include <sys/malloc.h>
#include <sys/errno.h>
+#include <sys/dkstat.h>
#include <sys/disklabel.h>
#include <scsi/scsi_all.h>
#include <scsi/scsi_disk.h>
@@ -72,6 +73,7 @@ int Debugger();
#define WHOLE_DISK(unit) ( (unit << UNITSHIFT) + RAW_PART )
+extern char *readdisklabel();
errval sdgetdisklabel __P((unsigned char unit));
errval sd_get_parms __P((int unit, int flags));
void sdstrategy __P((struct buf *));
@@ -425,15 +427,24 @@ sdstrategy(bp)
/*
* Use a bounce buffer if necessary
*/
+/*
#ifndef NOBOUNCE
if (sd->sc_link->flags & SDEV_BOUNCE)
vm_bounce_alloc(bp);
#endif
+*/
/*
* Place it in the queue of disk activities for this disk
*/
+/*
cldisksort(dp, bp, 64*1024);
+*/
+if ((bp->b_blkno < 0) || (bp->b_bcount > 3000000) /* || (bp->b_flags & B_WRITE) */) {
+ printf("blkno=%d bcount=%d flags=0x%x\n", bp->b_blkno, bp->b_bcount, bp->b_flags);
+ Debugger("");
+}
+ disksort(dp, bp);
/*
* Tell the device to get going on the transfer if it's
@@ -504,7 +515,7 @@ sdstart(unit)
if ((bp = dp->b_actf) == NULL) { /* yes, an assign */
return;
}
- dp->b_actf = bp->av_forw;
+ dp->b_actf = bp->b_actf;
/*
* If the device has become invalid, abort all the
@@ -610,11 +621,13 @@ sdioctl(dev_t dev, int cmd, caddr_t addr, int flag)
else
error = setdisklabel(&sd->disklabel,
(struct disklabel *)addr,
- /*(sd->flags & DKFL_BSDLABEL) ? sd->openparts : */ 0,
+ /*(sd->flags & DKFL_BSDLABEL) ? sd->openparts : */ 0
#ifdef NetBSD
- &sd->cpudisklabel
+ ,&sd->cpudisklabel
#else
- sd->dosparts
+#if 0
+ ,sd->dosparts
+#endif
#endif
);
if (error == 0) {
@@ -637,11 +650,13 @@ sdioctl(dev_t dev, int cmd, caddr_t addr, int flag)
else {
error = setdisklabel(&sd->disklabel,
(struct disklabel *)addr,
- /*(sd->flags & SDHAVELABEL) ? sd->openparts : */ 0,
+ /*(sd->flags & SDHAVELABEL) ? sd->openparts : */ 0
#ifdef NetBSD
- &sd->cpudisklabel
+ ,&sd->cpudisklabel
#else
- sd->dosparts
+#if 0
+ ,sd->dosparts
+#endif
#endif
);
if (!error) {
@@ -655,11 +670,13 @@ sdioctl(dev_t dev, int cmd, caddr_t addr, int flag)
wlab = sd->wlabel;
sd->wlabel = 1;
error = writedisklabel(dev, sdstrategy,
- &sd->disklabel,
+ &sd->disklabel
#ifdef NetBSD
- &sd->cpudisklabel
+ ,&sd->cpudisklabel
#else
- sd->dosparts
+#if 0
+ ,sd->dosparts
+#endif
#endif
);
sd->wlabel = wlab;
@@ -685,7 +702,9 @@ sdgetdisklabel(unsigned char unit)
{
char *errstring;
struct sd_data *sd = sd_data[unit];
+ dev_t dev;
+ dev = makedev(0, (unit << UNITSHIFT) + 3);
/*
* If the inflo is already loaded, use it
*/
@@ -714,15 +733,13 @@ sdgetdisklabel(unsigned char unit)
/*
* Call the generic disklabel extraction routine
*/
- if (errstring = readdisklabel(makedev(0, (unit << UNITSHIFT) + 3),
+ if (errstring = readdisklabel(makedev(0, (unit << UNITSHIFT) + 3),
sdstrategy,
- &sd->disklabel,
+ &sd->disklabel
#ifdef NetBSD
- &sd->cpudisklabel
+ ,&sd->cpu_disklabel,
#else
- sd->dosparts,
- 0,
- 0
+ ,sd->dosparts, 0
#endif
)) {
printf("sd%d: %s\n", unit, errstring);
OpenPOWER on IntegriCloud