projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
syscons util remove use kbdcontrol & vidcontrol instead
[unix-history]
/
sys
/
scsi
/
scsi_base.c
diff --git
a/sys/scsi/scsi_base.c
b/sys/scsi/scsi_base.c
index
22b826f
..
02af5f2
100644
(file)
--- a/
sys/scsi/scsi_base.c
+++ b/
sys/scsi/scsi_base.c
@@
-8,7
+8,7
@@
* file.
*
* Written by Julian Elischer (julian@dialix.oz.au)
* file.
*
* Written by Julian Elischer (julian@dialix.oz.au)
- * $Id: scsi_base.c,v 1.
4 1994/01/14 16:25:29
davidg Exp $
+ * $Id: scsi_base.c,v 1.
7 1994/04/20 07:06:54
davidg Exp $
*/
#define SPLSD splbio
*/
#define SPLSD splbio
@@
-293,7
+293,7
@@
scsi_start_unit(sc_link, flags)
0,
0,
2,
0,
0,
2,
-
2
000,
+
10
000,
NULL,
flags));
}
NULL,
flags));
}
@@
-321,7
+321,7
@@
scsi_stop_unit(sc_link, eject, flags)
0,
0,
2,
0,
0,
2,
-
6
000,
+
10
000,
NULL,
flags));
}
NULL,
flags));
}
@@
-455,7
+455,11
@@
scsi_scsi_cmd(sc_link, scsi_cmd, cmdlen, data_addr, datalen,
retval = EFAULT;
goto bad;
}
retval = EFAULT;
goto bad;
}
- xs->data = malloc(datalen, M_TEMP, M_WAITOK);
+#ifdef NOBOUNCE
+ xs->data = malloc(datalen, M_TEMP, M_WAITOK);
+#else
+ xs->data = (caddr_t) vm_bounce_kva_alloc( (datalen + PAGE_SIZE - 1)/PAGE_SIZE);
+#endif
/* I think waiting is ok *//*XXX */
switch ((int)(flags & (SCSI_DATA_IN | SCSI_DATA_OUT))) {
case 0:
/* I think waiting is ok *//*XXX */
switch ((int)(flags & (SCSI_DATA_IN | SCSI_DATA_OUT))) {
case 0:
@@
-538,7
+542,11
@@
retry:
bcopy(xs->data, data_addr, datalen);
break;
}
bcopy(xs->data, data_addr, datalen);
break;
}
+#ifdef NOBOUNCE
free(xs->data, M_TEMP);
free(xs->data, M_TEMP);
+#else
+ vm_bounce_kva_alloc_free(xs->data, (datalen + PAGE_SIZE - 1)/PAGE_SIZE, 0);
+#endif
}
/*
* we have finished with the xfer stuct, free it and
}
/*
* we have finished with the xfer stuct, free it and