Lines Matching +full:hot +full:- +full:plug
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
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.
144 * Mediated device hot plug
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]
237 doesn't support hot unplug.
243 Mediated device Hot plug
244 ------------------------
246 Mediated devices can be created and assigned at runtime. The procedure to hot
247 plug a mediated device is the same as the procedure to hot plug a PCI device.
261 These functions call back into the back-end IOMMU module by using the pin_pages
270 1. See Documentation/driver-api/vfio.rst for more information on VFIO.