blob: 863c3fbe029159db33311b1dc977f91fb8e29303 [file] [log] [blame]
Bin Mengdb7ca2e2018-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 Meng5c1a3e62018-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 Menga8cfa462018-10-15 02:21:17 -070032config VIRTIO_PCI
33 bool "PCI driver for virtio devices"
Simon Glass3933d292021-08-01 18:54:44 -060034 depends on PCI
Bin Menga8cfa462018-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 Meng51a2e0e2018-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 Tynkkynene98c8332018-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 Tynkkynen2b3b9e92018-10-15 02:21:11 -070055config VIRTIO_BLK
56 bool "virtio block driver"
57 depends on VIRTIO
Bin Meng90ea54b2021-02-25 17:22:47 +080058 depends on BLK
Tuomas Tynkkynen2b3b9e92018-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 Ganu081da0a2019-12-29 15:30:14 +053063config VIRTIO_RNG
Heinrich Schuchardt17059ba2020-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 Mengdb7ca2e2018-10-15 02:21:00 -070071endmenu