This feature can be useful where the host wants to provide more than one block device, since it allows all of them to be under one virtio device. Add an implementation of virtio-scsi Series-to: concept Cover-letter: virtio: Support SCSI over virtio U-Boot supports virtio-blk and in most cases this is sufficient for providing access to a disk. However some larger users such as LXD prefer virtio-scsi since it groups disks together and provides unified probing of devices. This series implements this protocol. END Signed-off-by: Simon Glass <sjg@chromium.org>
114 lines
3.2 KiB
Plaintext
114 lines
3.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
|
|
# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
|
|
#
|
|
# VirtIO is a virtualization standard for network and disk device drivers
|
|
# where just the guest's device driver "knows" it is running in a virtual
|
|
# environment, and cooperates with the hypervisor. This enables guests to
|
|
# get high performance network and disk operations, and gives most of the
|
|
# performance benefits of paravirtualization. In the U-Boot case, the guest
|
|
# is U-Boot itself, while the virtual environment are normally QEMU targets
|
|
# like ARM, RISC-V and x86.
|
|
#
|
|
# See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for
|
|
# the VirtIO specification v1.0.
|
|
|
|
menu "VirtIO Drivers"
|
|
|
|
config VIRTIO
|
|
bool
|
|
help
|
|
This option is selected by any driver which implements the virtio
|
|
transport, such as CONFIG_VIRTIO_MMIO or CONFIG_VIRTIO_PCI.
|
|
|
|
config VIRTIO_MMIO
|
|
bool "Platform bus driver for memory mapped virtio devices"
|
|
select VIRTIO
|
|
help
|
|
This driver provides support for memory mapped virtio
|
|
platform device driver.
|
|
|
|
config VIRTIO_PCI
|
|
bool "PCI driver for virtio devices"
|
|
depends on PCI
|
|
select VIRTIO
|
|
help
|
|
This driver provides support for virtio based paravirtual device
|
|
drivers over PCI.
|
|
|
|
config VIRTIO_PCI_LEGACY
|
|
bool "PCI driver for legacy virtio devices"
|
|
depends on PCI
|
|
select VIRTIO
|
|
default VIRTIO_PCI
|
|
help
|
|
This driver provides support for legacy virtio based paravirtual
|
|
device drivers over PCI.
|
|
|
|
config VIRTIO_SANDBOX
|
|
bool "Sandbox driver for virtio devices"
|
|
depends on SANDBOX
|
|
select VIRTIO
|
|
help
|
|
This driver provides support for Sandbox implementation of virtio
|
|
transport driver which is used for testing purpose only.
|
|
|
|
config VIRTIO_SANDBOX_EMUL
|
|
bool "Sandbox MMIO emulator for virtio devices"
|
|
depends on SANDBOX
|
|
select VIRTIO
|
|
help
|
|
This driver provides an MMIO interface to an emulation of a block
|
|
device. It is used for testing purpose only.
|
|
|
|
config VIRTIO_NET
|
|
bool "virtio net driver"
|
|
depends on VIRTIO && NETDEVICES
|
|
help
|
|
This is the virtual net driver for virtio. It can be used with
|
|
QEMU based targets.
|
|
|
|
config VIRTIO_BLK
|
|
bool "virtio block driver"
|
|
depends on VIRTIO
|
|
select BLK
|
|
help
|
|
This is the virtual block driver for virtio. It can be used with
|
|
QEMU based targets.
|
|
|
|
config VIRTIO_RNG
|
|
bool "virtio rng driver"
|
|
depends on DM_RNG
|
|
depends on VIRTIO
|
|
default y
|
|
help
|
|
This is the virtual random number generator driver. It can be used
|
|
with QEMU based targets.
|
|
|
|
config VIRTIO_FS
|
|
bool "virtio filesystem driver"
|
|
depends on VIRTIO && FS
|
|
default y
|
|
help
|
|
Provides support for virtio-fs which provides access to host files
|
|
within the guest OS. This needs a user-space helper (virtiofsd) when
|
|
running QEMU - see https://virtio-fs.gitlab.io/ for details.
|
|
|
|
A specification for the protocol is available at
|
|
https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html
|
|
|
|
config VIRTIO_SCSI
|
|
bool "SCSI driver for virtio devices"
|
|
depends on SCSI
|
|
select VIRTIO
|
|
default y
|
|
help
|
|
This driver provides support for virtio-based paravirtual SCSI. It
|
|
allows access to storage devices using the
|
|
|
|
A specification for the protocol is available at
|
|
https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html
|
|
|
|
endmenu
|