AARCHMRS dataset for AArch64 instruction synthesis in Rust

Arm Limited, the company behind the ARM architecture, publishes AARCHMRS dataset – “Arm Architecture Machine Readable Specification”, a detailed description of an ARM processor as a set of JSON files. Today I published a set of crates: aarchmrs-parser: a set of definitions that allows parsing the AARCHMRS dataset, but only instructions description file. aarchmrs-instructions: a set of functions derived from the AARCHMRS that allow you to build instruction codes. aarchmrs-types: a helper crate with useful types for aarchmrs-instructions, which now contains only generated code. The license is the same as the original dataset: BSD-3-Clause. ...

July 29, 2025

Rust Coroutines on AArch64 (ARM64)

The amazing book Asynchronous Programming in Rust by Carl Fredrik Samson has a chapter on implementing stackful coroutines (fibers) in Rust for x86_64 architecture, both Linux and MacOS. But unlike the other chapters, no AArch64 implementation was included for the sake of simplicity. I tried to port it to AArch64, and this post describes my approach. This text is just an additional material for the book. I presume you are familiar either with it or with the original code at ch05/c-fibers. ...

May 20, 2025