Lines Matching +full:set +full:- +full:io +full:- +full:isolation
2 VFIO - "Virtual Function I/O" [1]_
7 allotted. This includes x86 hardware with AMD-Vi and Intel VT-d,
12 safe [2]_, non-privileged, userspace drivers.
19 bare-metal device drivers [3]_.
22 field, also benefit from low-overhead, direct device access from
23 userspace. Examples include network adapters (often non-TCP/IP based)
36 ---------------------------
42 as allowing a device read-write access to system memory imposes the
46 isolation properties into what was, in many cases, an interface only
52 This isolation is not always at the granularity of a single device
54 interconnects, and IOMMU topologies can each reduce this isolation.
55 For instance, an individual device may be part of a larger multi-
59 could be anything from a multi-function PCI device with backdoors
60 between functions to a non-PCI-ACS (Access Control Services) capable
62 can also play a factor in terms of hiding devices. A PCIe-to-PCI
70 a set of devices which is isolatable from all other devices in the
76 possible to share a set of page tables between different groups,
79 a single set of translations). For this reason, VFIO makes use of
96 group available, but not that particular device). TBD - interface
104 be set to the same container. If a group fails to set to a container
119 ------------------
127 pci bus, therefore the user will make use of vfio-pci to manage the
130 # modprobe vfio-pci
132 Binding this device to the vfio-pci driver creates the VFIO group
135 $ lspci -n -s 0000:06:0d.0
138 # echo 1102 0002 > /sys/bus/pci/drivers/vfio-pci/new_id
143 $ ls -l /sys/bus/pci/devices/0000:06:0d.0/iommu_group/devices
145 lrwxrwxrwx. 1 root root 0 Apr 23 16:13 0000:00:1e.0 ->
147 lrwxrwxrwx. 1 root root 0 Apr 23 16:13 0000:06:0d.0 ->
149 lrwxrwxrwx. 1 root root 0 Apr 23 16:13 0000:06:0d.1 ->
152 This device is behind a PCIe-to-PCI bridge [4]_, therefore we also
156 bind this device to the vfio-pci driver (vfio-pci does not currently
161 no capabilities on its own and is therefore expected to be set to
243 -------------------------------------------------------------------------------
248 -------------------------------------------------------------------------------
250 VFIO bus drivers, such as vfio-pci make use of only a few interfaces
263 vfio_init_group_dev() to pre-configure it before going to registration.
294 -------------------------------
307 2) The hardware supports so called DMA windows - the PCI address range
309 out of the window leads to the whole PE isolation.
320 error recovery. A PE may be a single or multi-function IOA (IO Adapter), a
321 function of a multi-function IOA, or multiple IOAs (possibly including
401 /* Inject EEH error, which is expected to be caused by 32-bits
413 /* When 0xFF's returned from reading PCI config space or IO BARs
424 /* Enable IO for the affected PE and collect logs. Usually, the
465 - VFIO_IOMMU_SPAPR_REGISTER_MEMORY/VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY ioctls
472 - VFIO_IOMMU_MAP_DMA/VFIO_IOMMU_UNMAP_DMA ioctls only update the actual
474 address is from pre-registered range.
484 be as big as entire RAM, use different page size, it is optional - guests
485 create those in run-time if the guest driver supports 64bit DMA.
497 -------------------------------------------------------------------------------
504 possible for multi-function devices to have backdoors between
508 IOMMU driver to group multi-function PCI devices together
510 still provide isolation. For PCI, SR-IOV Virtual Functions are the
514 .. [3] As always there are trade-offs to virtual machine device
517 these trade-offs.
522 -[0000:00]-+-1e.0-[06]--+-0d.0
523 \-0d.1