/Linux-v5.15/drivers/virtio/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 config VIRTIO config 5 This option is selected by any driver which implements the virtio 18 Modern PCI device implementation. This module implements the 20 PCI device with possible vendor specific extensions. Any 21 module that selects this module must depend on PCI. 24 bool "Virtio drivers" 30 tristate "PCI driver for virtio devices" 31 depends on PCI 33 select VIRTIO [all …]
|
D | virtio_pci_modern_dev.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 #include <linux/pci.h> 8 * vp_modern_map_capability - map a part of virtio pci capability 9 * @mdev: the modern virtio-pci device 25 struct pci_dev *dev = mdev->pci_dev; in vp_modern_map_capability() 39 dev_err(&dev->dev, in vp_modern_map_capability() 45 if (length - start < minlen) { in vp_modern_map_capability() 46 dev_err(&dev->dev, in vp_modern_map_capability() 52 length -= start; in vp_modern_map_capability() 55 dev_err(&dev->dev, in vp_modern_map_capability() [all …]
|
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. 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 …]
|
D | virtio_pci_common.h | 1 /* 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> 39 /* MSI-X vector (or none) */ 49 /* In legacy mode, these two point to within ->legacy. */ 54 /* the IO mapping for the PCI config space */ 61 /* array of all queues for house-keeping */ 64 /* MSI-X support */ [all …]
|
D | virtio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 #include <linux/virtio.h> 10 /* Unique numbering for virtio devices. */ 17 return sprintf(buf, "0x%04x\n", dev->id.device); in device_show() 25 return sprintf(buf, "0x%04x\n", dev->id.vendor); in vendor_show() 33 return sprintf(buf, "0x%08x\n", dev->config->get_status(dev)); in status_show() 41 return sprintf(buf, "virtio:d%08Xv%08X\n", in modalias_show() 42 dev->id.device, dev->id.vendor); in modalias_show() 55 for (i = 0; i < sizeof(dev->features)*8; i++) in features_show() 76 if (id->device != dev->id.device && id->device != VIRTIO_DEV_ANY_ID) in virtio_id_match() [all …]
|
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"); 33 if (vp_dev->intx_enabled) in vp_synchronize_vectors() 34 synchronize_irq(vp_dev->pci_dev->irq); in vp_synchronize_vectors() 36 for (i = 0; i < vp_dev->msix_vectors; ++i) in vp_synchronize_vectors() 37 synchronize_irq(pci_irq_vector(vp_dev->pci_dev, i)); in vp_synchronize_vectors() 45 iowrite16(vq->index, (void __iomem *)vq->priv); in vp_notify() 54 virtio_config_changed(&vp_dev->vdev); in vp_config_changed() [all …]
|
D | virtio_pci_modern.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Virtio PCI driver - modern (virtio 1.0) device support 5 * This module allows virtio devices to be used over a virtual PCI device. 26 return vp_modern_get_features(&vp_dev->mdev); in vp_get_features() 32 struct pci_dev *pci_dev = vp_dev->pci_dev; in vp_transport_features() 39 /* virtio config->finalize_features() implementation */ 43 u64 features = vdev->features; in vp_finalize_features() 52 dev_err(&vdev->dev, "virtio: device uses modern interface " in vp_finalize_features() 54 return -EINVAL; in vp_finalize_features() 57 vp_modern_set_features(&vp_dev->mdev, vdev->features); in vp_finalize_features() [all …]
|
D | virtio_mmio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Virtio memory mapped device driver 5 * Copyright 2011-2014, ARM Ltd. 7 * This module allows virtio devices to be used over a virtual, memory mapped 15 * .name = "virtio-mmio", 16 * .id = -1, 34 * compatible = "virtio,mmio"; 39 * 3. Kernel module (or command line) parameter. Can be used more than once - 52 * Based on Virtio PCI driver by Anthony Liguori, copyright IBM Corp. 2007 55 #define pr_fmt(fmt) "virtio-mmio: " fmt [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/virtio/ |
D | iommu.txt | 1 * 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 …]
|
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 bindings 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-v5.15/Documentation/networking/ |
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'/> 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 …]
|
/Linux-v5.15/drivers/gpu/drm/virtio/ |
D | virtgpu_drv.c | 31 #include <linux/pci.h> 43 static int virtio_gpu_modeset = -1; 50 struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); in virtio_gpu_pci_quirk() 51 const char *pname = dev_name(&pdev->dev); in virtio_gpu_pci_quirk() 52 bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; in virtio_gpu_pci_quirk() 56 DRM_INFO("pci: %s detected at %s\n", in virtio_gpu_pci_quirk() 57 vga ? "virtio-vga" : "virtio-gpu-pci", in virtio_gpu_pci_quirk() 67 * The following comment covers, why virtio cannot rely on it. in virtio_gpu_pci_quirk() 69 * Unlike the other virtual GPU drivers, virtio abstracts the in virtio_gpu_pci_quirk() 74 * while a "pci:..." one is required. in virtio_gpu_pci_quirk() [all …]
|
/Linux-v5.15/drivers/vdpa/ |
D | Kconfig | 1 # 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 75 tristate "Virtio PCI bridge vDPA driver" 79 This kernel module bridges virtio PCI device to vDPA bus.
|
/Linux-v5.15/Documentation/virt/ |
D | ne_overview.rst | 1 .. 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 …]
|
/Linux-v5.15/tools/virtio/virtio-trace/ |
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-v5.15/include/uapi/linux/ |
D | virtio_pci.h | 2 * Virtio PCI driver 4 * This module allows virtio devices to be used over a virtual PCI device. 46 /* A 32-bit r/o bitmask of the features supported by the host */ 49 /* A 32-bit r/w bitmask of features activated by the guest */ 52 /* A 32-bit r/w PFN for the currently selected queue */ 55 /* A 16-bit r/o queue size for the currently selected queue */ 58 /* A 16-bit r/w queue selector */ 61 /* A 16-bit r/w queue notifier */ 64 /* An 8-bit device status register. */ 67 /* An 8-bit r/o interrupt status register. Reading the value will return the [all …]
|
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-v5.15/arch/um/drivers/ |
D | virt-pci.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/pci.h> 8 #include <linux/virtio.h> 13 #include <linux/virtio-uml.h> 23 /* for MSI-X we have a 32-bit payload */ 84 return -EINVAL; in um_pci_send_cmd() 86 switch (cmd->op) { in um_pci_send_cmd() 90 /* in PCI, writes are posted, so don't wait */ in um_pci_send_cmd() 128 /* add to internal virtio queue */ in um_pci_send_cmd() 129 ret = virtqueue_add_sgs(dev->cmd_vq, sgs_list, in um_pci_send_cmd() [all …]
|
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 100 traditional pseudo-terminals. 134 While the User-Mode port cannot directly talk to any physical 142 <http://user-mode-linux.sourceforge.net/old/networking.html>. 144 If you'd like to be able to enable networking in the User-Mode [all …]
|
/Linux-v5.15/tools/ |
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 12 @echo ' acpi - ACPI tools' 13 @echo ' bpf - misc BPF tools' 14 @echo ' cgroup - cgroup 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-v5.15/Documentation/translations/zh_CN/virt/ |
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-v5.15/drivers/gpu/drm/tiny/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 15 depends on DRM && PCI && MMU 28 depends on DRM && PCI && MMU 38 https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ 41 - stdvga (DRM_BOCHS, qemu -vga std, default in qemu 2.2+) 42 - qxl (DRM_QXL, qemu -vga qxl, works best with spice) 43 - virtio (DRM_VIRTIO_GPU), qemu -vga virtio) 60 DRM driver for simple platform-provided framebuffers. 79 * YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5") 91 * No-name 2.2" color screen module [all …]
|
/Linux-v5.15/drivers/iommu/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # The IOVA library may also be used by non-IOMMU_API users 6 # The IOASID library may also be used by non-IOMMU_API users 39 sizes at both stage-1 and stage-2, as well as address spaces 40 up to 48-bits in size. 46 Enable self-tests for LPAE page table allocator. This performs 47 a series of page-table consistency checks during boot. 56 Enable support for the ARM Short-descriptor pagetable format. 57 This supports 32-bit virtual and physical addresses mapped using 58 2-level tables with 4KB pages/1MB sections, and contiguous entries [all …]
|
/Linux-v5.15/drivers/vdpa/virtio_pci/ |
D | vp_vdpa.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * vDPA bridge driver for modern virtio-pci device 13 #include <linux/pci.h> 15 #include <linux/virtio.h> 53 return &vp_vdpa->mdev; in vdpa_to_mdev() 81 struct virtio_pci_modern_device *mdev = &vp_vdpa->mdev; in vp_vdpa_free_irq() 82 struct pci_dev *pdev = mdev->pci_dev; in vp_vdpa_free_irq() 85 for (i = 0; i < vp_vdpa->queues; i++) { in vp_vdpa_free_irq() 86 if (vp_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) { in vp_vdpa_free_irq() 88 devm_free_irq(&pdev->dev, vp_vdpa->vring[i].irq, in vp_vdpa_free_irq() [all …]
|
/Linux-v5.15/sound/ |
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 5 obj-$(CONFIG_SOUND) += soundcore.o 6 obj-$(CONFIG_DMASOUND) += oss/dmasound/ 7 obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \ 9 virtio/ 10 obj-$(CONFIG_SND_AOA) += aoa/ 13 obj-$(CONFIG_AC97_BUS) += ac97_bus.o 14 obj-$(CONFIG_AC97_BUS_NEW) += ac97/ 17 obj-y += last.o 20 soundcore-objs := sound_core.o
|