/openbmc/qemu/include/standard-headers/linux/ |
H A D | virtio_ids.h | 4 * Virtio IDs 32 #define VIRTIO_ID_NET 1 /* virtio net */ 33 #define VIRTIO_ID_BLOCK 2 /* virtio block */ 34 #define VIRTIO_ID_CONSOLE 3 /* virtio console */ 35 #define VIRTIO_ID_RNG 4 /* virtio rng */ 36 #define VIRTIO_ID_BALLOON 5 /* virtio balloon */ 37 #define VIRTIO_ID_IOMEM 6 /* virtio ioMemory */ 38 #define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */ 39 #define VIRTIO_ID_SCSI 8 /* virtio scsi */ 40 #define VIRTIO_ID_9P 9 /* 9p virtio console */ [all …]
|
/openbmc/linux/include/uapi/linux/ |
H A D | virtio_ids.h | 4 * Virtio IDs 32 #define VIRTIO_ID_NET 1 /* virtio net */ 33 #define VIRTIO_ID_BLOCK 2 /* virtio block */ 34 #define VIRTIO_ID_CONSOLE 3 /* virtio console */ 35 #define VIRTIO_ID_RNG 4 /* virtio rng */ 36 #define VIRTIO_ID_BALLOON 5 /* virtio balloon */ 37 #define VIRTIO_ID_IOMEM 6 /* virtio ioMemory */ 38 #define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */ 39 #define VIRTIO_ID_SCSI 8 /* virtio scsi */ 40 #define VIRTIO_ID_9P 9 /* 9p virtio console */ [all …]
|
/openbmc/u-boot/doc/ |
H A D | README.virtio | 5 VirtIO Support 8 This document describes the information about U-Boot support for VirtIO [1] 11 What's VirtIO? 13 VirtIO is a virtualization standard for network and disk device drivers where 22 VirtIO can use various different buses, aka transports as described in the 23 spec. While VirtIO devices are commonly implemented as PCI devices on x86, 26 device. The memory mapped virtio device behaviour is based on the PCI device 31 The VirtIO spec defines a lots of VirtIO device types, however at present only 43 Note ARM and RISC-V targets are configured with VirtIO MMIO transport driver, 55 You can even create a QEMU ARM target with VirtIO devices showing up on both [all …]
|
/openbmc/linux/drivers/virtio/ |
H A D | Kconfig | 5 config VIRTIO config 9 This option is selected by any driver which implements the virtio 24 Legacy PCI device (Virtio PCI Card 0.9.x Draft and older device) 31 bool "Virtio drivers" 37 bool "Harden virtio notification" 51 tristate "PCI driver for virtio devices" 54 select VIRTIO 56 This driver provides support for virtio based paravirtual device 58 virtio backends. Most QEMU based VMMs should support these devices 64 bool "Support for legacy virtio draft 0.9.X and older devices" [all …]
|
/openbmc/qemu/hw/virtio/ |
H A D | Kconfig | 1 config VIRTIO config 7 depends on VIRTIO 11 depends on LIBCBOR && VIRTIO 16 depends on PCI && VIRTIO 22 select VIRTIO 27 select VIRTIO 31 select VIRTIO 36 depends on VIRTIO 41 depends on VIRTIO 43 # not all virtio transports support memory devices; if none does, [all …]
|
H A D | meson.build | 2 system_virtio_ss.add(files('virtio-bus.c')) 3 system_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('virtio-pci.c')) 4 system_virtio_ss.add(when: 'CONFIG_VIRTIO_MMIO', if_true: files('virtio-mmio.c')) 5 system_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.c')) 7 system_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c')) 11 specific_virtio_ss.add(files('virtio.c')) 12 specific_virtio_ss.add(files('virtio-config-io.c', 'virtio-qmp.c')) 51 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-balloon.c')) 53 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pmem.c')) 56 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng.c')) [all …]
|
/openbmc/u-boot/drivers/virtio/ |
H A D | Kconfig | 6 # VirtIO is a virtualization standard for network and disk device drivers 14 # See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for 15 # the VirtIO specification v1.0. 17 menu "VirtIO Drivers" 19 config VIRTIO config 22 This option is selected by any driver which implements the virtio 26 bool "Platform bus driver for memory mapped virtio devices" 27 select VIRTIO 29 This driver provides support for memory mapped virtio 33 bool "PCI driver for virtio devices" [all …]
|
/openbmc/linux/tools/virtio/virtio-trace/ |
H A D | README | 1 Trace Agent for virtio-trace 7 - splice the page from write_pipe to virtio-console without memory copying 19 write the data to virtio-serial. 28 Makefile: Makefile of trace agent for virtio-trace 38 To use this trace agent for virtio-trace, we need to prepare some virtio-serial 42 virtio-trace uses virtio-serial pipe as trace data paths as to the number 44 # mkdir /tmp/virtio-trace/ 45 # mkfifo /tmp/virtio-trace/trace-path-cpu{0,1,2,...,X}.{in,out} 46 # mkfifo /tmp/virtio-trace/agent-ctl-path.{in,out} 53 2) Set up of virtio-serial pipe in a host [all …]
|
/openbmc/linux/Documentation/driver-api/virtio/ |
H A D | virtio.rst | 6 Virtio on Linux 12 Virtio is an open standard that defines a protocol for communication 14 Types") of the virtio spec (`[1]`_). Originally developed as a standard 20 devices provided by the hypervisor, which exposes them as virtio devices 27 Although the virtio devices are really an abstraction layer in the 30 orthogonal to the device itself. The virtio spec defines these transport 35 the hypervisor is done through shared memory (that's what makes virtio 46 Refer to Chapter 2.5 ("Virtqueues") of the virtio spec (`[1]`_) for the 47 reference definitions of virtqueues and "Virtqueues and virtio ring: How 54 ultimately used by virtio drivers: [all …]
|
H A D | writing_virtio_drivers.rst | 6 Writing Virtio Drivers 13 need to hack a new virtio driver or understand the essentials of the 14 existing ones. See :ref:`Virtio on Linux <virtio>` for a general 15 overview of virtio. 21 As a bare minimum, a virtio driver needs to register in the virtio bus 27 #include <linux/virtio.h> 107 MODULE_DEVICE_TABLE(virtio, id_table); 108 MODULE_DESCRIPTION("Dummy virtio driver"); 111 The device id ``VIRTIO_ID_DUMMY`` here is a placeholder, virtio drivers 114 in the virtio spec before being added to that file. [all …]
|
/openbmc/qemu/tests/qtest/libqos/ |
H A D | virtio-rng.c | 23 #include "virtio-rng.h" 25 /* virtio-rng-device */ 29 if (!g_strcmp0(interface, "virtio-rng")) { in qvirtio_rng_get_driver() 32 if (!g_strcmp0(interface, "virtio")) { in qvirtio_rng_get_driver() 36 fprintf(stderr, "%s not present in virtio-rng-device\n", interface); in qvirtio_rng_get_driver() 61 /* virtio-rng-pci */ 96 /* virtio-rng-device */ in virtio_rng_register_nodes() 97 qos_node_create_driver("virtio-rng-device", virtio_rng_device_create); in virtio_rng_register_nodes() 98 qos_node_consumes("virtio-rng-device", "virtio-bus", NULL); in virtio_rng_register_nodes() 99 qos_node_produces("virtio-rng-device", "virtio"); in virtio_rng_register_nodes() [all …]
|
H A D | virtio-balloon.c | 23 #include "virtio-balloon.h" 25 /* virtio-balloon-device */ 29 if (!g_strcmp0(interface, "virtio-balloon")) { in qvirtio_balloon_get_driver() 32 if (!g_strcmp0(interface, "virtio")) { in qvirtio_balloon_get_driver() 36 fprintf(stderr, "%s not present in virtio-balloon-device\n", interface); in qvirtio_balloon_get_driver() 61 /* virtio-balloon-pci */ 98 /* virtio-balloon-device */ in virtio_balloon_register_nodes() 99 qos_node_create_driver("virtio-balloon-device", in virtio_balloon_register_nodes() 101 qos_node_consumes("virtio-balloon-device", "virtio-bus", NULL); in virtio_balloon_register_nodes() 102 qos_node_produces("virtio-balloon-device", "virtio"); in virtio_balloon_register_nodes() [all …]
|
H A D | virtio-serial.c | 23 #include "virtio-serial.h" 28 if (!g_strcmp0(interface, "virtio-serial")) { in qvirtio_serial_get_driver() 31 if (!g_strcmp0(interface, "virtio")) { in qvirtio_serial_get_driver() 35 fprintf(stderr, "%s not present in virtio-serial-device\n", interface); in qvirtio_serial_get_driver() 60 /* virtio-serial-pci */ 93 /* virtio-serial-device */ in virtio_serial_register_nodes() 95 qos_node_create_driver("virtio-serial-device", in virtio_serial_register_nodes() 97 qos_node_consumes("virtio-serial-device", "virtio-bus", &edge_opts); in virtio_serial_register_nodes() 98 qos_node_produces("virtio-serial-device", "virtio"); in virtio_serial_register_nodes() 99 qos_node_produces("virtio-serial-device", "virtio-serial"); in virtio_serial_register_nodes() [all …]
|
H A D | meson.build | 36 'virtio.c', 37 'virtio-balloon.c', 38 'virtio-blk.c', 40 'virtio-mmio.c', 41 'virtio-net.c', 42 'virtio-pci.c', 43 'virtio-pci-modern.c', 44 'virtio-rng.c', 45 'virtio-scsi.c', 46 'virtio-serial.c', [all …]
|
H A D | virtio-scsi.c | 24 #include "virtio-scsi.h" 26 /* virtio-scsi-device */ 30 if (!g_strcmp0(interface, "virtio-scsi")) { in qvirtio_scsi_get_driver() 33 if (!g_strcmp0(interface, "virtio")) { in qvirtio_scsi_get_driver() 37 fprintf(stderr, "%s not present in virtio-scsi-device\n", interface); in qvirtio_scsi_get_driver() 62 /* virtio-scsi-pci */ 103 /* virtio-scsi-device */ in virtio_scsi_register_nodes() 105 qos_node_create_driver("virtio-scsi-device", in virtio_scsi_register_nodes() 107 qos_node_consumes("virtio-scsi-device", "virtio-bus", &opts); in virtio_scsi_register_nodes() 108 qos_node_produces("virtio-scsi-device", "virtio-scsi"); in virtio_scsi_register_nodes() [all …]
|
H A D | virtio-blk.c | 24 #include "virtio-blk.h" 29 /* virtio-blk-device */ 33 if (!g_strcmp0(interface, "virtio-blk")) { in qvirtio_blk_get_driver() 36 if (!g_strcmp0(interface, "virtio")) { in qvirtio_blk_get_driver() 40 fprintf(stderr, "%s not present in virtio-blk-device\n", interface); in qvirtio_blk_get_driver() 65 /* virtio-blk-pci */ 96 * Therefore, we do not include "produces" edge for virtio in virtio_blk_register_nodes() 109 /* virtio-blk-device */ in virtio_blk_register_nodes() 111 qos_node_create_driver("virtio-blk-device", virtio_blk_device_create); in virtio_blk_register_nodes() 112 qos_node_consumes("virtio-blk-device", "virtio-bus", &opts); in virtio_blk_register_nodes() [all …]
|
H A D | virtio-iommu.c | 2 * libqos driver virtio-iommu-pci framework 18 #include "virtio-iommu.h" 19 #include "hw/virtio/virtio-iommu.h" 23 /* virtio-iommu-device */ 27 if (!g_strcmp0(interface, "virtio-iommu")) { in qvirtio_iommu_get_driver() 30 if (!g_strcmp0(interface, "virtio")) { in qvirtio_iommu_get_driver() 34 fprintf(stderr, "%s not present in virtio-iommu-device\n", interface); in qvirtio_iommu_get_driver() 58 /* virtio-iommu-pci */ 117 /* virtio-iommu-pci */ in virtio_iommu_register_nodes() 119 qos_node_create_driver("virtio-iommu-pci", virtio_iommu_pci_create); in virtio_iommu_register_nodes() [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | virtio-ccw-test.c | 2 * QTest testcase for VirtIO CCW 11 /* Until we have a full libqos implementation of virtio-ccw (which requires 18 #include "libqos/virtio.h" 22 global_qtest = qtest_initf("-device virtio-serial-ccw,id=vser0 " in virtconsole_nop() 29 global_qtest = qtest_initf("-device virtio-serial-ccw,id=vser0 " in virtserialport_nop() 36 global_qtest = qtest_initf("-device virtio-serial-ccw"); in virtio_serial_nop() 42 QTestState *qts = qtest_initf("-device virtio-serial-ccw"); in virtio_serial_hotplug() 52 global_qtest = qtest_initf("-device virtio-rng-ccw"); in virtio_rng_nop() 58 global_qtest = qtest_initf("-device virtio-scsi-ccw"); in virtio_scsi_nop() 68 "-device virtio-scsi-ccw " in virtio_scsi_hotplug() [all …]
|
/openbmc/qemu/docs/system/devices/ |
H A D | virtio-gpu.rst | 4 virtio-gpu 7 This document explains the setup and usage of the virtio-gpu device. 8 The virtio-gpu device paravirtualizes the GPU and display controller. 13 virtio-gpu requires a guest Linux kernel built with the 16 QEMU virtio-gpu variants 19 QEMU virtio-gpu device variants come in the following form: 21 * ``virtio-vga[-BACKEND]`` 22 * ``virtio-gpu[-BACKEND][-INTERFACE]`` 26 **Backends:** QEMU provides a 2D virtio-gpu backend, and two accelerated 31 **Interfaces:** QEMU further categorizes virtio-gpu device variants based [all …]
|
H A D | virtio-pmem.rst | 3 virtio pmem 6 This document explains the setup and usage of the virtio pmem device. 7 The virtio pmem device is a paravirtualized persistent memory device 13 Virtio pmem allows to bypass the guest page cache and directly use 17 How does virtio-pmem compare to the nvdimm emulation? 22 specification. The virtio pmem device provides guest write persistence 25 virtio pmem usage 28 A virtio pmem device backed by a memory-backend-file can be created on 32 -device virtio-pmem-pci,memdev=mem1,id=nv1 39 - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem [all …]
|
/openbmc/u-boot/cmd/ |
H A D | virtio.c | 11 #include <virtio.h> 18 /* make sure all virtio devices are enumerated */ in do_virtio() 28 virtio, 8, 1, do_virtio, 29 "virtio block devices sub-system", 30 "scan - initialize virtio bus\n" 31 "virtio info - show all available virtio block devices\n" 32 "virtio device [dev] - show or set current virtio block device\n" 33 "virtio part [dev] - print partition table of one or all virtio block devices\n" 34 "virtio read addr blk# cnt - read `cnt' blocks starting at block\n" 36 "virtio write addr blk# cnt - write `cnt' blocks starting at block\n"
|
/openbmc/linux/drivers/crypto/virtio/ |
H A D | virtio_crypto_mgr.c | 2 /* Management for virtio crypto devices (refer to adf_dev_mgr.c) 26 * @vcrypto_dev: Pointer to virtio crypto device. 28 * Function adds virtio crypto device to the global list. 29 * To be used by virtio crypto device specific drivers. 69 * @vcrypto_dev: Pointer to virtio crypto device. 71 * Function removes virtio crypto device from the acceleration framework. 72 * To be used by virtio crypto device specific drivers. 87 * Function returns the first virtio crypto device from the acceleration 90 * To be used by virtio crypto device specific drivers. 109 * @vcrypto_dev: Pointer to virtio crypto device. [all …]
|
/openbmc/qemu/tests/qtest/fuzz/ |
H A D | generic_fuzz_configs.h | 27 "-device virtio-9p,fsdev=hshare,mount_tag=hshare " in generic_fuzzer_virtio_9p_args() 34 .name = "virtio-net-pci-slirp", 36 "-device virtio-net,netdev=net0 -netdev user,id=net0", 37 .objects = "virtio*", 39 .name = "virtio-blk", 40 .args = "-machine q35 -device virtio-blk,drive=disk0 " 42 .objects = "virtio*", 44 .name = "virtio-scsi", 45 .args = "-machine q35 -device virtio-scsi,num_queues=8 " 48 .objects = "scsi* virtio*", [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/virtio/ |
H A D | virtio-device.yaml | 4 $id: http://devicetree.org/schemas/virtio/virtio-device.yaml# 7 title: Virtio device 13 These bindings are applicable to virtio devices irrespective of the bus they 16 # We need a select here so we don't match all nodes with 'virtio,mmio' 19 pattern: "^virtio,device[0-9a-f]{1,8}$" 20 description: Virtio device nodes. 21 "virtio,deviceID", where ID is the virtio device id. The textual 32 virtio@3000 { 33 compatible = "virtio,mmio"; 38 compatible = "virtio,device22";
|
/openbmc/qemu/system/ |
H A D | qdev-monitor.c | 58 /* default virtio transport per architecture */ 81 { "virtio-9p-device", "virtio-9p", QEMU_ARCH_VIRTIO_MMIO }, 82 { "virtio-9p-ccw", "virtio-9p", QEMU_ARCH_VIRTIO_CCW }, 83 { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_VIRTIO_PCI }, 84 { "virtio-balloon-device", "virtio-balloon", QEMU_ARCH_VIRTIO_MMIO }, 85 { "virtio-balloon-ccw", "virtio-balloon", QEMU_ARCH_VIRTIO_CCW }, 86 { "virtio-balloon-pci", "virtio-balloon", QEMU_ARCH_VIRTIO_PCI }, 87 { "virtio-blk-device", "virtio-blk", QEMU_ARCH_VIRTIO_MMIO }, 88 { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_VIRTIO_CCW }, 89 { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_VIRTIO_PCI }, [all …]
|