/linux/Documentation/driver-api/virtio/ |
H A D | virtio.rst | 1 .. 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 …]
|
/linux/drivers/virtio/ |
H A D | virtio_pci_legacy_dev.c | 1 // 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 …]
|
H A D | virtio_pci_modern_dev.c | 1 // 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 …]
|
H A D | virtio_pci_legacy.c | 1 // 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 …]
|
H A D | virtio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 #include <linux/virtio.h> 11 /* Unique numbering for virtio devices. */ 18 return sysfs_emit(buf, "0x%04x\n", dev->id.device); in device_show() 26 return sysfs_emit(buf, "0x%04x\n", dev->id.vendor); in vendor_show() 34 return sysfs_emit(buf, "0x%08x\n", dev->config->get_status(dev)); in status_show() 42 return sysfs_emit(buf, "virtio:d%08Xv%08X\n", in modalias_show() 43 dev->id.device, dev->id.vendor); in modalias_show() 56 for (i = 0; i < sizeof(dev->features)*8; i++) in features_show() 77 if (id->device != dev->id.device && id->device != VIRTIO_DEV_ANY_ID) in virtio_id_match() [all …]
|
H A D | virtio_pci_common.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Virtio PCI driver - common functionality for all device versions 5 * This module allows virtio devices to be used over a virtual PCI device. 24 "Force legacy mode for transitional virtio 1 devices"); 34 return index == vp_dev->admin_vq.vq_index; in vp_is_avq() 43 if (vp_dev->intx_enabled) in vp_synchronize_vectors() 44 synchronize_irq(vp_dev->pci_dev->irq); in vp_synchronize_vectors() 46 for (i = 0; i < vp_dev->msix_vectors; ++i) in vp_synchronize_vectors() 47 synchronize_irq(pci_irq_vector(vp_dev->pci_dev, i)); in vp_synchronize_vectors() 55 iowrite16(vq->index, (void __iomem *)vq->priv); in vp_notify() [all …]
|
/linux/Documentation/devicetree/bindings/virtio/ |
H A D | pci-iommu.yaml | 1 # 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 …]
|
H A D | virtio-device.yaml | 1 # 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 …]
|
/linux/drivers/xen/ |
H A D | Kconfig | 1 # 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 …]
|
/linux/Documentation/virt/ |
H A D | ne_overview.rst | 1 .. 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 …]
|
/linux/Documentation/networking/ |
H A D | net_failover.rst | 1 .. 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 …]
|
/linux/drivers/vdpa/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 datapath which complies with virtio specifications with 55 virtio dataplane traffic to hardware. 74 of virtio net datapath such that descriptors put on the ring will 87 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets 88 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes 91 tristate "Virtio PCI bridge vDPA driver" 95 This kernel module bridges virtio PCI device to vDPA bus. 103 virtio 0.9.5 specification. 111 # If HWMON=n the driver can be compiled either as a module or built-in. [all …]
|
/linux/drivers/vdpa/solidrun/ |
H A D | snet_vdpa.h | 1 /* 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 …]
|
/linux/Documentation/networking/device_drivers/ethernet/amd/ |
H A D | pds_vdpa.rst | 1 .. 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 …]
|
/linux/tools/virtio/virtio-trace/ |
H A D | README | 1 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 …]
|
/linux/arch/um/drivers/ |
H A D | virt-pci.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/pci.h> 8 #include <linux/virtio.h> 14 #include <linux/virtio-uml.h> 24 /* for MSI-X we have a 32-bit payload */ 89 return -EINVAL; in um_pci_send_cmd() 91 switch (cmd->op) { in um_pci_send_cmd() 95 /* in PCI, writes are posted, so don't wait */ in um_pci_send_cmd() 134 /* add to internal virtio queue */ in um_pci_send_cmd() 135 ret = virtqueue_add_sgs(dev->cmd_vq, sgs_list, in um_pci_send_cmd() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 14 The User-Mode Linux environment allows you to create virtual serial 18 See <http://user-mode-linux.sourceforge.net/old/input.html> for more 44 lines to host pseudo-terminals. Access to both traditional 45 pseudo-terminals (/dev/pty*) and pts pseudo-terminals are controlled 55 (/dev/tty*) and the slave side of pseudo-terminals (/dev/ttyp* and 107 traditional pseudo-terminals. 131 While the User-Mode port cannot directly talk to any physical 139 <http://user-mode-linux.sourceforge.net/old/networking.html>. 141 If you'd like to be able to enable networking in the User-Mode [all …]
|
/linux/include/linux/ |
H A D | virtio_pci_modern.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <linux/pci.h> 9 * struct virtio_pci_modern_device - info for modern PCI virtio 10 * @pci_dev: Ptr to the PCI device struct 11 * @common: Position of the common capability in the PCI config 12 * @device: Device-specific data (non-legacy mode) 13 * @notify_base: Base of vq notifications (non-legacy mode) 16 * @notify_len: So we can sanity-check accesses 17 * @device_len: So we can sanity-check accesses 18 * @notify_map_cap: Capability for when we need to map notifications per-vq [all …]
|
/linux/tools/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 12 @echo ' acpi - ACPI tools' 13 @echo ' bpf - misc BPF tools' 14 @echo ' counter - counter tools' 15 @echo ' cpupower - a tool for all things x86 CPU power' 16 @echo ' debugging - tools for debugging' 17 @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' 18 @echo ' firmware - Firmware tools' 19 @echo ' freefall - laptop accelerometer program for disk protection' 20 @echo ' gpio - GPIO tools' [all …]
|
/linux/Documentation/translations/zh_CN/virt/ |
H A D | ne_overview.rst | 1 .. SPDX-License-Identifier: GPL-2.0 2 .. include:: ../disclaimer-zh_CN.rst 57 enclave通过本地通信通道与主虚拟机进行通信,使用virtio-vsock[5]。主虚拟机有 58 virtio-pci vsock模拟设备,而飞地虚拟机有virtio-mmio vsock模拟设备。vsock 60 virtio-vsock设备获得中断。virtio-mmio设备被放置在典型的4 GiB以下的内存中。 76 连接到主虚拟机的vsock CID和一个预定义的端口--9000,以发送一个心跳值--0xb7。这 83 [1] https://aws.amazon.com/ec2/nitro/nitro-enclaves/ 84 [2] https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html 86 [4] https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html 87 [5] https://man7.org/linux/man-pages/man7/vsock.7.html
|
/linux/include/uapi/linux/ |
H A D | virtio_pci.h | 2 * Virtio PCI driver 4 * This module allows virtio devices to be used over a virtual PCI device. 47 /* A 32-bit r/o bitmask of the features supported by the host */ 50 /* A 32-bit r/w bitmask of features activated by the guest */ 53 /* A 32-bit r/w PFN for the currently selected queue */ 56 /* A 16-bit r/o queue size for the currently selected queue */ 59 /* A 16-bit r/w queue selector */ 62 /* A 16-bi [all...] |
H A D | virtio_mmio.h | 2 * Virtio platform device driver 6 * Based on Virtio PCI driver by Anthony Liguori, copyright IBM Corp. 2007 42 /* Magic value ("virt" string) - Read Only */ 45 /* Virtio device version - Read Only */ 48 /* Virtio device ID - Read Only */ 51 /* Virtio vendor ID - Read Only */ 55 * (32 bits per set) - Read Only */ 58 /* Device (host) features set selector - Write Only */ 62 * (32 bits per set) - Write Only */ 65 /* Activated features set selector - Write Only */ [all …]
|
/linux/drivers/vdpa/alibaba/ |
H A D | eni_vdpa.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/pci.h> 15 #include <linux/virtio.h> 25 dev_err(&pdev->dev, "%s"fmt, "eni_vdpa: ", ##__VA_ARGS__) 27 dev_dbg(&pdev->dev, "%s"fmt, "eni_vdpa: ", ##__VA_ARGS__) 29 dev_info(&pdev->dev, "%s"fmt, "eni_vdpa: ", ##__VA_ARGS__) 58 return &eni_vdpa->ldev; in vdpa_to_ldev() 77 ENI_ERR(ldev->pci_dev, in eni_vdpa_set_driver_features() 79 return -EINVAL; in eni_vdpa_set_driver_features() 104 int irq = eni_vdpa->vring[idx].irq; in eni_vdpa_get_vq_irq() [all …]
|
/linux/drivers/vdpa/ifcvf/ |
H A D | ifcvf_base.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Intel IFC VF NIC driver for virtio dataplane offloading 14 #include <linux/pci.h> 33 #define IFCVF_ERR(pdev, fmt, ...) dev_err(&pdev->dev, fmt, ##__VA_ARGS__) 34 #define IFCVF_DBG(pdev, fmt, ...) dev_dbg(&pdev->dev, fmt, ##__VA_ARGS__) 35 #define IFCVF_INFO(pdev, fmt, ...) dev_info(&pdev->dev, fmt, ##__VA_ARGS__) 68 /* virtio-net or virtio-blk device config size */
|
/linux/drivers/bluetooth/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 188 bool "Three-wire UART (H5) protocol support" 192 The HCI Three-wire UART Transport Layer makes it possible to 194 Three-wire UART Transport Layer assumes that the UART 198 Say Y here to compile support for Three-wire UART protocol. 235 The Realtek protocol support enables Bluetooth HCI over 3-Wire 247 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature 304 depends on PCI 399 tristate "Marvell BT-over-SDIO driver" 410 Say Y here to compile support for Marvell BT-over-SDIO driver [all …]
|