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 <>.

John Baldwin, 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:

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]
> [3] 
> [4] 
> [5] And not 40gbps as common marketing makes it sound like.
> [6]
> = marketing mumbo jumbo.
> [7]
> [8]

  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