66 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
What:		/sys/kernel/iommu_groups/
 | 
						|
Date:		May 2012
 | 
						|
KernelVersion:	v3.5
 | 
						|
Contact:	Alex Williamson <alex.williamson@redhat.com>
 | 
						|
Description:	/sys/kernel/iommu_groups/ contains a number of sub-
 | 
						|
		directories, each representing an IOMMU group.  The
 | 
						|
		name of the sub-directory matches the iommu_group_id()
 | 
						|
		for the group, which is an integer value.  Within each
 | 
						|
		subdirectory is another directory named "devices" with
 | 
						|
		links to the sysfs devices contained in this group.
 | 
						|
		The group directory also optionally contains a "name"
 | 
						|
		file if the IOMMU driver has chosen to register a more
 | 
						|
		common name for the group.
 | 
						|
Users:
 | 
						|
 | 
						|
What:		/sys/kernel/iommu_groups/reserved_regions
 | 
						|
Date: 		January 2017
 | 
						|
KernelVersion:  v4.11
 | 
						|
Contact: 	Eric Auger <eric.auger@redhat.com>
 | 
						|
Description:    /sys/kernel/iommu_groups/reserved_regions list IOVA
 | 
						|
		regions that are reserved. Not necessarily all
 | 
						|
		reserved regions are listed. This is typically used to
 | 
						|
		output direct-mapped, MSI, non mappable regions. Each
 | 
						|
		region is described on a single line: the 1st field is
 | 
						|
		the base IOVA, the second is the end IOVA and the third
 | 
						|
		field describes the type of the region.
 | 
						|
 | 
						|
		Since kernel 5.3, in case an RMRR is used only by graphics or
 | 
						|
		USB devices it is now exposed as "direct-relaxable" instead
 | 
						|
		of "direct". In device assignment use case, for instance,
 | 
						|
		those RMRR are considered to be relaxable and safe.
 | 
						|
 | 
						|
What:		/sys/kernel/iommu_groups/<grp_id>/type
 | 
						|
Date:		November 2020
 | 
						|
KernelVersion:	v5.11
 | 
						|
Contact:	Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
 | 
						|
Description:	/sys/kernel/iommu_groups/<grp_id>/type shows the type of default
 | 
						|
		domain in use by iommu for this group. See include/linux/iommu.h
 | 
						|
		for possible read values. A privileged user could request kernel to
 | 
						|
		change the group type by writing to this file. Valid write values:
 | 
						|
 | 
						|
		========  ======================================================
 | 
						|
		DMA       All the DMA transactions from the device in this group
 | 
						|
		          are translated by the iommu.
 | 
						|
		DMA-FQ    As above, but using batched invalidation to lazily
 | 
						|
		          remove translations after use. This may offer reduced
 | 
						|
			  overhead at the cost of reduced memory protection.
 | 
						|
		identity  All the DMA transactions from the device in this group
 | 
						|
		          are not translated by the iommu. Maximum performance
 | 
						|
			  but zero protection.
 | 
						|
		auto      Change to the type the device was booted with.
 | 
						|
		========  ======================================================
 | 
						|
 | 
						|
		The default domain type of a group may be modified only when
 | 
						|
 | 
						|
		- The group has only one device.
 | 
						|
		- The device in the group is not bound to any device driver.
 | 
						|
		  So, the users must unbind the appropriate driver before
 | 
						|
		  changing the default domain type.
 | 
						|
 | 
						|
		Unbinding a device driver will take away the driver's control
 | 
						|
		over the device and if done on devices that host root file
 | 
						|
		system could lead to catastrophic effects (the users might
 | 
						|
		need to reboot the machine to get it to normal state). So, it's
 | 
						|
		expected that the users understand what they're doing.
 |