Initial import.

Bug: 284386483
Test: atest smccc_test_src_lib
Change-Id: I3ac6d3d27cf396864dc00c845b135f447e6933a2
27 files changed
tree: 87fa9cb85f2b085c42aa0598ddfa0ac75b1c8a18
  1. .github/
  2. patches/
  3. src/
  4. .cargo_vcs_info.json
  5. .gitignore
  6. Android.bp
  7. AUTHORS
  8. Cargo.toml
  9. Cargo.toml.orig
  10. cargo2android.json
  11. CHANGELOG.md
  12. CONTRIBUTING.md
  13. LICENSE
  14. LICENSE-APACHE
  15. LICENSE-MIT
  16. METADATA
  17. MODULE_LICENSE_APACHE2
  18. OWNERS
  19. README.md
  20. rust-toolchain.toml
README.md

SMCCC and PSCI functions for bare-metal Rust on aarch64

crates.io page docs.rs page

This crate provides support for the Arm SMC Calling Convention version 1.4, including standard Arm Architecture Calls constants, and version 1.1 of the Arm Power State Coordination Interface (PSCI). It includes constants, functions to make the calls (on aarch64 targets), and error types.

Note that the PSCI and SMCCC arch calls may be made via either HVC or SMC. You can choose which one to use by passing either Hvc or Smc as a type parameter to the relevant function.

This crate currently only supports aarch64 and the SMC64 versions of the PSCI calls, in the cases that both SMC32 and SMC64 versions exist.

This is not an officially supported Google product.

License

Licensed under either of

at your option.

Contributing

If you want to contribute to the project, see details of how we accept contributions.