Home
last modified time | relevance | path

Searched +full:virtio +full:- +full:device (Results 1 – 25 of 708) sorted by relevance

12345678910>>...29

/openbmc/u-boot/doc/
H A DREADME.virtio1 # SPDX-License-Identifier: GPL-2.0+
5 VirtIO Support
8 This document describes the information about U-Boot support for VirtIO [1]
11 What's VirtIO?
12 --------------
13 VirtIO is a virtualization standard for network and disk device drivers where
14 just the guest's device driver "knows" it is running in a virtual environment,
17 paravirtualization. In the U-Boot case, the guest is U-Boot itself, while the
18 virtual environment are normally QEMU [2] targets like ARM, RISC-V and x86.
21 ------
[all …]
/openbmc/linux/drivers/virtio/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
5 config VIRTIO config
9 This option is selected by any driver which implements the virtio
16 Modern PCI device implementation. This module implements the
18 PCI device with possible vendor specific extensions. Any
24 Legacy PCI device (Virtio PCI Card 0.9.x Draft and older device)
27 which are based on legacy PCI device. Any module that selects this
31 bool "Virtio drivers"
37 bool "Harden virtio notification"
40 Enable this to harden the device notifications and suppress
[all …]
H A Dvirtio_pci_legacy_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
10 * vp_legacy_probe: probe the legacy virtio pci device, note that the
11 * caller is required to enable PCI device before calling this function.
12 * @ldev: the legacy virtio-pci device
18 struct pci_dev *pci_dev = ldev->pci_dev; in vp_legacy_probe()
22 if (pci_dev->device < 0x1000 || pci_dev->device > 0x103f) in vp_legacy_probe()
23 return -ENODEV; in vp_legacy_probe()
25 if (pci_dev->revision != VIRTIO_PCI_ABI_VERSION) in vp_legacy_probe()
26 return -ENODEV; in vp_legacy_probe()
28 rc = dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(64)); in vp_legacy_probe()
[all …]
/openbmc/linux/Documentation/driver-api/virtio/
H A Dvirtio.rst1 .. SPDX-License-Identifier: GPL-2.0
6 Virtio on Linux
12 Virtio is an open standard that defines a protocol for communication
13 between drivers and devices of different types, see Chapter 5 ("Device
14 Types") of the virtio spec (`[1]`_). Originally developed as a standard
16 to interface any compliant device (real or emulated) with a driver.
20 devices provided by the hypervisor, which exposes them as virtio devices
24 Device - Driver communication: virtqueues
27 Although the virtio devices are really an abstraction layer in the
29 using a specific transport method -- PCI, MMIO or CCW -- that is
[all …]
H A Dwriting_virtio_drivers.rst1 .. SPDX-License-Identifier: GPL-2.0
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
22 and configure the virtqueues for the device according to its spec, the
24 virtqueue definitions in the device. A basic driver skeleton could look
27 #include <linux/virtio.h>
32 /* device private data (one per device) */
[all …]
/openbmc/qemu/tests/qtest/fuzz/
H A Dgeneric_fuzz_configs.h2 * Generic Virtual-Device Fuzzing Target Configs
10 * See the COPYING file in the top-level directory.
23 g_autofree char *tmpdir = g_dir_make_tmp("qemu-fuzz.XXXXXX", NULL); in generic_fuzzer_virtio_9p_args()
26 return g_strdup_printf("-machine q35 -nodefaults " in generic_fuzzer_virtio_9p_args()
27 "-device virtio-9p,fsdev=hshare,mount_tag=hshare " in generic_fuzzer_virtio_9p_args()
28 "-fsdev local,id=hshare,path=%s,security_model=mapped-xattr," in generic_fuzzer_virtio_9p_args()
34 .name = "virtio-net-pci-slirp",
35 .args = "-M q35 -nodefaults "
36 "-device virtio-net,netdev=net0 -netdev user,id=net0",
37 .objects = "virtio*",
[all …]
/openbmc/qemu/docs/system/devices/
H A Dvirtio-pmem.rst3 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
8 on regular (i.e non-NVDIMM) storage.
11 -------
13 Virtio pmem allows to bypass the guest page cache and directly use
17 How does virtio-pmem compare to the nvdimm emulation?
18 -----------------------------------------------------
20 NVDIMM emulation on regular (i.e. non-NVDIMM) host storage does not
21 persist the guest writes as there are no defined semantics in the device
[all …]
H A Dvirtio-gpu.rst2 SPDX-License-Identifier: GPL-2.0-or-later
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.
11 --------------------
13 virtio-gpu requires a guest Linux kernel built with the
16 QEMU virtio-gpu variants
17 ------------------------
19 QEMU virtio-gpu device variants come in the following form:
21 * ``virtio-vga[-BACKEND]``
[all …]
H A Dvirtio-snd.rst1 virtio sound
4 This document explains the setup and usage of the Virtio sound device.
5 The Virtio sound device is a paravirtualized sound card device.
8 --------------------
10 Virtio sound requires a guest Linux kernel built with the
14 -----------
16 Virtio sound implements capture and playback from inside a guest using the
19 Device properties
20 -----------------
22 The Virtio sound device can be configured with the following properties:
[all …]
/openbmc/linux/drivers/crypto/virtio/
H A Dvirtio_crypto_mgr.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* Management for virtio crypto devices (refer to adf_dev_mgr.c)
24 * virtcrypto_devmgr_add_dev() - Add vcrypto_dev to the acceleration
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.
42 return -EFAULT; in virtcrypto_devmgr_add_dev()
51 return -EEXIST; in virtcrypto_devmgr_add_dev()
54 atomic_set(&vcrypto_dev->ref_count, 0); in virtcrypto_devmgr_add_dev()
55 list_add_tail(&vcrypto_dev->list, &virtio_crypto_table); in virtcrypto_devmgr_add_dev()
[all …]
/openbmc/qemu/tests/qtest/
H A Dvirtio-ccw-test.c2 * QTest testcase for VirtIO CCW
8 * See the COPYING file in the top-level directory.
11 /* Until we have a full libqos implementation of virtio-ccw (which requires
17 #include "libqtest-single.h"
18 #include "libqos/virtio.h"
22 global_qtest = qtest_initf("-device virtio-serial-ccw,id=vser0 " in virtconsole_nop()
23 "-device virtconsole,bus=vser0.0"); in virtconsole_nop()
29 global_qtest = qtest_initf("-device virtio-serial-ccw,id=vser0 " in virtserialport_nop()
30 "-device virtserialport,bus=vser0.0"); in virtserialport_nop()
36 global_qtest = qtest_initf("-device virtio-serial-ccw"); in virtio_serial_nop()
[all …]
H A Ddrive_del-test.c4 * Copyright (C) 2013-2014 Red Hat Inc.
10 * See the COPYING.LIB file in the top-level directory.
15 #include "libqos/virtio.h"
34 QDict *entry_dict = qobject_to(QDict, entry->value); in look_for_drive0()
46 * This covers the possible absence of a device due to QEMU build
51 gchar *device = g_strdup_printf("%s-%s", dev, qvirtio_get_dev_type()); in has_device_builtin() local
52 bool rc = qtest_has_device(device); in has_device_builtin()
54 g_free(device); in has_device_builtin()
60 return look_for_drive0(qts, "query-block", "device"); in has_drive()
65 return look_for_drive0(qts, "query-named-block-nodes", "node-name"); in has_blockdev()
[all …]
H A Dcdrom-test.c2 * Various tests for emulated CD-ROM drives.
10 * or later. See the COPYING file in the top-level directory.
15 #include "boot-sector.h"
18 static char isoimage[] = "cdrom-boot-iso-XXXXXX";
23 gint exit_status = -1; in exec_xorrisofs()
30 return -ENOENT; in exec_xorrisofs()
42 char srcdir[] = "cdrom-test-dir-XXXXXX"; in prepare_image()
44 int ifh, ret = -1; in prepare_image()
46 "xorrisofs", "-quiet", "-l", "-no-emul-boot", in prepare_image()
47 "-b", NULL, "-o", isoimagepath, srcdir, NULL in prepare_image()
[all …]
/openbmc/qemu/tests/qtest/libqos/
H A Dvirtio-rng.c23 #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()
33 return v_rng->vdev; in qvirtio_rng_get_driver()
36 fprintf(stderr, "%s not present in virtio-rng-device\n", interface); in qvirtio_rng_get_driver()
44 return qvirtio_rng_get_driver(&v_rng->rng, interface); in qvirtio_rng_device_get_driver()
52 QVirtioRng *interface = &virtio_rdevice->rng; in virtio_rng_device_create()
54 interface->vdev = virtio_dev; in virtio_rng_device_create()
56 virtio_rdevice->obj.get_driver = qvirtio_rng_device_get_driver; in virtio_rng_device_create()
[all …]
H A Dvirtio-balloon.c23 #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()
33 return v_balloon->vdev; in qvirtio_balloon_get_driver()
36 fprintf(stderr, "%s not present in virtio-balloon-device\n", interface); in qvirtio_balloon_get_driver()
44 return qvirtio_balloon_get_driver(&v_balloon->balloon, interface); in qvirtio_balloon_device_get_driver()
52 QVirtioBalloon *interface = &virtio_bdevice->balloon; in virtio_balloon_device_create()
54 interface->vdev = virtio_dev; in virtio_balloon_device_create()
56 virtio_bdevice->obj.get_driver = qvirtio_balloon_device_get_driver; in virtio_balloon_device_create()
[all …]
H A Dvirtio-serial.c23 #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()
32 return v_serial->vdev; in qvirtio_serial_get_driver()
35 fprintf(stderr, "%s not present in virtio-serial-device\n", interface); in qvirtio_serial_get_driver()
43 return qvirtio_serial_get_driver(&v_serial->serial, interface); in qvirtio_serial_device_get_driver()
51 QVirtioSerial *interface = &virtio_device->serial; in virtio_serial_device_create()
53 interface->vdev = virtio_dev; in virtio_serial_device_create()
55 virtio_device->obj.get_driver = qvirtio_serial_device_get_driver; in virtio_serial_device_create()
57 return &virtio_device->obj; in virtio_serial_device_create()
[all …]
H A Dvirtio-scsi.c22 #include "standard-headers/linux/virtio_ids.h"
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()
34 return v_scsi->vdev; in qvirtio_scsi_get_driver()
37 fprintf(stderr, "%s not present in virtio-scsi-device\n", interface); in qvirtio_scsi_get_driver()
45 return qvirtio_scsi_get_driver(&v_scsi->scsi, interface); in qvirtio_scsi_device_get_driver()
53 QVirtioSCSI *interface = &virtio_bdevice->scsi; in virtio_scsi_device_create()
55 interface->vdev = virtio_dev; in virtio_scsi_device_create()
[all …]
/openbmc/qemu/qapi/
H A Dvirtio.json1 # -*- Mode: Python -*-
6 # = Virtio devices
25 # @x-query-virtio:
37 # .. qmp-example::
39 # -> { "execute": "x-query-virtio" }
40 # <- { "return": [
42 # "name": "virtio-input",
43 # "path": "/machine/peripheral-anon/device[4]/virtio-backend"
46 # "name": "virtio-crypto",
47 # "path": "/machine/peripheral/crypto0/virtio-backend"
[all …]
/openbmc/u-boot/include/
H A Dvirtio.h1 /* SPDX-License-Identifier: GPL-2.0+ */
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
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.
14 * See http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf for
15 * the VirtIO specification v1.0.
23 #define VIRTIO_ID_NET 1 /* virtio net */
24 #define VIRTIO_ID_BLOCK 2 /* virtio block */
[all …]
/openbmc/qemu/tests/functional/
H A Dtest_virtio_version.py3 Check compatibility of virtio device types
11 # later. See the COPYING file in the top-level directory.
18 # Virtio Device IDs:
36 # Device IDs for legacy/transitional devices:
53 vm.cmd('qom-list-types', implements=implements)]
56 interfaces = ('pci-express-device', 'conventional-pci-device')
61 Check if virtio-version-specific device types result in the
62 same device tree created by `disable-modern` and
63 `disable-legacy`.
71 Run QEMU with `-device DEVTYPE`, return device info from `query-pci`
[all …]
/openbmc/u-boot/drivers/virtio/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0+
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
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.
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
[all …]
/openbmc/qemu/system/
H A Dqdev-monitor.c2 * Dynamic device configuration and creation.
28 #include "qapi/qapi-commands-qdev.h"
33 #include "qapi/qobject-input-visitor.h"
34 #include "qemu/config-file.h"
35 #include "qemu/error-report.h"
38 #include "qemu/qemu-print.h"
40 #include "sysemu/block-backend.h"
43 #include "hw/qdev-properties.h"
58 /* default virtio transport per architecture */
76 { "AC97", "ac97" }, /* -soundhw name */
[all …]
/openbmc/qemu/docs/system/
H A Dvirtio-net-failover.rst2 QEMU virtio-net standby (net_failover)
5 This document explains the setup and usage of virtio-net standby feature which
8 The general idea is that we have a pair of devices, a (vfio-)pci and a
9 virtio-net device. Before migration the vfio device is unplugged and data flows
10 through the virtio-net device, on the target side another vfio-pci device is
11 plugged in to take over the data-path. In the guest the net_failover kernel
14 The two devices are called primary and standby device. The fast hardware based
15 networking device is called the primary device and the virtio-net device is the
16 standby device.
19 ------------
[all …]
/openbmc/qemu/docs/devel/migration/
H A Dvirtio.rst2 Virtio device migration
8 the COPYING file in the top-level directory.
10 Saving and restoring the state of virtio devices is a bit of a twisty maze,
13 - state is distributed between several parts:
15 - virtio core, for common fields like features, number of queues, ...
17 - virtio transport (pci, ccw, ...), for the different proxy devices and
20 - virtio device (net, blk, ...), for the different device types and their
23 - most fields are saved via the stream interface; subsequently, subsections
24 have been added to make cross-version migration possible
34 virtio core virtio transport virtio device
[all …]
/openbmc/qemu/docs/system/s390x/
H A Dcss.rst5 functionless) channel paths, and channel devices (virtio-ccw, 3270, and
6 devices passed via vfio-ccw). It supports multiple subchannel sets (MSS) and
7 multiple channel subsystems extended (MCSS-E).
10 in the form ``<cssid>.<ssid>.<device number>``.
14 enable MCSS-E. Note that devices with a different cssid will not be visible
15 if the guest OS does not enable MCSS-E (which is true for all supported guest
18 Supported values for the subchannel set id (``<ssid>``) range from ``0-3``.
20 does not enable MSS (any Linux version that supports virtio also enables MSS).
21 Any device may be put into any subchannel set, there is no restriction by
22 device type.
[all …]

12345678910>>...29