# aarch64-std aarch64-std implements components from the Rust standard library in a way suitable for `no_std` or bare metal ARM applications. ## Design Goals In order: 1. Run on any aarch64 platform at EL0. Anything from microcontrollers to Zynq UltraScale+ MPSoCs to M1 Macs should just work. 2. Mimic the standard library APIs as closely as possible. For the most part these modules are drop-in replacements for the standard library. 3. Perform as efficiently as possible. ## Highlights - `sync` - `Mutex` - `thread` - `sleep` - `spawn` - Uses cooperative green threads. - As many cores as you'd like can participate using `thread::contribute`. - Threads yield via the standard `thread::yield_now` function. - `time` - `Instant` ## Cargo Features - "alloc" enables functionality which requires the use of the [alloc](https://doc.rust-lang.org/alloc/index.html) crate. It's enabled by default, but may be disabled if you don't have an allocator available.