Merge tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-kernel-iommu_groups
1 What:           /sys/kernel/iommu_groups/
2 Date:           May 2012
3 KernelVersion:  v3.5
4 Contact:        Alex Williamson <alex.williamson@redhat.com>
5 Description:    /sys/kernel/iommu_groups/ contains a number of sub-
6                 directories, each representing an IOMMU group.  The
7                 name of the sub-directory matches the iommu_group_id()
8                 for the group, which is an integer value.  Within each
9                 subdirectory is another directory named "devices" with
10                 links to the sysfs devices contained in this group.
11                 The group directory also optionally contains a "name"
12                 file if the IOMMU driver has chosen to register a more
13                 common name for the group.
14 Users:
15
16 What:           /sys/kernel/iommu_groups/reserved_regions
17 Date:           January 2017
18 KernelVersion:  v4.11
19 Contact:        Eric Auger <eric.auger@redhat.com>
20 Description:    /sys/kernel/iommu_groups/reserved_regions list IOVA
21                 regions that are reserved. Not necessarily all
22                 reserved regions are listed. This is typically used to
23                 output direct-mapped, MSI, non mappable regions. Each
24                 region is described on a single line: the 1st field is
25                 the base IOVA, the second is the end IOVA and the third
26                 field describes the type of the region.
27
28 What:           /sys/kernel/iommu_groups/reserved_regions
29 Date:           June 2019
30 KernelVersion:  v5.3
31 Contact:        Eric Auger <eric.auger@redhat.com>
32 Description:    In case an RMRR is used only by graphics or USB devices
33                 it is now exposed as "direct-relaxable" instead of "direct".
34                 In device assignment use case, for instance, those RMRR
35                 are considered to be relaxable and safe.
36
37 What:           /sys/kernel/iommu_groups/<grp_id>/type
38 Date:           November 2020
39 KernelVersion:  v5.11
40 Contact:        Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
41 Description:    /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
42                 domain in use by iommu for this group. See include/linux/iommu.h
43                 for possible read values. A privileged user could request kernel to
44                 change the group type by writing to this file. Valid write values:
45
46                 ========  ======================================================
47                 DMA       All the DMA transactions from the device in this group
48                           are translated by the iommu.
49                 identity  All the DMA transactions from the device in this group
50                           are not translated by the iommu.
51                 auto      Change to the type the device was booted with.
52                 ========  ======================================================
53
54                 The default domain type of a group may be modified only when
55
56                 - The group has only one device.
57                 - The device in the group is not bound to any device driver.
58                   So, the users must unbind the appropriate driver before
59                   changing the default domain type.
60
61                 Unbinding a device driver will take away the driver's control
62                 over the device and if done on devices that host root file
63                 system could lead to catastrophic effects (the users might
64                 need to reboot the machine to get it to normal state). So, it's
65                 expected that the users understand what they're doing.