README.md
1# SMCCC and PSCI functions for bare-metal Rust on aarch64
2
3[](https://crates.io/crates/psci)
4[](https://docs.rs/psci)
5
6This crate provides support for the Arm SMC Calling Convention version 1.4, including standard Arm
7Architecture Calls constants, and version 1.1 of the Arm Power State Coordination Interface (PSCI).
8It includes constants, functions to make the calls (on aarch64 targets), and error types.
9
10Note that PSCI and other SMCCC calls may be made via either HVC or SMC. You can choose which one to
11use by building this crate with the corresponding feature (i.e. `hvc` or `smc`). By default `hvc` is
12enabled. If neither feature is enabled then the functions to make calls will not be available, but
13the constants are still provided.
14
15This crate currently only supports aarch64 and the SMC64 versions of the various calls, in the cases
16that both SMC32 and SMC64 versions exist.
17
18This is not an officially supported Google product.
19
20## License
21
22Licensed under either of
23
24- Apache License, Version 2.0
25 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
26- MIT license
27 ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
28
29at your option.
30
31## Contributing
32
33If you want to contribute to the project, see details of
34[how we accept contributions](CONTRIBUTING.md).
35