19aaa3b8bSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
29aaa3b8bSMika WesterbergDate:		Jun 2018
39aaa3b8bSMika WesterbergKernelVersion:	4.17
49aaa3b8bSMika WesterbergContact:	thunderbolt-software@lists.01.org
59aaa3b8bSMika WesterbergDescription:	Holds a comma separated list of device unique_ids that
69aaa3b8bSMika Westerberg		are allowed to be connected automatically during system
79aaa3b8bSMika Westerberg		startup (e.g boot devices). The list always contains
89aaa3b8bSMika Westerberg		maximum supported number of unique_ids where unused
99aaa3b8bSMika Westerberg		entries are empty. This allows the userspace software
109aaa3b8bSMika Westerberg		to determine how many entries the controller supports.
119aaa3b8bSMika Westerberg		If there are multiple controllers, each controller has
129aaa3b8bSMika Westerberg		its own ACL list and size may be different between the
139aaa3b8bSMika Westerberg		controllers.
149aaa3b8bSMika Westerberg
159aaa3b8bSMika Westerberg		System BIOS may have an option "Preboot ACL" or similar
169aaa3b8bSMika Westerberg		that needs to be selected before this list is taken into
179aaa3b8bSMika Westerberg		consideration.
189aaa3b8bSMika Westerberg
199aaa3b8bSMika Westerberg		Software always updates a full list in each write.
209aaa3b8bSMika Westerberg
219aaa3b8bSMika Westerberg		If a device is authorized automatically during boot its
229aaa3b8bSMika Westerberg		boot attribute is set to 1.
239aaa3b8bSMika Westerberg
24dcc3c9e3SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
25dcc3c9e3SMika WesterbergDate:		Mar 2019
26dcc3c9e3SMika WesterbergKernelVersion:	4.21
27dcc3c9e3SMika WesterbergContact:	thunderbolt-software@lists.01.org
28dcc3c9e3SMika WesterbergDescription:	This attribute tells whether the system uses IOMMU
29dcc3c9e3SMika Westerberg		for DMA protection. Value of 1 means IOMMU is used 0 means
30dcc3c9e3SMika Westerberg		it is not (DMA protection is solely based on Thunderbolt
31dcc3c9e3SMika Westerberg		security levels).
32dcc3c9e3SMika Westerberg
33f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/security
34f67cf491SMika WesterbergDate:		Sep 2017
35f67cf491SMika WesterbergKernelVersion:	4.13
36f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
37f67cf491SMika WesterbergDescription:	This attribute holds current Thunderbolt security level
38f67cf491SMika Westerberg		set by the system BIOS. Possible values are:
39f67cf491SMika Westerberg
40f67cf491SMika Westerberg		none: All devices are automatically authorized
41f67cf491SMika Westerberg		user: Devices are only authorized based on writing
42f67cf491SMika Westerberg		      appropriate value to the authorized attribute
43f67cf491SMika Westerberg		secure: Require devices that support secure connect at
44f67cf491SMika Westerberg			minimum. User needs to authorize each device.
45f67cf491SMika Westerberg		dponly: Automatically tunnel Display port (and USB). No
46f67cf491SMika Westerberg			PCIe tunnels are created.
476fc14e1aSMika Westerberg		usbonly: Automatically tunnel USB controller of the
486fc14e1aSMika Westerberg			 connected Thunderbolt dock (and Display Port). All
496fc14e1aSMika Westerberg			 PCIe links downstream of the dock are removed.
50f67cf491SMika Westerberg
51f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../authorized
52f67cf491SMika WesterbergDate:		Sep 2017
53f67cf491SMika WesterbergKernelVersion:	4.13
54f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
55f67cf491SMika WesterbergDescription:	This attribute is used to authorize Thunderbolt devices
56f67cf491SMika Westerberg		after they have been connected. If the device is not
57f67cf491SMika Westerberg		authorized, no devices such as PCIe and Display port are
58f67cf491SMika Westerberg		available to the system.
59f67cf491SMika Westerberg
60f67cf491SMika Westerberg		Contents of this attribute will be 0 when the device is not
61f67cf491SMika Westerberg		yet authorized.
62f67cf491SMika Westerberg
63f67cf491SMika Westerberg		Possible values are supported:
64f67cf491SMika Westerberg		1: The device will be authorized and connected
65f67cf491SMika Westerberg
66f67cf491SMika Westerberg		When key attribute contains 32 byte hex string the possible
67f67cf491SMika Westerberg		values are:
68f67cf491SMika Westerberg		1: The 32 byte hex string is added to the device NVM and
69f67cf491SMika Westerberg		   the device is authorized.
70f67cf491SMika Westerberg		2: Send a challenge based on the 32 byte hex string. If the
71f67cf491SMika Westerberg		   challenge response from device is valid, the device is
72f67cf491SMika Westerberg		   authorized. In case of failure errno will be ENOKEY if
73f67cf491SMika Westerberg		   the device did not contain a key at all, and
74f67cf491SMika Westerberg		   EKEYREJECTED if the challenge response did not match.
75f67cf491SMika Westerberg
7614862ee3SYehezkel BernatWhat: /sys/bus/thunderbolt/devices/.../boot
7714862ee3SYehezkel BernatDate:		Jun 2018
7814862ee3SYehezkel BernatKernelVersion:	4.17
7914862ee3SYehezkel BernatContact:	thunderbolt-software@lists.01.org
8014862ee3SYehezkel BernatDescription:	This attribute contains 1 if Thunderbolt device was already
8114862ee3SYehezkel Bernat		authorized on boot and 0 otherwise.
8214862ee3SYehezkel Bernat
83f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../key
84f67cf491SMika WesterbergDate:		Sep 2017
85f67cf491SMika WesterbergKernelVersion:	4.13
86f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
87f67cf491SMika WesterbergDescription:	When a devices supports Thunderbolt secure connect it will
88f67cf491SMika Westerberg		have this attribute. Writing 32 byte hex string changes
89f67cf491SMika Westerberg		authorization to use the secure connection method instead.
90e545f0d8SBernat, Yehezkel		Writing an empty string clears the key and regular connection
91e545f0d8SBernat, Yehezkel		method can be used again.
92f67cf491SMika Westerberg
93bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../device
94bfe778acSMika WesterbergDate:		Sep 2017
95bfe778acSMika WesterbergKernelVersion:	4.13
96bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
97bfe778acSMika WesterbergDescription:	This attribute contains id of this device extracted from
98bfe778acSMika Westerberg		the device DROM.
99bfe778acSMika Westerberg
10072ee3390SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../device_name
10172ee3390SMika WesterbergDate:		Sep 2017
10272ee3390SMika WesterbergKernelVersion:	4.13
10372ee3390SMika WesterbergContact:	thunderbolt-software@lists.01.org
10472ee3390SMika WesterbergDescription:	This attribute contains name of this device extracted from
10572ee3390SMika Westerberg		the device DROM.
10672ee3390SMika Westerberg
107bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../vendor
108bfe778acSMika WesterbergDate:		Sep 2017
109bfe778acSMika WesterbergKernelVersion:	4.13
110bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
111bfe778acSMika WesterbergDescription:	This attribute contains vendor id of this device extracted
112bfe778acSMika Westerberg		from the device DROM.
113bfe778acSMika Westerberg
11472ee3390SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../vendor_name
11572ee3390SMika WesterbergDate:		Sep 2017
11672ee3390SMika WesterbergKernelVersion:	4.13
11772ee3390SMika WesterbergContact:	thunderbolt-software@lists.01.org
11872ee3390SMika WesterbergDescription:	This attribute contains vendor name of this device extracted
11972ee3390SMika Westerberg		from the device DROM.
12072ee3390SMika Westerberg
121bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../unique_id
122bfe778acSMika WesterbergDate:		Sep 2017
123bfe778acSMika WesterbergKernelVersion:	4.13
124bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
125bfe778acSMika WesterbergDescription:	This attribute contains unique_id string of this device.
126bfe778acSMika Westerberg		This is either read from hardware registers (UUID on
127bfe778acSMika Westerberg		newer hardware) or based on UID from the device DROM.
128bfe778acSMika Westerberg		Can be used to uniquely identify particular device.
129e6b245ccSMika Westerberg
130e6b245ccSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../nvm_version
131e6b245ccSMika WesterbergDate:		Sep 2017
132e6b245ccSMika WesterbergKernelVersion:	4.13
133e6b245ccSMika WesterbergContact:	thunderbolt-software@lists.01.org
134e6b245ccSMika WesterbergDescription:	If the device has upgradeable firmware the version
135e6b245ccSMika Westerberg		number is available here. Format: %x.%x, major.minor.
136e6b245ccSMika Westerberg		If the device is in safe mode reading the file returns
137e6b245ccSMika Westerberg		-ENODATA instead as the NVM version is not available.
138e6b245ccSMika Westerberg
139e6b245ccSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
140e6b245ccSMika WesterbergDate:		Sep 2017
141e6b245ccSMika WesterbergKernelVersion:	4.13
142e6b245ccSMika WesterbergContact:	thunderbolt-software@lists.01.org
143e6b245ccSMika WesterbergDescription:	When new NVM image is written to the non-active NVM
144e6b245ccSMika Westerberg		area (through non_activeX NVMem device), the
145e6b245ccSMika Westerberg		authentication procedure is started by writing 1 to
146e6b245ccSMika Westerberg		this file. If everything goes well, the device is
147e6b245ccSMika Westerberg		restarted with the new NVM firmware. If the image
148e6b245ccSMika Westerberg		verification fails an error code is returned instead.
149e6b245ccSMika Westerberg
150e6b245ccSMika Westerberg		When read holds status of the last authentication
151e6b245ccSMika Westerberg		operation if an error occurred during the process. This
152e6b245ccSMika Westerberg		is directly the status value from the DMA configuration
153e6b245ccSMika Westerberg		based mailbox before the device is power cycled. Writing
154e6b245ccSMika Westerberg		0 here clears the status.
155d1ff7024SMika Westerberg
156d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
157d1ff7024SMika WesterbergDate:		Jan 2018
158d1ff7024SMika WesterbergKernelVersion:	4.15
159d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
160d1ff7024SMika WesterbergDescription:	This contains name of the property directory the XDomain
161d1ff7024SMika Westerberg		service exposes. This entry describes the protocol in
162d1ff7024SMika Westerberg		question. Following directories are already reserved by
163d1ff7024SMika Westerberg		the Apple XDomain specification:
164d1ff7024SMika Westerberg
165d1ff7024SMika Westerberg		network:  IP/ethernet over Thunderbolt
166d1ff7024SMika Westerberg		targetdm: Target disk mode protocol over Thunderbolt
167d1ff7024SMika Westerberg		extdisp:  External display mode protocol over Thunderbolt
168d1ff7024SMika Westerberg
169d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
170d1ff7024SMika WesterbergDate:		Jan 2018
171d1ff7024SMika WesterbergKernelVersion:	4.15
172d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
173d1ff7024SMika WesterbergDescription:	Stores the same MODALIAS value emitted by uevent for
174d1ff7024SMika Westerberg		the XDomain service. Format: tbtsvc:kSpNvNrN
175d1ff7024SMika Westerberg
176d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
177d1ff7024SMika WesterbergDate:		Jan 2018
178d1ff7024SMika WesterbergKernelVersion:	4.15
179d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
180d1ff7024SMika WesterbergDescription:	This contains XDomain protocol identifier the XDomain
181d1ff7024SMika Westerberg		service supports.
182d1ff7024SMika Westerberg
183d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
184d1ff7024SMika WesterbergDate:		Jan 2018
185d1ff7024SMika WesterbergKernelVersion:	4.15
186d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
187d1ff7024SMika WesterbergDescription:	This contains XDomain protocol version the XDomain
188d1ff7024SMika Westerberg		service supports.
189d1ff7024SMika Westerberg
190d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
191d1ff7024SMika WesterbergDate:		Jan 2018
192d1ff7024SMika WesterbergKernelVersion:	4.15
193d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
194d1ff7024SMika WesterbergDescription:	This contains XDomain software version the XDomain
195d1ff7024SMika Westerberg		service supports.
196d1ff7024SMika Westerberg
197d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
198d1ff7024SMika WesterbergDate:		Jan 2018
199d1ff7024SMika WesterbergKernelVersion:	4.15
200d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
201d1ff7024SMika WesterbergDescription:	This contains XDomain service specific settings as
202d1ff7024SMika Westerberg		bitmask. Format: %x
203