From d01bdda2fd40728810c2a989b248dd4f5d369a7b Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Mon, 31 Aug 2020 23:19:01 +0200 Subject: Add __syscall assembly --- asm/inline.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'asm/inline.rs') diff --git a/asm/inline.rs b/asm/inline.rs index 9a0c66e..688604e 100644 --- a/asm/inline.rs +++ b/asm/inline.rs @@ -175,6 +175,13 @@ pub unsafe fn __wfi() { asm!("wfi"); } +/// Semihosting syscall. +#[inline(always)] +pub unsafe fn __syscall(mut nr: u32, arg: u32) -> u32 { + asm!("bkpt #0xab", inout("r0") nr, in("r1") arg); + nr +} + // v7m *AND* v8m.main, but *NOT* v8m.base #[cfg(any(armv7m, armv8m_main))] pub use self::v7m::*; -- cgit v1.2.3