//! CPU/peripheral support for Arm Cortex-R
#![no_std]modcritical_section;#[cfg(any(doc, target_arch ="arm"))]pubmodasm;pubmodcache;pubmodinterrupt;pubmodmmu;pubmodregister;#[cfg(any(test, doc, arm_architecture ="v7-r"))]pubmodpmsav7;#[cfg(any(test, doc, arm_architecture ="v8-r"))]pubmodgeneric_timer;#[cfg(any(test, doc, arm_architecture ="v8-r"))]pubmodpmsav8;/// Generate an SVC call with the given argument.
////// Safe to call even in Supervisor (SupervisorCall) mode, as long as your Svc handler
/// saves and restores SPSR_svc correctly.
#[macro_export]macro_rules!svc{($r0:expr)=>{unsafe{core::arch::asm!("svc {arg}", arg =const$r0,out("lr")_);}}}