pub mod barrier;
#[inline(always)]
pub fn nop() {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("nop", options(nomem, nostack))
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn wfi() {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("wfi", options(nomem, nostack))
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn wfe() {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("wfe", options(nomem, nostack))
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn sevl() {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("sevl", options(nomem, nostack))
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn sev() {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("sev", options(nomem, nostack))
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn eret() -> ! {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("eret", options(nomem, nostack));
core::intrinsics::unreachable()
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}
#[inline(always)]
pub fn ret() -> ! {
#[cfg(target_arch = "aarch64")]
unsafe {
core::arch::asm!("ret", options(nomem, nostack));
core::intrinsics::unreachable()
}
#[cfg(not(target_arch = "aarch64"))]
unimplemented!()
}