use core::arch::asm;
#[inline]
pub fn halt() {
unsafe { asm!("wfi", options(nomem, nostack)) }
}
mod exceptions {
use core::arch::asm;
#[inline]
pub unsafe fn svc<const CODE: u16>() {
asm!("svc #{}", const CODE, options(nomem, nostack));
}
#[inline]
pub unsafe fn hvc<const CODE: u16>() {
asm!("hvc #{}", const CODE, options(nomem, nostack))
}
#[inline]
pub unsafe fn smc<const CODE: u16>() {
asm!("smc #{}", const CODE, options(nomem, nostack))
}
#[inline]
pub fn brk<const CODE: u16>() {
unsafe { asm!("brk #{}", const CODE, options(nomem, nostack)) }
}
#[inline]
pub fn debug_halt() {
unsafe { asm!("hlt #0", options(nomem, nostack)) }
}
}