xref: /openbmc/u-boot/drivers/virtio/Kconfig (revision 6f3327658b03f448c324ac54aad1bd6cc2c2e50d)
1# SPDX-License-Identifier: GPL-2.0+
2#
3# Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
4# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
5#
6# VirtIO is a virtualization standard for network and disk device drivers
7# where just the guest's device driver "knows" it is running in a virtual
8# environment, and cooperates with the hypervisor. This enables guests to
9# get high performance network and disk operations, and gives most of the
10# performance benefits of paravirtualization. In the U-Boot case, the guest
11# is U-Boot itself, while the virtual environment are normally QEMU targets
12# like ARM, RISC-V and x86.
13#
14# See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for
15# the VirtIO specification v1.0.
16
17menu "VirtIO Drivers"
18
19config VIRTIO
20	bool
21	help
22	  This option is selected by any driver which implements the virtio
23	  transport, such as CONFIG_VIRTIO_MMIO or CONFIG_VIRTIO_PCI.
24
25config VIRTIO_MMIO
26	bool "Platform bus driver for memory mapped virtio devices"
27	select VIRTIO
28	help
29	  This driver provides support for memory mapped virtio
30	  platform device driver.
31
32config VIRTIO_PCI
33	bool "PCI driver for virtio devices"
34	depends on DM_PCI
35	select VIRTIO
36	help
37	  This driver provides support for virtio based paravirtual device
38	  drivers over PCI.
39
40config VIRTIO_NET
41	bool "virtio net driver"
42	depends on VIRTIO
43	help
44	  This is the virtual net driver for virtio. It can be used with
45	  QEMU based targets.
46
47config VIRTIO_BLK
48	bool "virtio block driver"
49	depends on VIRTIO
50	help
51	  This is the virtual block driver for virtio. It can be used with
52	  QEMU based targets.
53
54endmenu
55