Home
last modified time | relevance | path

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

123456

/kernel/linux/linux-6.6/drivers/virtio/
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 …]
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 …]
Dvirtio_pci_modern_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 #include <linux/pci.h>
9 * vp_modern_map_capability - map a part of virtio pci capability
10 * @mdev: the modern virtio-pci device
26 struct pci_dev *dev = mdev->pci_dev; in vp_modern_map_capability()
40 if (bar >= PCI_STD_NUM_BARS || !(mdev->modern_bars & (1 << bar))) { in vp_modern_map_capability()
41 dev_err(&dev->dev, in vp_modern_map_capability()
47 dev_err(&dev->dev, in vp_modern_map_capability()
53 if (length - start < minlen) { in vp_modern_map_capability()
54 dev_err(&dev->dev, in vp_modern_map_capability()
[all …]
Dvirtio_pci_legacy.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Virtio PCI driver - legacy device support
5 * This module allows virtio devices to be used over a virtual PCI device.
20 /* virtio config->get_features() implementation */
27 return vp_legacy_get_features(&vp_dev->ldev); in vp_get_features()
30 /* virtio config->finalize_features() implementation */
39 BUG_ON((u32)vdev->features != vdev->features); in vp_finalize_features()
42 vp_legacy_set_features(&vp_dev->ldev, vdev->features); in vp_finalize_features()
47 /* virtio config->get() implementation */
52 void __iomem *ioaddr = vp_dev->ldev.ioaddr + in vp_get()
[all …]
Dvirtio_pci_common.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * Virtio PCI driver - APIs for common functionality for all device versions
7 * This module allows virtio devices to be used over a virtual PCI device.
21 #include <linux/pci.h>
24 #include <linux/virtio.h>
40 /* MSI-X vector (or none) */
61 /* array of all queues for house-keeping */
64 /* MSI-X support */
73 /* Vectors allocated, excluding per-vq vectors if any */
91 /* Constants for MSI-X */
[all …]
/kernel/linux/linux-6.6/Documentation/driver-api/virtio/
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 …]
/kernel/linux/linux-5.10/drivers/virtio/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
2 config VIRTIO config
5 This option is selected by any driver which implements the virtio
16 bool "Virtio drivers"
22 tristate "PCI driver for virtio devices"
23 depends on PCI
24 select VIRTIO
26 This driver provides support for virtio based paravirtual device
27 drivers over PCI. This requires that your VMM has appropriate PCI
28 virtio backends. Most QEMU based VMMs should support these devices
[all …]
Dvirtio_pci_legacy.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Virtio PCI driver - legacy device support
5 * This module allows virtio devices to be used over a virtual PCI device.
19 /* virtio config->get_features() implementation */
26 return ioread32(vp_dev->ioaddr + VIRTIO_PCI_HOST_FEATURES); in vp_get_features()
29 /* virtio config->finalize_features() implementation */
38 BUG_ON((u32)vdev->features != vdev->features); in vp_finalize_features()
41 iowrite32(vdev->features, vp_dev->ioaddr + VIRTIO_PCI_GUEST_FEATURES); in vp_finalize_features()
46 /* virtio config->get() implementation */
51 void __iomem *ioaddr = vp_dev->ioaddr + in vp_get()
[all …]
Dvirtio_pci_common.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * Virtio PCI driver - APIs for common functionality for all device versions
7 * This module allows virtio devices to be used over a virtual PCI device.
21 #include <linux/pci.h>
24 #include <linux/virtio.h>
38 /* MSI-X vector (or none) */
47 /* In legacy mode, these two point to within ->legacy. */
52 /* The IO mapping for the PCI config space (non-legacy mode) */
54 /* Device-specific data (non-legacy mode) */
56 /* Base of vq notifications (non-legacy mode). */
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/virtio/
Diommu.txt1 * virtio IOMMU PCI device
3 When virtio-iommu uses the PCI transport, its programming interface is
4 discovered dynamically by the PCI probing infrastructure. However the
6 masters. Therefore, the PCI root complex that hosts the virtio-iommu
11 - compatible: Should be "virtio,pci-iommu"
12 - reg: PCI address of the IOMMU. As defined in the PCI Bus
13 Binding reference [1], the reg property is a five-cell
18 - #iommu-cells: Each platform DMA master managed by the IOMMU is assigned
20 For virtio-iommu, #iommu-cells must be 1.
24 - DMA from the IOMMU device isn't managed by another IOMMU. Therefore the
[all …]
Dmmio.txt1 * virtio memory mapped device
3 See https://ozlabs.org/~rusty/virtio-spec/ for more details.
7 - compatible: "virtio,mmio" compatibility string
8 - reg: control registers base address and size including configuration space
9 - interrupts: interrupt generated by the device
11 Required properties for virtio-iommu:
13 - #iommu-cells: When the node corresponds to a virtio-iommu device, it is
14 linked to DMA masters using the "iommus" or "iommu-map"
15 properties [1][2]. #iommu-cells specifies the size of the
16 "iommus" property. For virtio-iommu #iommu-cells must be
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/virtio/
Dpci-iommu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/pci-iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: virtio-iommu device using the virtio-pci transport
10 - Jean-Philippe Brucker <jean-philippe@linaro.org>
13 When virtio-iommu uses the PCI transport, its programming interface is
14 discovered dynamically by the PCI probing infrastructure. However the
16 masters. Therefore, the PCI root complex that hosts the virtio-iommu
20 virtio-iommu node doesn't have an "iommus" property, and is omitted from
[all …]
Dvirtio-device.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/virtio-device.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Virtio device
10 - Viresh Kumar <viresh.kumar@linaro.org>
13 These bindings are applicable to virtio devices irrespective of the bus they
14 are bound to, like mmio or pci.
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}$"
[all …]
/kernel/linux/linux-6.6/drivers/xen/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
32 2) control domain: xl mem-max <target-domain> <maxmem>
35 3) control domain: xl mem-set <target-domain> <memory>
51 …SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /…
145 bool "Add support for dma-buf grant access device driver extension"
150 dma-buf implementation. With this extension grant references to
151 the pages of an imported dma-buf can be exported for other domain
153 converted into a local dma-buf for local export.
156 tristate "User-space grant reference allocator driver"
162 or as part of an inter-domain shared memory channel.
[all …]
/kernel/linux/linux-5.10/Documentation/networking/
Dnet_failover.rst1 .. SPDX-License-Identifier: GPL-2.0
19 'pci' device. The user accesses the network interface via 'failover' netdev.
28 virtio-net accelerated datapath: STANDBY mode
31 net_failover enables hypervisor controlled accelerated datapath to virtio-net
35 feature on the virtio-net interface and assign the same MAC address to both
36 virtio-net and VF interfaces.
45 <model type='virtio'/>
48 <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
53 <address type='pci' domain='0x0000' bus='0x42' slot='0x02' function='0x5'/>
55 <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/virtio/
Dvirtgpu_drv.c31 #include <linux/pci.h>
42 static int virtio_gpu_modeset = -1;
49 struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); in virtio_gpu_pci_quirk()
50 const char *pname = dev_name(&pdev->dev); in virtio_gpu_pci_quirk()
51 bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; in virtio_gpu_pci_quirk()
54 DRM_INFO("pci: %s detected at %s\n", in virtio_gpu_pci_quirk()
55 vga ? "virtio-vga" : "virtio-gpu-pci", in virtio_gpu_pci_quirk()
57 dev->pdev = pdev; in virtio_gpu_pci_quirk()
64 * The following comment covers, why virtio cannot rely on it. in virtio_gpu_pci_quirk()
66 * Unlike the other virtual GPU drivers, virtio abstracts the in virtio_gpu_pci_quirk()
[all …]
/kernel/linux/linux-6.6/drivers/vdpa/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 datapath which complies with virtio specifications with
51 virtio dataplane traffic to hardware.
70 of virtio net datapath such that descriptors put on the ring will
83 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
84 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
87 tristate "Virtio PCI bridge vDPA driver"
91 This kernel module bridges virtio PCI device to vDPA bus.
99 virtio 0.9.5 specification.
107 # If HWMON=n the driver can be compiled either as a module or built-in.
[all …]
/kernel/linux/linux-6.6/Documentation/virt/
Dne_overview.rst1 .. SPDX-License-Identifier: GPL-2.0
29 1. An enclave abstraction process - a user space process running in the primary
33 There is a NE emulated PCI device exposed to the primary VM. The driver for this
34 new PCI device is included in the NE driver.
36 The ioctl logic is mapped to PCI device commands e.g. the NE_START_ENCLAVE ioctl
37 maps to an enclave start PCI command. The PCI device commands are then
42 2. The enclave itself - a VM running on the same host as the primary VM that
58 using virtio-vsock [5]. The primary VM has virtio-pci vsock emulated device,
59 while the enclave VM has a virtio-mmio vsock emulated device. The vsock device
60 uses eventfd for signaling. The enclave VM sees the usual interfaces - local
[all …]
/kernel/linux/linux-5.10/Documentation/virt/
Dne_overview.rst1 .. SPDX-License-Identifier: GPL-2.0
26 1. An enclave abstraction process - a user space process running in the primary
30 There is a NE emulated PCI device exposed to the primary VM. The driver for this
31 new PCI device is included in the NE driver.
33 The ioctl logic is mapped to PCI device commands e.g. the NE_START_ENCLAVE ioctl
34 maps to an enclave start PCI command. The PCI device commands are then
39 2. The enclave itself - a VM running on the same host as the primary VM that
55 using virtio-vsock [5]. The primary VM has virtio-pci vsock emulated device,
56 while the enclave VM has a virtio-mmio vsock emulated device. The vsock device
57 uses eventfd for signaling. The enclave VM sees the usual interfaces - local
[all …]
/kernel/linux/linux-6.6/Documentation/networking/
Dnet_failover.rst1 .. SPDX-License-Identifier: GPL-2.0
19 'pci' device. The user accesses the network interface via 'failover' netdev.
28 virtio-net accelerated datapath: STANDBY mode
31 net_failover enables hypervisor controlled accelerated datapath to virtio-net
35 feature on the virtio-net interface and assign the same MAC address to both
36 virtio-net and VF interfaces.
45 <model type='virtio'/>
49 <alias name='ua-backup0'/>
54 <address type='pci' domain='0x0000' bus='0x42' slot='0x02' function='0x5'/>
56 <teaming type='transient' persistent='ua-backup0'/>
[all …]
/kernel/linux/linux-6.6/drivers/vdpa/solidrun/
Dsnet_vdpa.h1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2022-2023 SolidRun
7 * Author: Alvaro Karsz <alvaro.karsz@solid-run.com>
14 #include <linux/pci.h>
18 #define SNET_ERR(pdev, fmt, ...) dev_err(&(pdev)->dev, "%s"fmt, "snet_vdpa: ", ##__VA_ARGS__)
19 #define SNET_WARN(pdev, fmt, ...) dev_warn(&(pdev)->dev, "%s"fmt, "snet_vdpa: ", ##__VA_ARGS__)
20 #define SNET_INFO(pdev, fmt, ...) dev_info(&(pdev)->dev, "%s"fmt, "snet_vdpa: ", ##__VA_ARGS__)
21 #define SNET_DBG(pdev, fmt, ...) dev_dbg(&(pdev)->dev, "%s"fmt, "snet_vdpa: ", ##__VA_ARGS__)
22 #define SNET_HAS_FEATURE(s, f) ((s)->negotiated_features & BIT_ULL(f))
24 #define SNET_CFG_VER(snet, ver) ((snet)->psnet->negotiated_cfg_ver >= (ver))
[all …]
/kernel/linux/linux-6.6/Documentation/networking/device_drivers/ethernet/amd/
Dpds_vdpa.rst1 .. SPDX-License-Identifier: GPL-2.0+
2 .. note: can be edited and viewed with /usr/bin/formiko-vim
5 PCI vDPA driver for the AMD/Pensando(R) DSC adapter family
16 a vDPA device for use by the virtio network stack. It is used with
17 the Pensando Virtual Function devices that offer vDPA and virtio queue
19 and VF PCI handling as well as for device configuration services.
25 depends on the ``pds_core`` driver to create and enable SR-IOV Virtual
31 .. code-block:: bash
39 PF_BDF=`ls /sys/module/pds_core/drivers/pci\:pds_core/*/sriov_numvfs | awk -F / '{print $7}'`
42 devlink dev param set pci/$PF_BDF name enable_vnet cmode runtime value true
[all …]
/kernel/linux/linux-6.6/tools/virtio/virtio-trace/
DREADME1 Trace Agent for virtio-trace
6 - splice a page of ring-buffer to read_pipe without memory copying
7 - splice the page from write_pipe to virtio-console without memory copying
8 - write trace data to stdout by using -o option
9 - controlled by start/stop orders from a Host
18 5) The read/write threads start to read trace data from ring-buffers and
19 write the data to virtio-serial.
28 Makefile: Makefile of trace agent for virtio-trace
29 trace-agent.c: includes main function, sets up for operating trace agent
30 trace-agent.h: includes all structures and some macros
[all …]
/kernel/linux/linux-5.10/tools/virtio/virtio-trace/
DREADME1 Trace Agent for virtio-trace
6 - splice a page of ring-buffer to read_pipe without memory copying
7 - splice the page from write_pipe to virtio-console without memory copying
8 - write trace data to stdout by using -o option
9 - controlled by start/stop orders from a Host
18 5) The read/write threads start to read trace data from ring-buffers and
19 write the data to virtio-serial.
28 Makefile: Makefile of trace agent for virtio-trace
29 trace-agent.c: includes main function, sets up for operating trace agent
30 trace-agent.h: includes all structures and some macros
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/virtio/
Dvirtgpu_drv.c30 #include <linux/pci.h>
45 static int virtio_gpu_modeset = -1;
52 struct pci_dev *pdev = to_pci_dev(dev->dev); in virtio_gpu_pci_quirk()
53 const char *pname = dev_name(&pdev->dev); in virtio_gpu_pci_quirk()
54 bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; in virtio_gpu_pci_quirk()
57 DRM_INFO("pci: %s detected at %s\n", in virtio_gpu_pci_quirk()
58 vga ? "virtio-vga" : "virtio-gpu-pci", in virtio_gpu_pci_quirk()
74 if (drm_firmware_drivers_only() && virtio_gpu_modeset == -1) in virtio_gpu_probe()
75 return -EINVAL; in virtio_gpu_probe()
78 return -EINVAL; in virtio_gpu_probe()
[all …]

123456