Rust-based aarch64 JIT Emulator: A 'Hello, World!' Story
2025-08-30
The author built an aarch64 instruction set architecture emulator using Rust and Cranelift's JIT compiler. The article details the journey from virtual machine instructions to native code execution, covering instruction decoding, JIT translation, memory management, and device emulation. A PL011 UART simulation was implemented, and gdbstub enables debugging. The emulator currently runs simple bare-metal programs, with future goals including Linux boot support. Further development will focus on exception handling, timer support, MMU implementation, and an interrupt controller.
Development