diff options
author | 2020-03-14 15:27:28 +0000 | |
---|---|---|
committer | 2020-03-14 15:27:28 +0000 | |
commit | 1cb6baf8bd46b602c01d51e7a3c5c6e77af9c8f2 (patch) | |
tree | ebe6d29b0f9f9ad2ffde71db0e8e71c27ddc9bf2 /src/lib.rs | |
parent | 72befe4c163e59393789d3043afe1e67a7fc0044 (diff) | |
parent | 2433d85190dad9e4cbaa4086eba796ab59bf0adb (diff) | |
download | cortex-m-1cb6baf8bd46b602c01d51e7a3c5c6e77af9c8f2.tar.gz cortex-m-1cb6baf8bd46b602c01d51e7a3c5c6e77af9c8f2.tar.zst cortex-m-1cb6baf8bd46b602c01d51e7a3c5c6e77af9c8f2.zip |
Merge #189
189: Initial Rust CMSE support r=thejpster a=hug-dev
Armv8-M and Armv8.1-M architecture profiles have an optional Security Extension which provides a set of Security features.
This patch adds initial support of the Cortex-M Security Extensions but providing support for the TT intrinsics and helper functions on top of it in the newly added `cmse` module of this crate.
The code is a Rust idiomatic implementation of the C requirements described in this document: https://developer.arm.com/docs/ecm0359818/latest
Executed `assemble.sh` to generate the new static libraries containing the `TT*` instructions. Tested `check_blobs.sh` locally and it passed.
Tested on QEMU using the `mps2-an505` machine.
Co-authored-by: Hugues de Valon <hugues.devalon@arm.com>
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -34,6 +34,8 @@ #![no_std] #![allow(clippy::identity_op)] #![allow(clippy::missing_safety_doc)] +// Prevent clippy from complaining about empty match expression that are used for cfg gating. +#![allow(clippy::match_single_binding)] // This makes clippy warn about public functions which are not #[inline]. // @@ -57,6 +59,8 @@ extern crate volatile_register; mod macros; pub mod asm; +#[cfg(armv8m)] +pub mod cmse; pub mod interrupt; #[cfg(not(armv6m))] pub mod itm; |