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