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); +}