blob: 863c3fbe029159db33311b1dc977f91fb8e29303 [file] [log] [blame]
Bin Meng8fb49b42018-10-15 02:21:00 -07001# 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
Bin Mengfdc4aca2018-10-15 02:21:02 -070025config 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
Bin Meng4135e102018-10-15 02:21:17 -070032config VIRTIO_PCI
33 bool "PCI driver for virtio devices"
Simon Glass3232bdf2021-08-01 18:54:44 -060034 depends on PCI
Bin Meng4135e102018-10-15 02:21:17 -070035 select VIRTIO
36 help
37 This driver provides support for virtio based paravirtual device
38 drivers over PCI.
39
Bin Meng640aae02018-10-15 02:21:25 -070040config VIRTIO_SANDBOX
41 bool "Sandbox driver for virtio devices"
42 depends on SANDBOX
43 select VIRTIO
44 help
45 This driver provides support for Sandbox implementation of virtio
46 transport driver which is used for testing purpose only.
47
Tuomas Tynkkynenf371ad32018-10-15 02:21:03 -070048config VIRTIO_NET
49 bool "virtio net driver"
50 depends on VIRTIO
51 help
52 This is the virtual net driver for virtio. It can be used with
53 QEMU based targets.
54
Tuomas Tynkkynenf4802202018-10-15 02:21:11 -070055config VIRTIO_BLK
56 bool "virtio block driver"
57 depends on VIRTIO
Bin Meng5474ef82021-02-25 17:22:47 +080058 depends on BLK
Tuomas Tynkkynenf4802202018-10-15 02:21:11 -070059 help
60 This is the virtual block driver for virtio. It can be used with
61 QEMU based targets.
62
Sughosh Ganu03018ea2019-12-29 15:30:14 +053063config VIRTIO_RNG
Heinrich Schuchardtca3ba712020-05-31 11:02:42 +020064 bool "virtio rng driver"
65 depends on DM_RNG
66 depends on VIRTIO
67 default y
68 help
69 This is the virtual random number generator driver. It can be used
70 with QEMU based targets.
Bin Meng8fb49b42018-10-15 02:21:00 -070071endmenu