summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1998-04-22 19:27:54 +0000
committerjulian <julian@FreeBSD.org>1998-04-22 19:27:54 +0000
commited0da47a02390b289c84b8d8bdda2caa48d1bf6a (patch)
tree51208643ece97c62db9703d39b4119a87de1e87c /sys/i386
parentefb500c7ac711f70e1f1fdbbaf8bb2ff7eac24f5 (diff)
downloadFreeBSD-src-ed0da47a02390b289c84b8d8bdda2caa48d1bf6a.zip
FreeBSD-src-ed0da47a02390b289c84b8d8bdda2caa48d1bf6a.tar.gz
Bad144 support for the slice system (!)
Submitted by: luoqi@watermarkgroup.com (Luoqi Chen) I'm amazed by this. Slice has only been checked in for 2 days..
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/isa/wd.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c
index 88dc731..ef1181a 100644
--- a/sys/i386/isa/wd.c
+++ b/sys/i386/isa/wd.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)wd.c 7.2 (Berkeley) 5/9/91
- * $Id: wd.c,v 1.159 1998/04/19 23:31:44 julian Exp $
+ * $Id: wd.c,v 1.160 1998/04/22 10:25:17 julian Exp $
*/
/* TODO:
@@ -83,6 +83,7 @@
#ifdef SLICE
#include <sys/device.h>
#include <sys/fcntl.h>
+#include <sys/sliceio.h>
#include <dev/slice/slice.h>
#else
#include <sys/devfsext.h>
@@ -968,6 +969,11 @@ wdstart(int ctrlr)
blknum = transbad144(dsgetbad(bp->b_dev, du->dk_slices),
blknum - ds_offset) + ds_offset;
}
+#else
+ if (du->dk_flags & DKFL_SINGLE) {
+ (void) (*du->slice->handler_up->upconf)(du->slice,
+ SLCIOCTRANSBAD, (caddr_t)&blknum, 0, 0);
+ }
#endif
wdtab[ctrlr].b_active = 1; /* mark controller active */
@@ -2395,7 +2401,7 @@ out:
static void
wderror(struct buf *bp, struct disk *du, char *mesg)
{
-#ifndef SLICE
+#ifdef SLICE
printf("wd%d: %s:\n", du->dk_lunit, mesg);
#else /* !SLICE */
if (bp == NULL)
@@ -2653,7 +2659,7 @@ SYSINIT(wddev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,wd_drvinit,NULL)
* be a multiple of a sector in length.
*/
static void
-wdsIOreq(void *private ,struct buf *bp)
+wdsIOreq(void *private, struct buf *bp)
{
struct disk *du = private;
int s;
OpenPOWER on IntegriCloud