/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 15 device tree statically describes the relation between IOMMU and DMA 16 masters. Therefore, the PCI root complex that hosts the virtio-iommu 17 contains a child node representing the IOMMU device explicitly. [all …]
|
H A D | mmio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/virtio/mmio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: virtio memory mapped devices 10 - Jean-Philippe Brucker <jean-philippe@linaro.org> 13 See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for 18 const: virtio,mmio 23 dma-coherent: true 28 '#iommu-cells': [all …]
|
/linux/include/linux/ |
H A D | remoteproc.h | 40 #include <linux/virtio.h> 47 * struct resource_table - firmware resource table header 81 * struct fw_rsc_hdr - firmware resource entry header 95 * enum fw_resource_type - types of resource entries 99 * @RSC_DEVMEM: request to iommu_map a memory-based peripheral. 102 * @RSC_VDEV: declare support for a virtio device, and serve as its 103 * virtio header. 126 #define FW_RSC_ADDR_ANY (-1) 129 * struct fw_rsc_carveout - physically contiguous memory request 133 * @flags: iommu protection flags [all …]
|
H A D | vdpa.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 * struct vdpa_callback - vDPA callback definition. 30 * struct vdpa_notification_area - vDPA notification area 40 * struct vdpa_vq_state_split - vDPA split virtqueue state 48 * struct vdpa_vq_state_packed - vDPA packed virtqueue state 71 * struct vdpa_device - representation of a vDPA device 104 * struct vdpa_iova_range - the IOVA range support by the device 124 * struct vdpa_map_file - file area for device memory mapping 125 * @file: vma->vm_file for the mapping 134 * struct vdpa_config_ops - operations for configuring a vDPA device. [all …]
|
H A D | mmzone.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 19 #include <linux/pageblock-flags.h> 20 #include <linux/page-flags-layout.h> 23 #include <linux/page-flags.h> 28 /* Free memory management - zoned buddy allocator. */ 80 get_pfnblock_flags_mask(&folio->page, pfn, MIGRATETYPE_MASK)) 109 #define MIGRATETYPE_MASK ((1UL << PB_migratetype_bits) - 1) 115 get_pfnblock_flags_mask(&folio->page, folio_pfn(folio), \ 200 NR_KERNEL_MISC_RECLAIMABLE, /* reclaimable non-slab kernel pages */ 208 NR_SECONDARY_PAGETABLE, /* secondary pagetables, KVM & IOMMU */ [all …]
|
/linux/drivers/iommu/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # The IOVA library may also be used by non-IOMMU_API users 15 bool "IOMMU Hardware Support" 26 menu "Generic IOMMU Pagetable Support" 40 sizes at both stage-1 and stage-2, as well as address spaces 41 up to 48-bits in size. 47 Enable self-tests for LPAE page table allocator. This performs 48 a series of page-table consistency checks during boot. 57 Enable support for the ARM Short-descriptor pagetable format. 58 This supports 32-bit virtual and physical addresses mapped using [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-y += amd/ intel/ arm/ iommufd/ 3 obj-$(CONFIG_IOMMU_API) += iommu.o 4 obj-$(CONFIG_IOMMU_API) += iommu-traces.o 5 obj-$(CONFIG_IOMMU_API) += iommu-sysfs.o 6 obj-$(CONFIG_IOMMU_DEBUGFS) += iommu-debugfs.o 7 obj-$(CONFIG_IOMMU_DMA) += dma-iommu.o 8 obj-$(CONFIG_IOMMU_IO_PGTABLE) += io-pgtable.o 9 obj-$(CONFIG_IOMMU_IO_PGTABLE_ARMV7S) += io-pgtable-arm-v7s.o 10 obj-$(CONFIG_IOMMU_IO_PGTABLE_LPAE) += io-pgtable-arm.o [all …]
|
H A D | virtio-iommu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Virtio driver for the paravirtualized IOMMU 11 #include <linux/dma-map-ops.h> 14 #include <linux/iommu.h> 18 #include <linux/virtio.h> 25 #include "dma-iommu.h" 35 struct iommu_device iommu; member 105 struct virtio_iommu_req_tail *tail = buf + len - sizeof(*tail); in viommu_get_req_errno() 107 switch (tail->status) { in viommu_get_req_errno() 111 return -ENOSYS; in viommu_get_req_errno() [all …]
|
/linux/Documentation/arch/s390/ |
H A D | vfio-ccw.rst | 2 vfio-ccw: the basic infrastructure 6 ------------ 9 Linux/s390. Motivation for vfio-ccw is to passthrough subchannels to a 16 - Channel programs run asynchronously on a separate (co)processor. 17 - The channel subsystem will access any memory designated by the caller 18 in the channel program directly, i.e. there is no iommu involved. 22 added to an iommu group, so as to make itself able to be managed by the 31 - A good start to know Channel I/O in general: 33 - s390 architecture: 34 s390 Principles of Operation manual (IBM Form. No. SA22-7832) [all …]
|
/linux/include/uapi/linux/ |
H A D | virtio_ids.h | 4 * Virtio IDs 32 #define VIRTIO_ID_NET 1 /* virtio net */ 33 #define VIRTIO_ID_BLOCK 2 /* virtio block */ 34 #define VIRTIO_ID_CONSOLE 3 /* virtio console */ 35 #define VIRTIO_ID_RNG 4 /* virtio rng */ 36 #define VIRTIO_ID_BALLOON 5 /* virtio balloon */ 37 #define VIRTIO_ID_IOMEM 6 /* virtio ioMemory */ 38 #define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */ 39 #define VIRTIO_ID_SCSI 8 /* virtio scsi */ 40 #define VIRTIO_ID_9P 9 /* 9p virtio console */ [all …]
|
H A D | virtio_config.h | 29 /* Virtio devices use a standardized configuration space to define their 49 * Virtio feature bits VIRTIO_TRANSPORT_F_START through 52 * rest are per-device feature bits. 70 * If clear - device has the platform DMA (e.g. IOMMU) bypass quirk feature. 71 * If set - use platform DMA tools to access the memory.
|
H A D | virtio_iommu.h | 1 /* SPDX-License-Identifier: BSD-3-Clause */ 3 * Virtio-iommu definition v0.12 147 * Tail follows the variable-length properties array. No padding,
|
/linux/drivers/vhost/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 an IOMMU in software. 14 the host side of a virtio ring. 35 tristate "Host kernel accelerator for virtio net" 53 for use with virtio-scsi guests 56 tristate "vhost virtio-vsock driver" 64 virtio_transport.ko driver loaded to use the virtio-vsock device. 70 tristate "Vhost driver for vDPA-based backend" 77 guest virtio devices with the vDPA-based backends. 83 bool "Cross-endian support for vhost" [all …]
|
H A D | vdpa.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2018-2020 Intel Corporation. 20 #include <linux/iommu.h> 77 return as->id; in iotlb_to_asid() 82 struct hlist_head *head = &v->as[asid % VHOST_VDPA_IOTLB_BUCKETS]; in asid_to_as() 86 if (as->id == asid) in asid_to_as() 99 return &as->iotlb; in asid_to_iotlb() 104 struct hlist_head *head = &v->as[asid % VHOST_VDPA_IOTLB_BUCKETS]; in vhost_vdpa_alloc_as() 110 if (asid >= v->vdpa->nas) in vhost_vdpa_alloc_as() 117 vhost_iotlb_init(&as->iotlb, 0, 0); in vhost_vdpa_alloc_as() [all …]
|
/linux/Documentation/devicetree/bindings/iommu/ |
H A D | xen,grant-dma.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iommu/xen,grant-dma.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Xen specific IOMMU for virtualized devices (e.g. virtio) 10 - Stefano Stabellini <sstabellini@kernel.org> 13 The Xen IOMMU represents the Xen grant table interface. Grant mappings 14 are to be used with devices connected to the Xen IOMMU using the "iommus" 20 const: xen,grant-dma 22 '#iommu-cells': [all …]
|
/linux/drivers/remoteproc/ |
H A D | remoteproc_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Ohad Ben-Cohen <ohad@wizery.com> 12 * Suman Anna <s-anna@ti.com> 26 #include <linux/dma-mapping.h> 32 #include <linux/iommu.h> 78 * This is the IOMMU fault handler we register with the IOMMU API 80 * an IOMMU). 82 * IOMMU core will invoke this handler whenever the remote processor 90 dev_err(dev, "iommu fault: da 0x%lx flags 0x%x\n", iova, flags); in rproc_iommu_fault() 95 * Let the iommu core know we're not really handling this fault; in rproc_iommu_fault() [all …]
|
/linux/Documentation/staging/ |
H A D | remoteproc.rst | 10 of operating system, whether it's Linux or any other flavor of real-time OS. 12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP 20 duplicated. In addition, this framework also adds rpmsg virtio devices 22 platform-specific remoteproc drivers only need to provide a few low-level 24 (for more information about the virtio-based rpmsg bus and its drivers, 26 Registration of other types of virtio devices is now also possible. Firmwares 27 just need to publish what kind of virtio devices do they support, and then 29 existing virtio drivers with remote processor backends at a minimal development 118 name of this remote processor, platform-specific ops handlers, [all …]
|
/linux/drivers/vdpa/vdpa_sim/ |
H A D | vdpa_sim.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 66 /* virtio config according to device type */ 68 struct vhost_iotlb *iommu; member 76 /* spinlock to synchronize iommu table */ 84 /* TODO: cross-endian support */ 88 (vdpasim->features & (1ULL << VIRTIO_F_VERSION_1)); in vdpasim_is_little_endian()
|
/linux/drivers/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 # Rewritten to use lists instead of if-statements. 9 obj-y += cache/ 10 obj-y += irqchip/ 11 obj-y += bus/ 13 obj-$(CONFIG_GENERIC_PHY) += phy/ 16 obj-$(CONFIG_PINCTRL) += pinctrl/ 17 obj-$(CONFIG_GPIOLIB) += gpio/ 18 obj-y += pwm/ 21 obj-y += leds/ [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 58 # input before char - char/joystick depends on it. As does USB. 130 source "drivers/dma-buf/Kconfig" 140 source "drivers/virtio/Kconfig" 166 source "drivers/iommu/Kconfig"
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | host-generic-pci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/host-generic-pci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Will Deacon <will@kernel.org> 13 Firmware-initialised PCI host controllers and PCI emulations, such as the 14 virtio-pci implementations found in kvmtool and other para-virtualised 21 Configuration Space is assumed to be memory-mapped (as opposed to being 26 For CAM, this 24-bit offset is: 41 - description: [all …]
|
/linux/drivers/virtio/ |
H A D | virtio_ring.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* Virtio ring implementation. 6 #include <linux/virtio.h> 13 #include <linux/dma-mapping.h> 22 dev_err(&(_vq)->vq.vdev->dev, \ 23 "%s:"fmt, (_vq)->vq.name, ##args); \ 29 if ((_vq)->in_use) \ 31 (_vq)->vq.name, (_vq)->in_use); \ 32 (_vq)->in_use = __LINE__; \ 35 do { BUG_ON(!(_vq)->in_use); (_vq)->in_use = 0; } while(0) [all …]
|
/linux/drivers/vdpa/ifcvf/ |
H A D | ifcvf_main.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Intel IFC VF NIC driver for virtio dataplane offloading 24 if (vf->config_cb.callback) in ifcvf_config_changed() 25 return vf->config_cb.callback(vf->config_cb.private); in ifcvf_config_changed() 34 if (vring->cb.callback) in ifcvf_vq_intr_handler() 35 return vring->cb.callback(vring->cb.private); in ifcvf_vq_intr_handler() 46 for (i = 0; i < vf->nr_vring; i++) { in ifcvf_vqs_reused_intr_handler() 47 vring = &vf->vring[i]; in ifcvf_vqs_reused_intr_handler() 48 if (vring->cb.callback) in ifcvf_vqs_reused_intr_handler() 49 vring->cb.callback(vring->cb.private); in ifcvf_vqs_reused_intr_handler() [all …]
|
/linux/ |
H A D | MAINTAINERS | 5 --------------------------------------------------- 21 W: *Web-page* with status/info 23 B: URI for where to file *bugs*. A web-page with detailed bug 28 patches to the given subsystem. This is either an in-tree file, 29 or a URI. See Documentation/maintainer/maintainer-entry-profile.rst 46 N: [^a-z]tegra all files whose path contains tegra 64 ---------------- 83 3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS) 85 L: linux-scsi@vger.kernel.org 88 F: drivers/scsi/3w-* [all …]
|
/linux/Documentation/admin-guide/ |
H A D | kernel-parameters.txt | 16 force -- enable ACPI if default was off 17 on -- enable ACPI but allow fallback to DT [arm64,riscv64] 18 off -- disable ACPI if default was on 19 noirq -- do not use ACPI for IRQ routing 20 strict -- Be less tolerant of platforms that are not 22 rsdt -- prefer RSDT over (default) XSDT 23 copy_dsdt -- copy DSDT to memory 24 nospcr -- disable console in ACPI SPCR table as 41 If set to vendor, prefer vendor-specific driver 73 Documentation/firmware-guide/acpi/debug.rst for more information about [all …]
|