add virtio-scsi component

This commit is contained in:
pooka 2015-11-01 09:03:28 +00:00
parent 61cb098d0b
commit a75cbaa267
4 changed files with 84 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.rumpdevcomp,v 1.21 2015/06/03 14:06:19 pooka Exp $
# $NetBSD: Makefile.rumpdevcomp,v 1.22 2015/11/01 09:03:28 pooka Exp $
#
RUMPDEVCOMP= audio bpf cgd disk dm drvctl fss md netsmb \
@ -10,6 +10,7 @@ RUMPUSBDEVS= ubt ucom ugenhc ulpt umass usb
RUMPPCIDEVS= pci pci_if_iwn pci_if_pcn pci_if_wm
RUMPPCIDEVS+= pci_usbhc
RUMPPCIDEVS+= pci_virtio virtio_if_vioif virtio_ld virtio_viornd
RUMPPCIDEVS+= virtio_vioscsi
RUMPPCIDEVS+= audio_ac97 pci_auich pci_eap pci_hdaudio hdaudio_hdafg
# Not really a PCI device, but ....
RUMPPCIDEVS+= miiphy

View File

@ -0,0 +1,21 @@
# $NetBSD: Makefile,v 1.1 2015/11/01 09:03:28 pooka Exp $
#
RUMPTOP=${TOPRUMP}
.PATH: ${RUMPTOP}/../dev/pci
LIB= rumpdev_virtio_vioscsi
COMMENT=VirtIO SCSI driver
IOCONF= VIRTIO_VIOSCSI.ioconf
SRCS= vioscsi_at_virtio.c
SRCS+= vioscsi.c
CPPFLAGS+= -I${RUMPTOP}/librump/rumpkern
.include "${RUMPTOP}/Makefile.rump"
.include <bsd.lib.mk>
.include <bsd.klinks.mk>

View File

@ -0,0 +1,12 @@
# $NetBSD: VIRTIO_VIOSCSI.ioconf,v 1.1 2015/11/01 09:03:28 pooka Exp $
#
ioconf virtio_vioscsi
include "conf/files"
include "dev/pci/files.pci"
include "rump/dev/files.rump"
pseudo-root virtio*
vioscsi* at virtio? # Virtio SCSI device

View File

@ -0,0 +1,49 @@
/* $NetBSD: vioscsi_at_virtio.c,v 1.1 2015/11/01 09:03:28 pooka Exp $ */
/*
* Copyright (c) 2014 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: vioscsi_at_virtio.c,v 1.1 2015/11/01 09:03:28 pooka Exp $");
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/device.h>
#include <sys/bus.h>
#include "rump_private.h"
#include "ioconf.c"
#define CONFIG_INIT_COMPONENT(a) config_init_component( \
__CONCAT(cfdriver_ioconf_,a), \
__CONCAT(cfattach_ioconf_,a), \
__CONCAT(cfdata_ioconf_,a));
RUMP_COMPONENT(RUMP_COMPONENT_DEV)
{
CONFIG_INIT_COMPONENT(virtio_vioscsi);
}