aboutsummaryrefslogtreecommitdiff
path: root/asm/inline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'asm/inline.rs')
-rw-r--r--asm/inline.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/asm/inline.rs b/asm/inline.rs
index 3fbba92..9a0c66e 100644
--- a/asm/inline.rs
+++ b/asm/inline.rs
@@ -308,6 +308,23 @@ mod v8m {
asm!("ttat {target}, {target}", target = inout(reg) target);
target
}
+
+ #[inline(always)]
+ pub unsafe fn __msp_ns_r() -> u32 {
+ let r;
+ asm!("mrs {}, MSP_NS", out(reg) r);
+ r
+ }
+
+ #[inline(always)]
+ pub unsafe fn __msp_ns_w(val: u32) {
+ asm!("msr MSP_NS, {}", in(reg) val);
+ }
+
+ #[inline(always)]
+ pub unsafe fn __bxns(val: u32) {
+ asm!("BXNS {}", in(reg) val);
+ }
}
#[cfg(armv8m_main)]