Sven Peter
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him
header picture by @yawnbox
Posts
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
They are a mess in .de as well
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
This is reason why supporting that entire thing is so complicated: All the various components have to interact with each other and on x86 machines that's mostly abstracted away by firmware running on the router. Here, we don't get that luxury and have to implement all the management ourselves.
That also means the first Thunderbolt series will be very boring for end-user: It'll just be the Host Router and the NHI such that tunnels can be established. They will be useless though before we then later implement the protocol adapters.
(2/2)
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
I blame @vbabka, @ljs and @neal for luring me there :D
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
macOS briefly bringing up dwc3 and tearing it down again with no device connected was just a red herring, no idea why that happens.
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
I've also just pushed my slides to https://github.com/svenpeter42/39c3 and uploaded them as PDF to https://cfp.cccv.de/39c3/talk/YGHB9K/
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
It's last big piece of code I wrote that's only been in our downstream trees though. Once this is upstream, I can finally focus on new features :-)
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
https://lore.kernel.org/asahi/20251026-b4-atcphy-v1-0-f81b1225f9c6@kernel.org/
#asahilinux #linux
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
This is another example why sending these patches that we have upstream is so important: The feedback I got from the dwc3 maintainer Thinh made the code much nicer and we don’t have to worry about unrelated changes in dwc3 breaking Apple Silicon support with the new approach he suggested now. It also helped me figure out where SUSPHY is actually required and made the PIPE handler dance much more stable. This will also simplify the atcphy code a little bit.
#asahilinux
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
After this, only the PHY itself is missing which I'll send next.
#asahilinux
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
small details here and there I guess
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
This series is just the first step required for both.
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
https://lore.kernel.org/all/20250906-atcphy-6-17-v2-0-52c348623ef6@kernel.org/
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
There’s also a stateful eUSB2 (low voltage USB2 for modern SoCs) to USB2 converter on the board that also messes things up.
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
This also includes some initial work for DisplayPort-altmode and USB4/Thunderbolt but both will require much more work after this is upstream, so don't get your hopes up just yet.
https://lore.kernel.org/asahi/20250821-atcphy-6-17-v1-0-172beda182b8@kernel.org/
#asahilinux #linux
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
forward/reverse engineer • porting Linux to Apple Silicon (AsahiLinux) • former console hacker (Homebrew Channel, BootMii, WiiU and PS3) • part of fail0verflow • he/him header picture by @yawnbox
When configuring a macho boot object we now get dropped into an environment where Apple’s SPTM is running in GL2 and we are supposed to talk to it from EL2 with MMU already enabled to setup pagetables. This neither works for Linux nor for running XNU under our hypervisor to reverse engineer the new hardware.
When configuring a raw boot object we’re dropped into EL2 with GL2 and most (all?) Apple specific extensions disabled. This is totally fine for Linux but we can’t run XNU under our hypervisor that we use to reverse engineer the hardware in this state. This also seems to be broken for >=15.2 right now because it probably isn’t very well tested 😕