Files
u-boot/drivers/virtio/Kconfig
Simon Glass 9a6d610a34 virtio: Add support for virtio-scsi
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>
2025-07-02 13:43:28 -06:00

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