Deciphering the Messages of Apple’s T2 Coprocessor
duo.com
duo.com
why is that silly? It's be easy to migrate the services away from shared memory architecture when required, and http is well known and easy to use and debug.
The real question is why don't more rpc style protocols just use http?
Apple’s use of the HTTP/2 protocol is also irregular for two other reasons. First, the HTTP/2 specification mandates that stream IDs must be created in a monotonically increasing order. However, Apple’s application endpoints appear to hardcode a handful of particular stream IDs for certain communications, which when opened do not conform to this monotonic ordering requirement. Second, client-server communication patterns often use multiple streams in unusual ways. For instance, heartbeat messages send requests over stream 1 and responses on stream 3."
https://justi.cz/security/2019/01/22/apt-rce.html
> Unfortunately, the HTTP fetcher process URL-decodes the HTTP Location header and blindly appends it to the 103 Redirect response:
It looks like this might be the directory the completed sysdiagnose is saved to? I don't have a Mac with a Touch Bar to test this, so I'm guessing this based on analysis of /usr/bin/sysdiagose pulled from a BridgeOS firmware.
Here's how it would work: macOS already works with more than one CPU core. What if several of those cores just happen to be for a different architecture? When an app is launched, it would read the executable's header and schedule the app to run on the appropriate CPU. Things like producing sound, drawing to the screen, or getting user input is all done via the OS anyways; it doesn't really matter what architecture the app or OS is on, thing would just get translated, like how communication is being shipped over the bus with this protocol.
To me, it seems like the T2 chip is the real processor of newer Macs and the x86 chip is just some co-processor that the T2 chip offloads a bunch of work to. The T2 controls many of the internal components already and the x86 chip must interact with the T2 chip to interact with said components (e.g. booting, webcam, audio, SSD, etc). It will be interesting to see if this is the route that Apple takes with a supposed ARM transition.