Home
last modified time | relevance | path

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

12345678910>>...16

/openbmc/qemu/hw/virtio/
H A Dmeson.build2 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'))
6 system_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_true: files('vhost-vsock-common.c'))
7 system_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'))
8 system_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev.c'))
11 specific_virtio_ss.add(files('virtio.c'))
12 specific_virtio_ss.add(files('virtio-config-io.c', 'virtio-qmp.c'))
16 specific_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c'))
[all …]
H A Dvirtio-balloon-pci.c2 * Virtio balloon PCI Bindings
11 * Contributions after 2012-01-13 are licensed under the terms of the
17 #include "hw/virtio/virtio-pci.h"
18 #include "hw/qdev-properties.h"
19 #include "hw/virtio/virtio-balloon.h"
27 * virtio-balloon-pci: This extends VirtioPCIProxy.
29 #define TYPE_VIRTIO_BALLOON_PCI "virtio-balloon-pci-base"
41 DeviceState *vdev = DEVICE(&dev->vdev); in virtio_balloon_pci_realize()
43 vpci_dev->class_code = PCI_CLASS_OTHERS; in virtio_balloon_pci_realize()
44 qdev_realize(vdev, BUS(&vpci_dev->bus), errp); in virtio_balloon_pci_realize()
[all …]
H A Dvirtio-rng-pci.c2 * Virtio rng PCI Bindings
9 * top-level directory.
14 #include "hw/virtio/virtio-pci.h"
15 #include "hw/virtio/virtio-rng.h"
16 #include "hw/qdev-properties.h"
24 * virtio-rng-pci: This extends VirtioPCIProxy.
26 #define TYPE_VIRTIO_RNG_PCI "virtio-rng-pci-base"
46 DeviceState *vdev = DEVICE(&vrng->vdev); in virtio_rng_pci_realize()
48 if (vpci_dev->nvectors == DEV_NVECTORS_UNSPECIFIED) { in virtio_rng_pci_realize()
49 vpci_dev->nvectors = 2; in virtio_rng_pci_realize()
[all …]
H A Dvirtio-scsi-pci.c2 * Virtio scsi PCI Bindings
13 * top-level directory.
18 #include "hw/qdev-properties.h"
19 #include "hw/virtio/virtio-scsi.h"
21 #include "hw/virtio/virtio-pci.h"
27 * virtio-scsi-pci: This extends VirtioPCIProxy.
29 #define TYPE_VIRTIO_SCSI_PCI "virtio-scsi-pci-base"
49 DeviceState *vdev = DEVICE(&dev->vdev); in virtio_scsi_pci_realize()
51 VirtIOSCSIConf *conf = &dev->vdev.parent_obj.conf; in virtio_scsi_pci_realize()
54 if (conf->num_queues == VIRTIO_SCSI_AUTO_NUM_QUEUES) { in virtio_scsi_pci_realize()
[all …]
H A Dvirtio-net-pci.c2 * Virtio net PCI Bindings
12 * the COPYING file in the top-level directory.
14 * Contributions after 2012-01-13 are licensed under the terms of the
20 #include "hw/qdev-properties.h"
21 #include "hw/virtio/virtio-net.h"
22 #include "hw/virtio/virtio-pci.h"
30 * virtio-net-pci: This extends VirtioPCIProxy.
32 #define TYPE_VIRTIO_NET_PCI "virtio-net-pci-base"
53 DeviceState *vdev = DEVICE(&dev->vdev); in virtio_net_pci_realize()
56 if (vpci_dev->nvectors == DEV_NVECTORS_UNSPECIFIED) { in virtio_net_pci_realize()
[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
19 module that selects this module must depend on PCI.
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
28 module must depend on PCI.
31 bool "Virtio drivers"
[all …]
H A Dvirtio_pci_legacy_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
6 #include <linux/pci.h>
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()
[all …]
/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
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 ------
22 VirtIO can use various different buses, aka transports as described in the
[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:
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`
77 vm.add_args('-device', '%s,id=devfortest' % (devtype))
[all …]
H A Dtest_ppc64_tuxrun.py12 # SPDX-License-Identifier: GPL-2.0-or-later
26 self.extradev='spapr-vscsi'
29 self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22',
30 '-device', 'virtio-net,netdev=vnet')
31 self.vm.add_args('-netdev', '{"type":"user","id":"hostnet0"}',
32 '-device', '{"driver":"virtio-net-pci","netdev":'
34 '"bus":"pci.0","addr":"0x9"}')
35 self.vm.add_args('-device', '{"driver":"qemu-xhci","p2":15,"p3":15,'
36 '"id":"usb","bus":"pci.0","addr":"0x2"}')
37 self.vm.add_args('-device', '{"driver":"virtio-scsi-pci","id":"scsi0"'
[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-iommu.c2 * libqos driver virtio-iommu-pci framework
10 * option) any later version. See the COPYING file in the top-level directory.
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()
31 return v_iommu->vdev; in qvirtio_iommu_get_driver()
34 fprintf(stderr, "%s not present in virtio-iommu-device\n", interface); in qvirtio_iommu_get_driver()
40 qvirtqueue_cleanup(interface->vdev->bus, interface->vq, alloc); in virtio_iommu_cleanup()
[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 …]
H A Dvirtio-blk.c22 #include "standard-headers/linux/virtio_blk.h"
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()
37 return v_blk->vdev; in qvirtio_blk_get_driver()
40 fprintf(stderr, "%s not present in virtio-blk-device\n", interface); in qvirtio_blk_get_driver()
48 return qvirtio_blk_get_driver(&v_blk->blk, interface); in qvirtio_blk_device_get_driver()
56 QVirtioBlk *interface = &virtio_blk->blk; in virtio_blk_device_create()
58 interface->vdev = virtio_dev; in virtio_blk_device_create()
[all …]
H A Dmeson.build7 'pci.c',
9 'libqos-malloc.c',
11 'sdhci-cmd.c',
14 'malloc-spapr.c',
15 'libqos-spapr.c',
17 'pci-spapr.c',
20 'pci-pc.c',
21 'malloc-pc.c',
22 'libqos-pc.c',
31 'i2c-imx.c',
[all …]
H A Dvirtio-net.c23 #include "virtio-net.h"
24 #include "hw/virtio/virtio-net.h"
33 for (i = 0; i < interface->n_queues; i++) { in virtio_net_cleanup()
34 qvirtqueue_cleanup(interface->vdev->bus, interface->queues[i], alloc); in virtio_net_cleanup()
36 g_free(interface->queues); in virtio_net_cleanup()
41 QVirtioDevice *vdev = interface->vdev; in virtio_net_setup()
52 interface->n_queues = qvirtio_config_readw(vdev, 8) * 2; in virtio_net_setup()
54 interface->n_queues = 2; in virtio_net_setup()
56 interface->n_queues++; /* Account for the ctrl queue */ in virtio_net_setup()
58 interface->queues = g_new(QVirtQueue *, interface->n_queues); in virtio_net_setup()
[all …]
H A Dvirtio-9p.c27 #include "standard-headers/linux/virtio_ids.h"
28 #include "virtio-9p.h"
49 char *template = concat_path(pwd, "qtest-9p-local-XXXXXX"); in virtio_9p_create_local_test_dir()
67 g_autofree char *cmd = g_strdup_printf("rm -fr '%s'\n", local_test_path); in virtio_9p_remove_local_test_dir()
84 qvirtqueue_cleanup(interface->vdev->bus, interface->vq, alloc); in virtio_9p_cleanup()
91 features = qvirtio_get_features(interface->vdev); in virtio_9p_setup()
93 qvirtio_set_features(interface->vdev, features); in virtio_9p_setup()
95 interface->vq = qvirtqueue_setup(interface->vdev, alloc, 0); in virtio_9p_setup()
96 qvirtio_set_driver_ok(interface->vdev); in virtio_9p_setup()
99 /* virtio-9p-device */
[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
14 Types") of the virtio spec (`[1]`_). Originally developed as a standard
20 devices provided by the hypervisor, which exposes them as virtio devices
21 via standard mechanisms such as PCI.
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
30 orthogonal to the device itself. The virtio spec defines these transport
[all …]
/openbmc/qemu/tests/qtest/
H A Ddevice-plug-test.c10 * See the COPYING file in the top-level directory.
71 if (!qtest_has_device("virtio-mouse-pci")) { in test_pci_unplug_request()
72 g_test_skip("Device virtio-mouse-pci not available"); in test_pci_unplug_request()
77 machine_addition = "-machine pc"; in test_pci_unplug_request()
80 qtest = qtest_initf("%s -device virtio-mouse-pci,id=dev0", in test_pci_unplug_request()
92 if (!qtest_has_device("virtio-mouse-pci")) { in test_q35_pci_unplug_request()
93 g_test_skip("Device virtio-mouse-pci not available"); in test_q35_pci_unplug_request()
97 qtest = qtest_initf("-machine q35 " in test_q35_pci_unplug_request()
98 "-device pcie-root-port,id=p1 " in test_q35_pci_unplug_request()
99 "-device pcie-pci-bridge,bus=p1,id=b1 " in test_q35_pci_unplug_request()
[all …]
/openbmc/qemu/docs/specs/
H A Dpci-ids.rst2 PCI IDs for QEMU
12 --------------
14 The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
15 Note that this allocation is separate from the virtio device IDs, which are
16 maintained as part of the virtio specification.
36 ID range for modern virtio devices. The PCI device
37 ID is calculated from the virtio device ID by adding the
38 0x1040 offset. The virtio IDs are defined in the virtio
40 defines for all virtio IDs (``linux/virtio_ids.h``); QEMU has a
41 copy in ``include/standard-headers/``.
[all …]
/openbmc/qemu/docs/devel/
H A Dvirtio-backends.rst5 Writing VirtIO backends for QEMU
10 implementing VirtIO devices. For VirtIO the frontend is the driver
12 do to handle the emulation of the VirtIO device. This can be done
15 (vhost-user).
17 VirtIO Transports
18 -----------------
20 VirtIO supports a number of different transports. While the details of
23 transport they use. For example -device virtio-foo represents the foo
24 device using mmio and -device virtio-foo-pci is the same class of
25 device using the PCI transport.
[all …]
/openbmc/qemu/hw/display/
H A Dvirtio-gpu-pci-gl.c2 * Virtio video device
10 * See the COPYING file in the top-level directory.
17 #include "hw/pci/pci.h"
18 #include "hw/qdev-properties.h"
19 #include "hw/virtio/virtio.h"
20 #include "hw/virtio/virtio-bus.h"
21 #include "hw/virtio/virtio-gpu-pci.h"
24 #define TYPE_VIRTIO_GPU_GL_PCI "virtio-gpu-gl-pci"
38 virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), in virtio_gpu_gl_initfn()
40 VIRTIO_GPU_PCI_BASE(obj)->vgpu = VIRTIO_GPU_BASE(&dev->vdev); in virtio_gpu_gl_initfn()
[all …]
H A Dmeson.build3 system_ss.add(when: 'CONFIG_DDC', if_true: files('i2c-ddc.c'))
4 system_ss.add(when: 'CONFIG_EDID', if_true: files('edid-generate.c', 'edid-region.c'))
6 system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb.c'), if_false: files('ramfb-stubs.c'…
7 system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb-standalone.c'))
19 system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
20 system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
21 system_ss.add(when: 'CONFIG_VGA_MMIO', if_true: files('vga-mmio.c'))
23 system_ss.add(when: 'CONFIG_BOCHS_DISPLAY', if_true: files('bochs-display.c'))
33 system_ss.add(when: 'CONFIG_NEXTCUBE', if_true: files('next-fb.c'))
36 system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-dmabuf.c'))
[all …]

12345678910>>...16