# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (C) 2018, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
#
# VirtIO is a virtualization standard for network and disk device drivers
# where just the guest's device driver "knows" it is running in a virtual
# environment, and cooperates with the hypervisor. This enables guests to
# get high performance network and disk operations, and gives most of the
# performance benefits of paravirtualization. In the U-Boot case, the guest
# is U-Boot itself, while the virtual environment are normally QEMU targets
# like ARM, RISC-V and x86.
#
# See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for
# the VirtIO specification v1.0.

menu "VirtIO Drivers"

config VIRTIO
	bool
	help
	  This option is selected by any driver which implements the virtio
	  transport, such as CONFIG_VIRTIO_MMIO or CONFIG_VIRTIO_PCI.

config VIRTIO_MMIO
	bool "Platform bus driver for memory mapped virtio devices"
	select VIRTIO
	help
	  This driver provides support for memory mapped virtio
	  platform device driver.

config VIRTIO_NET
	bool "virtio net driver"
	depends on VIRTIO
	help
	  This is the virtual net driver for virtio. It can be used with
	  QEMU based targets.

config VIRTIO_BLK
	bool "virtio block driver"
	depends on VIRTIO
	help
	  This is the virtual block driver for virtio. It can be used with
	  QEMU based targets.

endmenu
