Home
last modified time | relevance | path

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

1234

/openbmc/qemu/tests/qtest/libqos/
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 Dmeson.build9 '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',
32 'i2c-omap.c',
[all …]
H A Dvirtio-iommu.h2 * libqos driver virtio-iommu-pci framework
10 * option) any later version. See the COPYING file in the top-level directory.
18 #include "virtio.h"
19 #include "virtio-pci.h"
32 QVirtioIOMMU iommu; member
37 QVirtioIOMMU iommu; member
/openbmc/linux/Documentation/devicetree/bindings/virtio/
H A 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
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 Dmmio.yaml1 # 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 …]
/openbmc/qemu/include/hw/virtio/
H A Dvirtio-iommu.h2 * virtio-iommu device
23 #include "standard-headers/linux/virtio_iommu.h"
24 #include "hw/virtio/virtio.h"
27 #include "qapi/qapi-types-virtio.h"
30 #define TYPE_VIRTIO_IOMMU "virtio-iommu-device"
31 #define TYPE_VIRTIO_IOMMU_PCI "virtio-iommu-pci"
34 #define TYPE_VIRTIO_IOMMU_MEMORY_REGION "virtio-iommu-memory-region"
/openbmc/qemu/hw/virtio/
H A Dvirtio-iommu-pci.c2 * Virtio IOMMU PCI Bindings
14 #include "hw/virtio/virtio-pci.h"
15 #include "hw/virtio/virtio-iommu.h"
16 #include "hw/qdev-properties.h"
17 #include "hw/qdev-properties-system.h"
26 * virtio-iommu-pci: This extends VirtioPCIProxy.
39 DEFINE_PROP_ARRAY("reserved-regions", VirtIOIOMMUPCI,
48 PCIBus *pbus = pci_get_bus(&vpci_dev->pci_dev); in virtio_iommu_pci_realize()
49 DeviceState *vdev = DEVICE(&dev->vdev); in virtio_iommu_pci_realize()
54 "for the virtio-iommu-pci device"); in virtio_iommu_pci_realize()
[all …]
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-iommu.c2 * virtio-iommu device
24 #include "qemu/reserved-region.h"
26 #include "hw/qdev-properties.h"
27 #include "hw/virtio/virtio.h"
31 #include "qemu/reserved-region.h"
34 #include "qemu/error-report.h"
37 #include "standard-headers/linux/virtio_ids.h"
39 #include "hw/virtio/virtio-bus.h"
40 #include "hw/virtio/virtio-iommu.h"
79 return PCI_BUILD_BDF(pci_bus_num(dev->bus), dev->devfn); in virtio_iommu_get_bdf()
[all …]
H A Dtrace-events16 # vhost-user.c
32 # vhost-vdpa.c
39 …, void *vaddr, bool readonly) "vdpa: %p iova 0x%"PRIx64" llend 0x%"PRIx64" vaddr: %p read-only: %d"
71 # virtio.c
82 # virtio-rng.c
90 # virtio-balloon.c
98 # virtio-mmio.c
105 # virtio-pci.c
110 # hw/virtio/virtio-iommu.c
129 virtio_iommu_translate_out(uint64_t virt_addr, uint64_t phys_addr, uint32_t sid) "0x%"PRIx64" -> 0x…
[all …]
/openbmc/qemu/tests/avocado/
H A Dintel_iommu.py9 # later. See the COPYING file in the top-level directory.
27 IOMMU_ADDON = ',iommu_platform=on,disable-modern=off,disable-legacy=on'
34 self.vm.add_args('-device', 'virtio-blk-pci,bus=pcie.0,' +
35 'drive=drv0,id=virtio-disk0,bootindex=1,'
37 self.vm.add_args('-device', 'virtio-gpu-pci' + self.IOMMU_ADDON)
38 self.vm.add_args('-drive',
42 super(IntelIOMMU, self).setUp(None, 'virtio-net-pci' + self.IOMMU_ADDON)
45 self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0')
46 self.vm.add_args('-object',
47 'rng-random,id=rng0,filename=/dev/urandom')
[all …]
H A Dsmmu.py9 # later. See the COPYING file in the top-level directory.
28 IOMMU_ADDON = ',iommu_platform=on,disable-modern=off,disable-legacy=on'
35 self.vm.add_args('-device', 'virtio-blk-pci,bus=pcie.0,' +
36 'drive=drv0,id=virtio-disk0,bootindex=1,'
38 self.vm.add_args('-drive',
42 super(SMMU, self).setUp(None, 'virtio-net-pci' + self.IOMMU_ADDON)
46 self.vm.add_args("-accel", "kvm")
47 self.vm.add_args("-cpu", "host")
48 self.vm.add_args("-machine", "iommu=smmuv3")
49 self.vm.add_args("-d", "guest_errors")
[all …]
/openbmc/linux/include/linux/
H A Dremoteproc.h40 #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 …]
/openbmc/qemu/hw/acpi/
H A Dviot.c4 * SPDX-License-Identifier: GPL-2.0-or-later
8 #include "hw/acpi/aml-build.h"
49 PCIBus *bus = PCI_HOST_BRIDGE(obj)->bus; in enumerate_pci_host_bridges()
72 if (range_a->min_bus < range_b->min_bus) { in pci_host_range_compare()
73 return -1; in pci_host_range_compare()
74 } else if (range_a->min_bus > range_b->min_bus) { in pci_host_range_compare()
82 * Generate a VIOT table with one PCI-based virtio-iommu that manages PCI
91 /* The virtio-iommu node follows the 48-bytes header */ in build_viot()
110 build_append_int_noprefix(table_data, pci_host_ranges->len + 1, 2); in build_viot()
116 /* Virtio-iommu node */ in build_viot()
[all …]
/openbmc/linux/drivers/iommu/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
2 # The IOVA library may also be used by non-IOMMU_API users
11 bool "IOMMU Hardware Support"
22 menu "Generic IOMMU Pagetable Support"
36 sizes at both stage-1 and stage-2, as well as address spaces
37 up to 48-bits in size.
43 Enable self-tests for LPAE page table allocator. This performs
44 a series of page-table consistency checks during boot.
53 Enable support for the ARM Short-descriptor pagetable format.
54 This supports 32-bit virtual and physical addresses mapped using
[all …]
H A DMakefile1 # 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 …]
/openbmc/qemu/tests/qtest/
H A Dvirtio-iommu-test.c2 * QTest testcase for VirtIO IOMMU
10 * option) any later version. See the COPYING file in the top-level directory.
15 #include "libqtest-single.h"
18 #include "libqos/virtio-iommu.h"
19 #include "hw/virtio/virtio-iommu.h"
29 QVirtioDevice *dev = v_iommu->vdev; in pci_config()
48 g_assert_cmpint(buffer->reserved[i], ==, 0); in read_tail_status()
50 return buffer->status; in read_tail_status()
54 * send_attach_detach - Send an attach/detach command to the device
62 QVirtioDevice *dev = v_iommu->vdev; in send_attach_detach()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/iommu/
H A Dxen,grant-dma.yaml1 # 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 …]
/openbmc/linux/Documentation/arch/s390/
H A Dvfio-ccw.rst2 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 …]
/openbmc/qemu/docs/system/arm/
H A Dvirt.rst8 idiosyncrasies and limitations of a particular bit of real-world
16 ``virt-5.0`` machine type will behave like the ``virt`` machine from
17 the QEMU 5.0 release, and migration should work between ``virt-5.0``
18 of the 5.0 release and ``virt-5.0`` of the 5.1 release. Migration
20 the non-versioned ``virt`` machine type.
27 - PCI/PCIe devices
28 - Flash memory
29 - Either one or two PL011 UARTs for the NonSecure World
30 - An RTC
31 - The fw_cfg device that allows a guest to obtain data from QEMU
[all …]
/openbmc/linux/drivers/vhost/
H A DKconfig1 # 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 …]
/openbmc/qemu/include/standard-headers/linux/
H A Dvirtio_ids.h4 * 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 …]
/openbmc/linux/include/uapi/linux/
H A Dvirtio_ids.h4 * 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 …]
/openbmc/qemu/docs/specs/
H A Dpci-ids.rst12 --------------
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/``.
53 ivshmem device (:doc:`ivshmem-spec`)
[all …]
/openbmc/linux/drivers/xen/
H A Dgrant-dma-ops.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Xen grant DMA-mapping layer - contains special DMA-mapping routines
5 * (e.g. virtio) in Xen guests
11 #include <linux/dma-map-ops.h>
17 #include <linux/virtio.h>
19 #include <xen/xen-ops.h>
70 * DMA ops for Xen frontends (e.g. virtio).
72 * Used to act as a kind of software IOMMU for Xen guests by using grants as
92 if (unlikely(data->broken)) in xen_grant_dma_alloc()
107 gnttab_grant_foreign_access_ref(grant + i, data->backend_domid, in xen_grant_dma_alloc()
[all …]

1234