Hacker News new | ask | show | jobs
by devonnulled 4261 days ago
Thunderbolt hotplug is supposed to be handled by the firmware. But Apple decided to implement thunderbolt at the operating system level. The firmare only initializes thunderbolt devices that are present at boot time. This driver enables hotplug of thunderbolt of non-chained thunderbolt devices on Apple systems with a cactus ridge controller. This first patch adds the Kconfig file as well the parts of the driver which talk directly to the hardware (that is pci device setup, interrupt handling and RX/TX ring management).

Finally. Been waiting a while for this. The fact that Apple designed the hotplugging at the OS-level infuriated me for the longest time.

2 comments

It seems like a legitimate tradeoff; implementing hotplugging at the OS-level gives you DR capability and far more control over the process. I'm not saying they made the right decision, just saying that it appears to be a legitimate one. Obviously the disadvantage is that hot-plugging doesn't work in other operating systems when run on Apple hardware, but obviously that's not Apple's focus or interest.

Intel was willing to certify Apple's devices, so clearly the specification doesn't actually require hot-plugging to be implemented in firmware. So I wonder what the author bases that assertion on.

> Obviously the disadvantage is that hot-plugging doesn't work in other operating systems when run on Apple hardware, but obviously that's not Apple's focus or interest.

Ah dang! I have an official Thunderbolt to Ethernet adapter on my MacBook Pro that won't be detected in windows 8.1 running in bootcamp* unless I reboot. And now I know why.

* The next Visual Studio looks NICE in high dpi.

Maybe Intel just fudged the certification requirements for Apple?
> The fact that Apple designed the hotplugging at the OS-level infuriated me for the longest time.

On the flip side, if there's an issue with the protocol, it can be easily fixed with an OS update. Consider that in contrast with the recent USB security hoopla.

You do realize that Thunderbolt has direct memory access right? It doesn't even need drivers to do malicious actions. It can dump and modify memory at will.

In fact all the USB security hoopla also affects Thunderbolt devices, which can also be reflashed without physically modification.

Thunderbolt is even less secure than firewire, which at least required some support from the OS to dump memory.

USB is an iron fortress compared to those kinds of attacks.