Prepare v2024.10
[platform/kernel/u-boot.git] / 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 PCI
35         select VIRTIO
36         help
37           This driver provides support for virtio based paravirtual device
38           drivers over PCI.
39
40 config 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
49 config 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
57 config 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
64 config 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
71 config VIRTIO_RNG
72         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.
79 endmenu