M1 Reverse Engineering Document Published for Research

M1 Features

Maynard Handley, one of the developers of Apple’s QuickTime, has published a 350-page PDF about his work in reverse engineering the Mac M1 chip.

The Secret Life of M1

Much work has been done to reverse engineer Apple’s custom silicon, such as researchers trying to bring Asahi Linux on M1 Macs. Mr. Handley says this PDF is a preliminary version and that more work needs to be done for the L1 cache.

To run the experiments you will need a test setup. I used the one created by Dougall Johnson here
https://gist.github.com/dougallj/5bafb113492047c865c0c8cfbc930155, and
https://gist.github.com/dougallj/c9976a52d592af24960ea7989cf652b1.

Dougall is the true hero of all this M1 investigation, doing the hard work of creating a useful test har-
ness, especially all the low-level OS nonsense required to create JIT’able pages, set up the CPU coun-
ters, and so on, along with a python script to convert lines of ARMv8 assembly into machine code

(required to make any interesting modifications to the tests).
Dougall also created the M1 instruction cycle counts web page at https://dougallj.github.io/applecpu/-
firestorm-int.html, and it’s worth reading his investigations into the M1 at https://dougallj.wordpress.-
com/author/dougallj/.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.