# Rust ARMv8 (aarch64/aarch32) Rust library to program ARMv8-A hardware. It provides access and construction functions for ARMv8 hardware-defined state and data structures. ## Acknowledgements The library closely follows the structure of [rust-x86](https://github.com/gz/rust-x86), and borrows some of its code. ## Supports * architectural registers (generated from arm xml spec) * paging definitions (4k granule) ## Todo's * AArch32 support * Paging granules 16k and 64k ## Register Binding Generation To generate/update the Rust register bindings execute: ``` $ bash tools/generate-register-bindings.sh ``` Dependencies for the Rust register binding generations: ``` # apt-get install python3-plumbum ```