Status update: m1n1 is up, AIC and timers working!
Added 2021-01-17 16:07:51 +0000 UTCA lot of things have happened over the past week!
As you may know, Apple released macOS 11.2 beta 2 just a few days ago. This version finally includes the kmutil update that we were expecting that allows users to boot their own kernels, which means that software testing and development can now begin in earnest.
And so, I have started work on m1n1, a bootloader and experimentation platform for Apple Silicon. We will use this both for booting Linux (at least initially; long-term plans may change), and for reverse engineering and testing our theories about how the hardware functions. m1n1 works together with a serial interface and a client running on a PC, to allow us to run Python scripts to very quickly experiment with the hardware. This makes the hardware reverse engineering process very fast and efficient.
Just yesterday, I spent a bunch of time reverse engineering AIC, Apple's interrupt controller, as well as how timers work on the M1. This knowledge should be sufficient for very basic Linux kernel bring-up.
I'm doing live dev streams on my YouTube channel, so please check them out if you're interested and subscribe/enable notifications if you want to get notified when they happen!
Look forward to things moving very quickly in the coming weeks :)
Comments
Fantastic! This is exciting work
2021-01-20 00:47:38 +0000 UTCVery cool! Thanks for explaining that!
hpux735
2021-01-17 16:34:13 +0000 UTCI am open to working with them, but I cannot directly incorporate their code myself as that would go against our reverse engineering and copyright policy (asahilinux.org/copyright), and judging by their year-old port to the A7 they do not work on an "upstream first" basis like we do. If they clean up their code to upstream standards and submit it I will be happy to help review it and build on it :)
Hector Martin
2021-01-17 16:32:55 +0000 UTCThanks for doing the work streams. I am really enjoying them. Also thanks for handling the recent “drama” with such professionalism. It really shows why you are the right lead for this project.
Mark Krueger
2021-01-17 16:15:13 +0000 UTCExcited to see Linux running! Also been enjoying your streams lately!
2021-01-17 16:15:12 +0000 UTCWhat do you think about the Corellium announcement?
hpux735
2021-01-17 16:12:02 +0000 UTC