blob: 852f6735b6025bc869a84c93b665db6611c85951 [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
Andrew Scull4e7d0982022-04-21 16:10:59 +000040config VIRTIO_PCI_LEGACY
41 bool "PCI driver for legacy virtio devices"
42 depends on PCI
43 select VIRTIO
44 default VIRTIO_PCI
45 help
46 This driver provides support for legacy virtio based paravirtual
47 device drivers over PCI.
48
Bin Meng51a2e0e2018-10-15 02:21:25 -070049config VIRTIO_SANDBOX
50 bool "Sandbox driver for virtio devices"
51 depends on SANDBOX
52 select VIRTIO
53 help
54 This driver provides support for Sandbox implementation of virtio
55 transport driver which is used for testing purpose only.
56
Tuomas Tynkkynene98c8332018-10-15 02:21:03 -070057config VIRTIO_NET
58 bool "virtio net driver"
59 depends on VIRTIO
60 help
61 This is the virtual net driver for virtio. It can be used with
62 QEMU based targets.
63
Tuomas Tynkkynen2b3b9e92018-10-15 02:21:11 -070064config VIRTIO_BLK
65 bool "virtio block driver"
66 depends on VIRTIO
67 help
68 This is the virtual block driver for virtio. It can be used with
69 QEMU based targets.
70
Sughosh Ganu081da0a2019-12-29 15:30:14 +053071config VIRTIO_RNG
Heinrich Schuchardt17059ba2020-05-31 11:02:42 +020072 bool "virtio rng driver"
73 depends on DM_RNG
74 depends on VIRTIO
75 default y
76 help
77 This is the virtual random number generator driver. It can be used
78 with QEMU based targets.
Bin Mengdb7ca2e2018-10-15 02:21:00 -070079endmenu