753912f0f952cdb9aad2d0745560e9e203d5c902
[oweals/u-boot.git] / drivers / virtio / Kconfig
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
17 menu "VirtIO Drivers"
18
19 config 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
25 config 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
32 config 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
40 config 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
47 config 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
54 endmenu