aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2020-03-14 15:27:28 +0000
committerGravatar GitHub <noreply@github.com> 2020-03-14 15:27:28 +0000
commit1cb6baf8bd46b602c01d51e7a3c5c6e77af9c8f2 (patch)
treeebe6d29b0f9f9ad2ffde71db0e8e71c27ddc9bf2 /src/lib.rs
parent72befe4c163e59393789d3043afe1e67a7fc0044 (diff)
parent2433d85190dad9e4cbaa4086eba796ab59bf0adb (diff)
downloadcortex-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.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index f8b5606..276551c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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;