Sign in

Michael Reeves

@integralpilot.bsky.social
450 followers 4 following 30 posts

Teenage security researcher & systems developer. Discovered CVE-2025-43539, author of rustc_codegen_jvm, working on Apple M3 Linux drivers. github.com/IntegralPilot 🇦🇺

PostsRepliesMedia
Michael Reeves @integralpilot.bsky.social · 24/09/2026
6/6 Here's the code: github.com/IntegralPilo... The core changes described here are in the "apple-t8122" branch, while some hacks I needed to get the framebuffer to work for the nice demo are in the "rest" branch. This was a really fun side project to work on! Happy to answer any questions.
github.com
GitHub - IntegralPilot/fuchsia: Experimental Apple T8122 bringup for Fuchsia
Experimental Apple T8122 bringup for Fuchsia. Contribute to IntegralPilot/fuchsia development by creating an account on GitHub.
020
Michael Reeves @integralpilot.bsky.social · 24/09/2026
5/6 Finally, a driver had to be made for Apple's S5L UART. As fully talking to the USB controllers would be too much for this side project, I left m1n1 as hypervisor in EL2, and within EL1 Fuchsia talks to a virtualised Apple S5L UART which m1n1 sets up.
120
Michael Reeves @integralpilot.bsky.social · 24/09/2026
4/6 Another quirk with Apple's interrupts is that they route architectural timers and IPIs as FIQs instead of IRQs! I had to modify Zircon’s exception tables and interrupt masking to touch the F bit in DAIF and hook platform_fiq to use Apple's custom sysreg (S3_5_c15_c1_1)
110
Michael Reeves @integralpilot.bsky.social · 24/09/2026
3/6 One of the unique things about Apple's hardware is that they don't use the normal ARM interrupt controller (GIC). They have a custom interrupt controller, called the AIC. It needed a fully custom driver, and an increase to the Zircon MAX_INTERRUPTS, because M3 has 1,600!
110
Michael Reeves @integralpilot.bsky.social · 24/09/2026
2/6 For Asahi, we have a custom bootloader and hypervisor called m1n1. It can boot things using the ARM64 Linux Boot Protocol. Luckily, Fuchsia has a "boot shim" that can enable it to be started this way. But then, we have to teach Zircon about Apple's custom hardware.
110
Michael Reeves @integralpilot.bsky.social · 24/09/2026
Pink + Purple == Apple? 🌸🍎 Got Google's Fuchsia OS booting on an Apple M3 MacBook, through to userspace! Apple's interrupt controller (AIC), timer, and m1n1 virtual UART are working on native hardware. Here's how it works:
1152
Michael Reeves @integralpilot.bsky.social · 06/09/2026
Update: It’s officially out! 🚀 You can now install Linux on Apple M3 yourself! So excited we've finally been able to release it. More details in my post here: bsky.app/profile/inte...
080
Michael Reeves @integralpilot.bsky.social · 06/09/2026
Install today with: curl -L alx.sh | EXPERT=1 sh Let me know if there's anything we can do better!
080
Michael Reeves @integralpilot.bsky.social · 06/09/2026
You can now install Linux on Apple M3 MacBooks! 🐧 We've got USB, Audio, WiFi, and more working, but not the GPU yet. Instructions to install in the reply. It was so fun to help make this happen, and credits to the rest of the team too! Let me know how you find it!
1232
Michael Reeves @integralpilot.bsky.social · 30/06/2026
Raw data here! Note that this is JMH results, and real-world stats may vary. Link to the patch here: github.com/openjdk/jdk/... I recommend anyone reading this to get involved in OpenJDK, it is a really nice and welcoming community! You can learn more here: openjdk.org/guide/
github.com
8379327: 128-bit multiplication uses two multiply instructions on x86_64 by IntegralPilot · Pull Request #30174 · openjdk/jdk
Introduces MulHiLoL and UMulHiLoL nodes to fuse 64-bit high and low multiply operations. During final_graph_reshaping, C2 now detects matching MulHiL/UMulHiL and MulL pairs and subsumes them into t...
120
Michael Reeves @integralpilot.bsky.social · 30/06/2026
Just got my first performance patch merged into OpenJDK. ☕ It fuses separate multiply instructions on x86_64, yielding a ~1.85x speedup for 128-bit multiplication on the JVM. Big thanks to the reviewers who helped guide this through!
A bar chart demonstrating:
For signed 128-bit mul: 1676.59 ns before vs 906.44 ns after
For unsigned 128-bit mul: 1675.90 ns before vs 901.73 ns after
190
Michael Reeves @integralpilot.bsky.social · 01/06/2026
In my repo, there's also a lot of other test cases verifying generics, ADTs and even real-world use cases like RSA encryption. Check it out here, and I'd really love if you could give it a star! github.com/IntegralPilo...
github.com
GitHub - IntegralPilot/rustc_codegen_jvm: Toolchain to create JVM-ready Java bytecode from Rust MIR.
Toolchain to create JVM-ready Java bytecode from Rust MIR. - IntegralPilot/rustc_codegen_jvm
050
Michael Reeves @integralpilot.bsky.social · 01/06/2026
You can now run unsafe Rust code... on the JVM! I just shipped support for some basic unions (consisting of primitives and structs) to my project, rustc_codegen_jvm. Here's the test case that passes on CI JVM. Recently I also added support for function pointers and modules!
A main function of a rust program that uses a union and unsafe code.
191
Michael Reeves @integralpilot.bsky.social · 19/05/2026
4/4 The trip was a cool experience! It was cool to see FPGAs in the wild in Waymo's autonomous fleet, and I was SUPER surprised by how smooth and futuristic they were. Hopefully they can come to Australia soon! And I had a lot of fun meeting new friends across so many different disciplines of STEM.
010
Michael Reeves @integralpilot.bsky.social · 19/05/2026
3/4 My FPGA resulted in a 8.6x improvement in performance per Watt compared to the RTX 3080 and involved a custom system architecture I designed, including a WebSerial (over USB-UART) dashboard to enable easy use and custom Rust-based firmware running on the Arm cores.
120
Michael Reeves @integralpilot.bsky.social · 19/05/2026
2/4 My FPGA project accelerated Cryo-EM, which won a Nobel prize in 2017 but is currently bottlenecked by Nvidia GPUs. I implemented a custom FPGA pipeline using a mix of VHDL and HLS C++, and took some inspiration from Apple Unified Memory and Systolic Arrays in Google TPUs
110
Michael Reeves @integralpilot.bsky.social · 19/05/2026
🧵Can electronics help with biological breakthroughs? I presented my Cryo-EM FPGA hardware accelerator project at #RegeneronISEF 2026 in Phoenix! It was such an awesome experience to meet so many like-minded students. I was honoured to come 2nd place in my category and get some special awards too.
130
Michael Reeves @integralpilot.bsky.social · 18/02/2026
Awesome Asahi progress update just posted by James, if you'd like to see what we've been up to recently! GPU stuff is SO fun and happy to answer any questions about it or anything M3. :) asahilinux.org/2026/02/prog...
asahilinux.org
Progress Report: Linux 6.19 - Asahi Linux
Porting Linux to Apple Silicon
1212
Michael Reeves @integralpilot.bsky.social · 27/01/2026
*M3 Apple Silicon
120
Michael Reeves @integralpilot.bsky.social · 27/01/2026
Linux is a free and open source operating system that is fully customisable and openly developed by a community. This does some of the work towards letting people who would like to run Linux on their Apple Silicon Mac devices do so!
100
Michael Reeves @integralpilot.bsky.social · 27/01/2026
Some of the work carries over to help M4 bring up, which someone else really awesome is working on! I believe they currently have Alpine Linux running with some early features like SMP (talking to other CPU cores) and putting the CPU in idle working.
030
Michael Reeves @integralpilot.bsky.social · 27/01/2026
Oh and internal NVMe
040
Michael Reeves @integralpilot.bsky.social · 27/01/2026
I'm actually really interested in GPU work, but we needed to do this early bring-up first. Currently I'm doing an early look into the GPU right now. :)
010
Michael Reeves @integralpilot.bsky.social · 27/01/2026
Internal display (though just a frame buffer, not DCP features yet), trackpad and keyboard are working, so not fully yet but enough to run a pretty functional OS. noopwafel actually just got WiFI working which is great! :)
250
Michael Reeves @integralpilot.bsky.social · 27/01/2026
Yes, should have clarified in the original post sorry! Hopefully GPU to come soon, still investigating that. I believed they changed the ISA so we have to modify our compiler, and I love compilers, so it should be fun! :)
1121
Michael Reeves @integralpilot.bsky.social · 26/01/2026
On Apple M3, a Linux KDE plasma desktop under Fedora Asahi Remix is now WORKING! Super excited to share this update and happy to answer any questions! Co-credits to noopwafel and Shiz. :)
1641969
Michael Reeves @integralpilot.bsky.social · 06/01/2026
Just sent the Apple Silicon Power Supply driver I've been working hard on improving the last few days upstream to the main linux kernel, adding support for reading info about AC adapters and batteries, and modifying charge behaviour. Next upstreaming project is MTP! lore.kernel.org/asahi/202601...
lore.kernel.org
Making sure you're not a bot!
1150
Michael Reeves @integralpilot.bsky.social · 01/01/2026
It's just a CPU-rendered framebuffer, so not yet.
000
Michael Reeves @integralpilot.bsky.social · 01/01/2026
Thanks so much! :)
010
Michael Reeves @integralpilot.bsky.social · 29/12/2025
Playing DOOM on Apple M3 under Linux. Have been working hard over the last month on Linux bringup for the M3 Mac line, currently working on SMC drivers. Making this Bluesky to share updates about my progress!
The menu page of the game "Doom" loaded on an Apple M3 Mac under Linux.The bootup logs, including 11 tuxes at the top, of Linux on an Apple M3 Pro chipset.
3281