Joseph Mayer wrote this message on Sat, Mar 21, 2020 at 02:57 +0000:
> Thunderbolt support would be awesome. Especially it would allow the use
> of additional M.2 NVMe SSD:s on a laptop at full performance.
> 
> Thunderbolt support would also allow the use of an AMDGPU via a PCIe
> chassi, as well as enable the use of 10gbps Ethernet on laptops [1].
> 
> 
> While I like to use Thunderbolt for this pragmatic reason, also Intel
> apparently promises license etc. generosity to computer makers, which
> certainly does not hurt. [2]
> 
> 
> FreeBSD has Thunderbolt support. It appears to me that they call it
> "PCIe Hot plug". [3]

>From my understanding, Thunderbolt is different from PCIe Hot Plug...

PCIe the spec itself has hot plug capabilities, and this is what is
used for laptops w/ ExpressCards and some servers...

Thunderbolt from my understanding is more complicated due to
display routing and other related features and FreeBSD does NOT
yet have support for it.

> It was implemented 2015 by John-Mark Gurney <j...@freebsd.org>.

John Baldwin, j...@freebsd.org ended up implementing it differently
and not using the code I had written, so he is probably a better
person to ask on the current state of the code..

This was done via:
https://reviews.freebsd.org/D6136?id=15683

I have heard that there may be a proper ThunderBolt support coming
to FreeBSD in the near future, but not sure exactly when...

> Not sure if a TB device must be attached on boot and cannot be
> detached, anyhow if that is the case then still totally fine.

The devctl command can detach a device.  This allows ejecting
devices w/o crashing the system for removal, or allowing you to detach
a device and pass it through to a bhyve vm, etc.  Not all drivers are
written to allow detaching...

> NetBSD appears to have support also but I don't find details.
> 
> Security-wise Thunderbolt without IOMMU is correlated with physical
> break-in attack vectors, anyhow that is commonly fine. [4]

>From my understanding, all PCIe switches have a built in IOMMU, so
this shouldn't be a major security issue.  I have not done indepth
analysis to verify this though.  and this also depends upon the
PCIe switch not having bugs...

There is a relatively inexpensive USB3 to PCIe bridge that lets you
issue arbitrary PCIe commands that could be used to verify the security
of implementations...

> One Thunderbolt 3 controller provides 22gbps of PCIe data bandwidth to
> all the one or two Thunderbolt ports it exports, which is fine. [5]
> Many Thunderbolt devices allow daisy chaining. An "eGFX" certified [6]
> Thunderbolt PCIe chassi (such as [7]) has absolutely no performance
> advantage over a normal Thunderbolt PCIe chassi (such as [8]),
> including for eGPU (e.g. AMDGPU) use.

Good luck!

> [1] The lowest cost and most common 10gbps Ethernet Thunderbolt chip
> is Aquantia AQC107S. There are also some adapters based on a normal
> PCIe 10gbps chip and a separate Thunderbolt to PCIe controller.
> 
> [2] https://www.theregister.co.uk/2017/05/24/intel_thunderbolt_3forall/
> 
> [3] 
> https://www.freebsd.org/news/status/report-2015-01-2015-03.html#Adding-PCIe-Hot-plug-Support
> https://www.freebsd.org/news/status/report-2015-07-2015-09.html#Adding-PCIe-Hot-plug-Support
> 
> [4] 
> https://www.osnews.com/story/129501/thunderbolt-enables-severe-security-threats/
> 
> [5] And not 40gbps as common marketing makes it sound like.
> 
> [6] https://thunderbolttechnology.net/egfx
> https://thunderbolttechnology.net/blog/the-difference-between-egfx-and-egpu
> = marketing mumbo jumbo.
> 
> [7] https://www.asus.com/Graphics-Cards-Accessories/XG-STATION-PRO/
> 
> [8] https://www.akitio.com/expansion/node-pro

-- 
  John-Mark Gurney                              Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."

Reply via email to