xref: /openbmc/u-boot/drivers/virtio/Kconfig (revision 1d6edcbfed2af33c748f2beb399810a0441888da)
18fb49b4cSBin Meng# SPDX-License-Identifier: GPL-2.0+
28fb49b4cSBin Meng#
38fb49b4cSBin Meng# Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
48fb49b4cSBin Meng# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
58fb49b4cSBin Meng#
68fb49b4cSBin Meng# VirtIO is a virtualization standard for network and disk device drivers
78fb49b4cSBin Meng# where just the guest's device driver "knows" it is running in a virtual
88fb49b4cSBin Meng# environment, and cooperates with the hypervisor. This enables guests to
98fb49b4cSBin Meng# get high performance network and disk operations, and gives most of the
108fb49b4cSBin Meng# performance benefits of paravirtualization. In the U-Boot case, the guest
118fb49b4cSBin Meng# is U-Boot itself, while the virtual environment are normally QEMU targets
128fb49b4cSBin Meng# like ARM, RISC-V and x86.
138fb49b4cSBin Meng#
148fb49b4cSBin Meng# See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for
158fb49b4cSBin Meng# the VirtIO specification v1.0.
168fb49b4cSBin Meng
178fb49b4cSBin Mengmenu "VirtIO Drivers"
188fb49b4cSBin Meng
198fb49b4cSBin Mengconfig VIRTIO
208fb49b4cSBin Meng	bool
218fb49b4cSBin Meng	help
228fb49b4cSBin Meng	  This option is selected by any driver which implements the virtio
238fb49b4cSBin Meng	  transport, such as CONFIG_VIRTIO_MMIO or CONFIG_VIRTIO_PCI.
248fb49b4cSBin Meng
25fdc4aca8SBin Mengconfig VIRTIO_MMIO
26fdc4aca8SBin Meng	bool "Platform bus driver for memory mapped virtio devices"
27fdc4aca8SBin Meng	select VIRTIO
28fdc4aca8SBin Meng	help
29fdc4aca8SBin Meng	  This driver provides support for memory mapped virtio
30fdc4aca8SBin Meng	  platform device driver.
31fdc4aca8SBin Meng
324135e107SBin Mengconfig VIRTIO_PCI
334135e107SBin Meng	bool "PCI driver for virtio devices"
344135e107SBin Meng	depends on DM_PCI
354135e107SBin Meng	select VIRTIO
364135e107SBin Meng	help
374135e107SBin Meng	  This driver provides support for virtio based paravirtual device
384135e107SBin Meng	  drivers over PCI.
394135e107SBin Meng
40*640aae0fSBin Mengconfig VIRTIO_SANDBOX
41*640aae0fSBin Meng	bool "Sandbox driver for virtio devices"
42*640aae0fSBin Meng	depends on SANDBOX
43*640aae0fSBin Meng	select VIRTIO
44*640aae0fSBin Meng	help
45*640aae0fSBin Meng	  This driver provides support for Sandbox implementation of virtio
46*640aae0fSBin Meng	  transport driver which is used for testing purpose only.
47*640aae0fSBin Meng
48f371ad30STuomas Tynkkynenconfig VIRTIO_NET
49f371ad30STuomas Tynkkynen	bool "virtio net driver"
50f371ad30STuomas Tynkkynen	depends on VIRTIO
51f371ad30STuomas Tynkkynen	help
52f371ad30STuomas Tynkkynen	  This is the virtual net driver for virtio. It can be used with
53f371ad30STuomas Tynkkynen	  QEMU based targets.
54f371ad30STuomas Tynkkynen
55f4802209STuomas Tynkkynenconfig VIRTIO_BLK
56f4802209STuomas Tynkkynen	bool "virtio block driver"
57f4802209STuomas Tynkkynen	depends on VIRTIO
58f4802209STuomas Tynkkynen	help
59f4802209STuomas Tynkkynen	  This is the virtual block driver for virtio. It can be used with
60f4802209STuomas Tynkkynen	  QEMU based targets.
61f4802209STuomas Tynkkynen
628fb49b4cSBin Mengendmenu
63