Module Name:    src
Committed By:   pooka
Date:           Thu Apr 24 21:46:45 UTC 2014

Modified Files:
        src/distrib/sets/lists/base: shl.mi
        src/distrib/sets/lists/comp: mi shl.mi
        src/distrib/sets/lists/debug: mi shl.mi
        src/sys/rump/dev: Makefile.rumpdevcomp
        src/tests/dev/scsipi: Makefile
Added Files:
        src/tests/dev/scsipi/libscsitest: Makefile SCSITEST.ioconf scsitest.c
            scsitest_component.c
Removed Files:
        src/sys/rump/dev/lib/libscsitest: Makefile SCSITEST.ioconf scsitest.c
            scsitest_component.c shlib_version

Log Message:
scsitest is a SCSI target emulator used by one test, and has little
reason to get installed.  Make the component private to the test using
it and obsolete the installed one.

IOW, rename sys/rump/dev/lib/libscsitest -> tests/dev/scsipi/libscsitest


To generate a diff of this commit:
cvs rdiff -u -r1.699 -r1.700 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.1889 -r1.1890 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.263 -r1.264 src/distrib/sets/lists/comp/shl.mi
cvs rdiff -u -r1.58 -r1.59 src/distrib/sets/lists/debug/mi
cvs rdiff -u -r1.59 -r1.60 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.10 -r1.11 src/sys/rump/dev/Makefile.rumpdevcomp
cvs rdiff -u -r1.2 -r0 src/sys/rump/dev/lib/libscsitest/Makefile
cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/lib/libscsitest/SCSITEST.ioconf \
    src/sys/rump/dev/lib/libscsitest/scsitest_component.c \
    src/sys/rump/dev/lib/libscsitest/shlib_version
cvs rdiff -u -r1.6 -r0 src/sys/rump/dev/lib/libscsitest/scsitest.c
cvs rdiff -u -r1.3 -r1.4 src/tests/dev/scsipi/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/dev/scsipi/libscsitest/Makefile \
    src/tests/dev/scsipi/libscsitest/SCSITEST.ioconf \
    src/tests/dev/scsipi/libscsitest/scsitest.c \
    src/tests/dev/scsipi/libscsitest/scsitest_component.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.699 src/distrib/sets/lists/base/shl.mi:1.700
--- src/distrib/sets/lists/base/shl.mi:1.699	Thu Apr 10 22:11:57 2014
+++ src/distrib/sets/lists/base/shl.mi	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.699 2014/04/10 22:11:57 asau Exp $
+# $NetBSD: shl.mi,v 1.700 2014/04/24 21:46:44 pooka Exp $
 #
 # Note:	Don't delete entries from here - mark them as "obsolete" instead,
 #	unless otherwise stated below.
@@ -520,9 +520,9 @@
 ./usr/lib/librumpdev_scsipi.so			base-rump-shlib	rump
 ./usr/lib/librumpdev_scsipi.so.0		base-rump-shlib	rump
 ./usr/lib/librumpdev_scsipi.so.0.0		base-rump-shlib	rump
-./usr/lib/librumpdev_scsitest.so		base-rump-shlib	rump
-./usr/lib/librumpdev_scsitest.so.0		base-rump-shlib	rump
-./usr/lib/librumpdev_scsitest.so.0.0		base-rump-shlib	rump
+./usr/lib/librumpdev_scsitest.so		base-obsolete obsolete
+./usr/lib/librumpdev_scsitest.so.0		base-obsolete obsolete
+./usr/lib/librumpdev_scsitest.so.0.0		base-obsolete obsolete
 ./usr/lib/librumpdev_sysmon.so			base-rump-shlib	rump
 ./usr/lib/librumpdev_sysmon.so.0		base-rump-shlib	rump
 ./usr/lib/librumpdev_sysmon.so.0.0		base-rump-shlib	rump

Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.1889 src/distrib/sets/lists/comp/mi:1.1890
--- src/distrib/sets/lists/comp/mi:1.1889	Tue Apr 22 15:27:50 2014
+++ src/distrib/sets/lists/comp/mi	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: mi,v 1.1889 2014/04/22 15:27:50 christos Exp $
+#	$NetBSD: mi,v 1.1890 2014/04/24 21:46:44 pooka Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -3762,8 +3762,8 @@
 ./usr/lib/librumpdev_rnd_p.a			comp-c-proflib		profile,rump
 ./usr/lib/librumpdev_scsipi.a			comp-c-lib		rump
 ./usr/lib/librumpdev_scsipi_p.a			comp-c-proflib		profile,rump
-./usr/lib/librumpdev_scsitest.a			comp-c-lib		rump
-./usr/lib/librumpdev_scsitest_p.a		comp-c-proflib		profile,rump
+./usr/lib/librumpdev_scsitest.a			comp-obsolete obsolete
+./usr/lib/librumpdev_scsitest_p.a		comp-obsolete obsolete
 ./usr/lib/librumpdev_sysmon.a			comp-c-lib		rump
 ./usr/lib/librumpdev_sysmon_p.a			comp-c-proflib		profile,rump
 ./usr/lib/librumpdev_ubt.a			comp-c-lib		rump

Index: src/distrib/sets/lists/comp/shl.mi
diff -u src/distrib/sets/lists/comp/shl.mi:1.263 src/distrib/sets/lists/comp/shl.mi:1.264
--- src/distrib/sets/lists/comp/shl.mi:1.263	Thu Apr 10 00:09:09 2014
+++ src/distrib/sets/lists/comp/shl.mi	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.263 2014/04/10 00:09:09 pooka Exp $
+# $NetBSD: shl.mi,v 1.264 2014/04/24 21:46:44 pooka Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -164,7 +164,7 @@
 ./usr/lib/librumpdev_raidframe_pic.a		comp-c-piclib		rump,picinstall
 ./usr/lib/librumpdev_rnd_pic.a			comp-c-piclib		rump,picinstall
 ./usr/lib/librumpdev_scsipi_pic.a		comp-c-piclib		rump,picinstall
-./usr/lib/librumpdev_scsitest_pic.a		comp-c-piclib		rump,picinstall
+./usr/lib/librumpdev_scsitest_pic.a		comp-obsolete obsolete
 ./usr/lib/librumpdev_sysmon_pic.a		comp-c-piclib		rump,picinstall
 ./usr/lib/librumpdev_ubt_pic.a			comp-c-piclib		rump,picinstall
 ./usr/lib/librumpdev_ucom_pic.a			comp-c-piclib		rump,picinstall

Index: src/distrib/sets/lists/debug/mi
diff -u src/distrib/sets/lists/debug/mi:1.58 src/distrib/sets/lists/debug/mi:1.59
--- src/distrib/sets/lists/debug/mi:1.58	Wed Apr 16 00:41:07 2014
+++ src/distrib/sets/lists/debug/mi	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.58 2014/04/16 00:41:07 htodd Exp $
+# $NetBSD: mi,v 1.59 2014/04/24 21:46:44 pooka Exp $
 
 ./etc/mtree/set.debug                           comp-sys-root
 ./usr/lib/i18n/libBIG5_g.a			comp-c-debuglib		debuglib
@@ -152,7 +152,7 @@
 ./usr/lib/librumpdev_raidframe_g.a		comp-c-debuglib		debuglib,rump
 ./usr/lib/librumpdev_rnd_g.a			comp-c-debuglib		debuglib,rump
 ./usr/lib/librumpdev_scsipi_g.a			comp-c-debuglib		debuglib,rump
-./usr/lib/librumpdev_scsitest_g.a		comp-c-debuglib		debuglib,rump
+./usr/lib/librumpdev_scsitest_g.a		comp-obsolete obsolete
 ./usr/lib/librumpdev_sysmon_g.a			comp-c-debuglib		debuglib,rump
 ./usr/lib/librumpdev_ubt_g.a			comp-c-debuglib		debuglib,rump
 ./usr/lib/librumpdev_ucom_g.a			comp-c-debuglib		debuglib,rump

Index: src/distrib/sets/lists/debug/shl.mi
diff -u src/distrib/sets/lists/debug/shl.mi:1.59 src/distrib/sets/lists/debug/shl.mi:1.60
--- src/distrib/sets/lists/debug/shl.mi:1.59	Thu Apr 10 00:09:09 2014
+++ src/distrib/sets/lists/debug/shl.mi	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.59 2014/04/10 00:09:09 pooka Exp $
+# $NetBSD: shl.mi,v 1.60 2014/04/24 21:46:44 pooka Exp $
 ./usr/libdata/debug/lib/libc.so.12.190.debug		comp-sys-debug	debug
 ./usr/libdata/debug/lib/libcrypt.so.1.0.debug		comp-sys-debug	debug
 ./usr/libdata/debug/lib/libcrypto.so.8.2.debug		comp-sys-debug	debug
@@ -179,7 +179,7 @@
 ./usr/libdata/debug/usr/lib/librumpdev_raidframe.so.0.0.debug	comp-rump-debug	debug,rump
 ./usr/libdata/debug/usr/lib/librumpdev_rnd.so.0.0.debug	comp-rump-debug	debug,rump
 ./usr/libdata/debug/usr/lib/librumpdev_scsipi.so.0.0.debug	comp-rump-debug	debug,rump
-./usr/libdata/debug/usr/lib/librumpdev_scsitest.so.0.0.debug	comp-rump-debug	debug,rump
+./usr/libdata/debug/usr/lib/librumpdev_scsitest.so.0.0.debug	comp-obsolete obsolete
 ./usr/libdata/debug/usr/lib/librumpdev_sysmon.so.0.0.debug	comp-rump-debug	debug,rump
 ./usr/libdata/debug/usr/lib/librumpdev_ubt.so.0.0.debug	comp-rump-debug	debug,rump
 ./usr/libdata/debug/usr/lib/librumpdev_ucom.so.0.0.debug	comp-rump-debug	debug,rump

Index: src/sys/rump/dev/Makefile.rumpdevcomp
diff -u src/sys/rump/dev/Makefile.rumpdevcomp:1.10 src/sys/rump/dev/Makefile.rumpdevcomp:1.11
--- src/sys/rump/dev/Makefile.rumpdevcomp:1.10	Mon Apr 14 22:56:53 2014
+++ src/sys/rump/dev/Makefile.rumpdevcomp	Thu Apr 24 21:46:44 2014
@@ -1,8 +1,8 @@
-#	$NetBSD: Makefile.rumpdevcomp,v 1.10 2014/04/14 22:56:53 pooka Exp $
+#	$NetBSD: Makefile.rumpdevcomp,v 1.11 2014/04/24 21:46:44 pooka Exp $
 #
 
 RUMPDEVCOMP=	audio bpf cgd disk dm drvctl fss md netsmb pad pud	\
-		putter raidframe rnd scsipi scsitest sysmon wscons	\
+		putter raidframe rnd scsipi sysmon wscons		\
 		opencrypto
 
 RUMPUSBDEVS=	ubt ucom ugenhc ulpt umass usb

Index: src/tests/dev/scsipi/Makefile
diff -u src/tests/dev/scsipi/Makefile:1.3 src/tests/dev/scsipi/Makefile:1.4
--- src/tests/dev/scsipi/Makefile:1.3	Sat Sep 11 16:03:41 2010
+++ src/tests/dev/scsipi/Makefile	Thu Apr 24 21:46:44 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2010/09/11 16:03:41 martin Exp $
+#	$NetBSD: Makefile,v 1.4 2014/04/24 21:46:44 pooka Exp $
 #
 
 .include <bsd.own.mk>
@@ -7,7 +7,13 @@ TESTSDIR=	${TESTSBASE}/dev/scsipi
 
 TESTS_C=	t_cd
 
-LDADD+=	-lrumpdev_scsitest -lrumpdev_scsipi -lrumpdev_disk -lrumpdev -lrumpvfs
+# kernel component required by test
+SUBDIR=	libscsitest
+SCSITESTDIR!= cd ${.CURDIR}/libscsitest && ${PRINTOBJDIR}
+LDFLAGS+= -L${SCSITESTDIR}
+LDADD+=	-Wl,--whole-archive -lrumpdev_scsitest -Wl,--no-whole-archive
+
+LDADD+= -lrumpdev_scsipi -lrumpdev_disk -lrumpdev -lrumpvfs
 LDADD+=	-lrump -lutil
 LDADD+=	-lrumpuser -lpthread
 

Added files:

Index: src/tests/dev/scsipi/libscsitest/Makefile
diff -u /dev/null src/tests/dev/scsipi/libscsitest/Makefile:1.1
--- /dev/null	Thu Apr 24 21:46:45 2014
+++ src/tests/dev/scsipi/libscsitest/Makefile	Thu Apr 24 21:46:44 2014
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile,v 1.1 2014/04/24 21:46:44 pooka Exp $
+#
+
+RUMPTOP= ${NETBSDSRCDIR}/sys/rump
+
+LIB=	rumpdev_scsitest
+IOCONF=	SCSITEST.ioconf
+LIBISPRIVATE= #defined
+
+SRCS=	scsitest.c
+SRCS+=	scsitest_component.c
+
+.include "${RUMPTOP}/Makefile.rump"
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
Index: src/tests/dev/scsipi/libscsitest/SCSITEST.ioconf
diff -u /dev/null src/tests/dev/scsipi/libscsitest/SCSITEST.ioconf:1.1
--- /dev/null	Thu Apr 24 21:46:45 2014
+++ src/tests/dev/scsipi/libscsitest/SCSITEST.ioconf	Thu Apr 24 21:46:44 2014
@@ -0,0 +1,12 @@
+#	$NetBSD: SCSITEST.ioconf,v 1.1 2014/04/24 21:46:44 pooka Exp $
+#
+
+ioconf scsitest
+
+include "conf/files"
+include "dev/scsipi/files.scsipi"
+include "rump/dev/files.rump"
+
+pseudo-root mainbus*
+
+scsitest0 at mainbus?
Index: src/tests/dev/scsipi/libscsitest/scsitest.c
diff -u /dev/null src/tests/dev/scsipi/libscsitest/scsitest.c:1.1
--- /dev/null	Thu Apr 24 21:46:45 2014
+++ src/tests/dev/scsipi/libscsitest/scsitest.c	Thu Apr 24 21:46:44 2014
@@ -0,0 +1,258 @@
+/*	$NetBSD: scsitest.c,v 1.1 2014/04/24 21:46:44 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * A SCSI target which is useful for debugging our scsipi driver stack.
+ * Currently it pretends to be a single CD.
+ *
+ * Freely add the necessary features for your tests.  Just remember to
+ * run the atf test suite to make sure you didn't cause regressions to
+ * other tests.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: scsitest.c,v 1.1 2014/04/24 21:46:44 pooka Exp $");
+
+#include <sys/param.h>
+#include <sys/atomic.h>
+#include <sys/buf.h>
+#include <sys/device.h>
+#include <sys/malloc.h>
+#include <sys/fcntl.h>
+
+#include <dev/scsipi/scsiconf.h>
+#include <dev/scsipi/scsipiconf.h>
+#include <dev/scsipi/scsi_disk.h>
+#include <dev/scsipi/scsipi_cd.h>
+#include <dev/scsipi/scsipi_all.h>
+
+#include <rump/rumpuser.h>
+#include <rump/scsitest.h>
+
+int	scsitest_match(device_t, cfdata_t, void *);
+void	scsitest_attach(device_t, device_t, void *);
+
+struct scsitest {
+	struct scsipi_channel sc_channel;
+	struct scsipi_adapter sc_adapter;
+};
+
+CFATTACH_DECL_NEW(scsitest, sizeof(struct scsitest), scsitest_match,
+	scsitest_attach, NULL, NULL);
+
+/*
+ * tosi.iso can be used to deliver CD requests to a host file with the
+ * name in USE_TOSI_ISO (yes, it's extrasimplistic).
+ */
+//#define USE_TOSI_ISO
+
+#define CDBLOCKSIZE 2048
+static uint32_t mycdsize = 2048;
+static int isofd;
+
+#define MYCDISO "tosi.iso"
+
+unsigned rump_scsitest_err[RUMP_SCSITEST_MAXERROR];
+
+static void
+sense_notready(struct scsipi_xfer *xs)
+{
+	struct scsi_sense_data *sense = &xs->sense.scsi_sense;
+
+	xs->error = XS_SENSE;
+
+	sense->response_code = 0x70;
+	sense->flags = SKEY_NOT_READY;
+	sense->asc = 0x3A;
+	sense->ascq = 0x00;
+	sense->extra_len = 6;
+}
+
+/*
+ * This is pretty much a CD target for now
+ */
+static void
+scsitest_request(struct scsipi_channel *chan,
+	scsipi_adapter_req_t req, void *arg)
+{
+	struct scsipi_xfer *xs = arg;
+	struct scsipi_generic *cmd = xs->cmd;
+#ifdef USE_TOSI_ISO
+	int error;
+#endif
+
+	if (req != ADAPTER_REQ_RUN_XFER)
+		return;
+
+	//show_scsipi_xs(xs);
+
+	switch (cmd->opcode) {
+	case SCSI_TEST_UNIT_READY:
+		if (isofd == -1)
+			sense_notready(xs);
+
+		break;
+	case INQUIRY: {
+		struct scsipi_inquiry_data *inqbuf = (void *)xs->data;
+
+		memset(inqbuf, 0, sizeof(*inqbuf));
+		inqbuf->device = T_CDROM;
+		inqbuf->dev_qual2 = SID_REMOVABLE;
+		strcpy(inqbuf->vendor, "RUMPHOBO");
+		strcpy(inqbuf->product, "It's a LIE");
+		strcpy(inqbuf->revision, "0.00");
+		break;
+	}
+	case READ_CD_CAPACITY: {
+		struct scsipi_read_cd_cap_data *ret = (void *)xs->data;
+
+		_lto4b(CDBLOCKSIZE, ret->length);
+		_lto4b(mycdsize, ret->addr);
+
+		break;
+	}
+	case READ_DISCINFO: {
+		struct scsipi_read_discinfo_data *ret = (void *)xs->data;
+
+		memset(ret, 0, sizeof(*ret));
+		break;
+	}
+	case READ_TRACKINFO: {
+		struct scsipi_read_trackinfo_data *ret = (void *)xs->data;
+
+		_lto4b(mycdsize, ret->track_size);
+		break;
+	}
+	case READ_TOC: {
+		struct scsipi_toc_header *ret = (void *)xs->data;
+
+		memset(ret, 0, sizeof(*ret));
+		break;
+	}
+	case START_STOP: {
+		struct scsipi_start_stop *param = (void *)cmd;
+
+		if (param->how & SSS_LOEJ) {
+#ifdef USE_TOSI_ISO
+			rumpuser_close(isofd, &error);
+#endif
+			isofd = -1;
+		}
+		break;
+	}
+	case SCSI_SYNCHRONIZE_CACHE_10: {
+		if (isofd == -1) {
+			if ((xs->xs_control & XS_CTL_SILENT) == 0)
+				atomic_inc_uint(&rump_scsitest_err
+				    [RUMP_SCSITEST_NOISYSYNC]);
+			
+			sense_notready(xs);
+		}
+
+		break;
+	}
+	case GET_CONFIGURATION: {
+		memset(xs->data, 0, sizeof(struct scsipi_get_conf_data));
+		break;
+	}
+	case SCSI_READ_6_COMMAND: {
+#ifdef USE_TOSI_ISO
+		struct scsi_rw_6 *param = (void *)cmd;
+
+		printf("reading %d bytes from %d\n",
+		    param->length * CDBLOCKSIZE,
+		    _3btol(param->addr) * CDBLOCKSIZE);
+		rumpuser_pread(isofd, xs->data,
+		     param->length * CDBLOCKSIZE,
+		     _3btol(param->addr) * CDBLOCKSIZE,
+		     &error);
+#endif
+
+		break;
+	}
+	case SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL:
+		/* hardcoded for now */
+		break;
+	default:
+		printf("unhandled opcode 0x%x\n", cmd->opcode);
+		break;
+	}
+
+	scsipi_done(xs);
+}
+
+int
+scsitest_match(device_t parent, cfdata_t match, void *aux)
+{
+#ifdef USE_TOSI_ISO
+	uint64_t fsize;
+	int error, ft;
+
+	if (rumpuser_getfileinfo(MYCDISO, &fsize, &ft, &error))
+		return 0;
+	if (ft != RUMPUSER_FT_REG)
+		return 0;
+	mycdsize = fsize / CDBLOCKSIZE;
+
+	if ((isofd = rumpuser_open(MYCDISO, RUMPUSER_OPEN_RDWR, &error)) == -1)
+		return 0;
+#else
+	/*
+	 * We pretend to have a medium present initially, so != -1.
+	 */
+	isofd = -2;
+#endif
+
+	return 1;
+}
+
+void
+scsitest_attach(device_t parent, device_t self, void *aux)
+{
+	struct scsitest *sc = device_private(self);
+	
+	aprint_naive("\n");
+	aprint_normal("\n");
+
+	memset(&sc->sc_adapter, 0, sizeof(sc->sc_adapter));
+	sc->sc_adapter.adapt_nchannels = 1;
+	sc->sc_adapter.adapt_request = scsitest_request;
+	sc->sc_adapter.adapt_minphys = minphys;
+	sc->sc_adapter.adapt_dev = self;
+	sc->sc_adapter.adapt_max_periph = 1;
+	sc->sc_adapter.adapt_openings = 1;
+
+	memset(&sc->sc_channel, 0, sizeof(sc->sc_channel));
+	sc->sc_channel.chan_bustype = &scsi_bustype;
+	sc->sc_channel.chan_ntargets = 2;
+	sc->sc_channel.chan_nluns = 1;
+	sc->sc_channel.chan_id = 0;
+	sc->sc_channel.chan_flags = SCSIPI_CHAN_NOSETTLE;
+	sc->sc_channel.chan_adapter = &sc->sc_adapter;
+
+	config_found_ia(self, "scsi", &sc->sc_channel, scsiprint);
+}
Index: src/tests/dev/scsipi/libscsitest/scsitest_component.c
diff -u /dev/null src/tests/dev/scsipi/libscsitest/scsitest_component.c:1.1
--- /dev/null	Thu Apr 24 21:46:45 2014
+++ src/tests/dev/scsipi/libscsitest/scsitest_component.c	Thu Apr 24 21:46:44 2014
@@ -0,0 +1,46 @@
+/*	$NetBSD: scsitest_component.c,v 1.1 2014/04/24 21:46:44 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: scsitest_component.c,v 1.1 2014/04/24 21:46:44 pooka Exp $");
+
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/mbuf.h>
+#include <sys/stat.h>
+
+#include "ioconf.c"
+
+#include "rump_private.h"
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+
+	config_init_component(cfdriver_ioconf_scsitest,
+	    cfattach_ioconf_scsitest, cfdata_ioconf_scsitest);
+}

Reply via email to