Lines Matching +full:iommu +full:- +full:secure +full:- +full:id

1 .. SPDX-License-Identifier: GPL-2.0-only
17 The number of use cases for virtualizing DMA devices that do not have built-in
25 an IOMMU/device-agnostic framework for exposing direct device access to user
26 space in a secure, IOMMU-protected environment. This framework is used for
37 * Add a mediated device to and remove it from an IOMMU group
44 The following high-level block diagram shows the main components and interfaces
48 +---------------+
50 | +-----------+ | mdev_register_driver() +--------------+
51 | | | +<------------------------+ |
53 | | bus | +------------------------>+ vfio_mdev.ko |<-> VFIO user
55 | | | | +--------------+
56 | +-----------+ |
61 | +-----------+ | mdev_register_parent() +--------------+
62 | | | +<------------------------+ |
63 | | | | | ccw_device.ko|<-> physical
64 | | | +------------------------>+ | device
65 | | | | callbacks +--------------+
67 | | device | | mdev_register_parent() +--------------+
68 | | interface | |<------------------------+ |
69 | | | | | i915.ko |<-> physical
70 | | | +------------------------>+ | device
71 | | | | callbacks +--------------+
72 | +-----------+ |
73 +---------------+
86 ------------------------------------------------
92 * struct mdev_driver [2] - Mediated device's driver
140 libvirt, to query and configure mediated devices in a hardware-agnostic fashion.
149 -------------------------------------
154 --------------------------------------------------------------
158 |- [parent physical device]
159 |--- Vendor-specific-attributes [optional]
160 |--- [mdev_supported_types]
161 | |--- [<type-id>]
162 | | |--- create
163 | | |--- name
164 | | |--- available_instances
165 | | |--- device_api
166 | | |--- description
167 | | |--- [devices]
168 | |--- [<type-id>]
169 | | |--- create
170 | | |--- name
171 | | |--- available_instances
172 | | |--- device_api
173 | | |--- description
174 | | |--- [devices]
175 | |--- [<type-id>]
176 | |--- create
177 | |--- name
178 | |--- available_instances
179 | |--- device_api
180 | |--- description
181 | |--- [devices]
187 [<type-id>], device_api, and available_instances are mandatory attributes
190 * [<type-id>]
192 The [<type-id>] name is created by adding the device driver string as a prefix
196 sprintf(buf, "%s-%s", dev_driver_string(parent->dev), group->name);
201 "vfio-pci" for a PCI device.
205 This attribute shows the number of devices of type <type-id> that can be
210 This directory contains links to the devices of type <type-id> that have been
223 ----------------------------------------------------------
227 |- [parent phy device]
228 |--- [$MDEV_UUID]
229 |--- remove
230 |--- mdev_type {link to its type}
231 |--- vendor-specific-attributes [optional]
244 ------------------------
261 These functions call back into the back-end IOMMU module by using the pin_pages
263 these callbacks are supported in the TYPE1 IOMMU module. To enable them for
264 other IOMMU backend modules, such as PPC64 sPAPR module, they need to provide
270 1. See Documentation/driver-api/vfio.rst for more information on VFIO.