#![no_std]
#![allow(unsafe_code)]
core::cfg_select! {
aarch64_moana => {
#[path = "aarch64.rs"]
mod arch;
}
riscv64_moana => {
#[path = "riscv64.rs"]
mod arch;
}
_ => {
#[path = "stub.rs"]
mod arch;
}
}
#[inline(always)]
pub fn local_irq_enable() {
arch::arch_local_irq_enable();
}
#[inline(always)]
pub fn local_irq_disable() {
arch::arch_local_irq_disable();
}
#[inline(always)]
pub fn local_irq_save() -> usize {
arch::arch_local_irq_save()
}
#[inline(always)]
pub fn local_irq_restore(flags: usize) {
arch::arch_local_irq_restore(flags);
}
#[inline(always)]
pub fn local_except_mask() {
arch::arch_local_except_mask();
}
#[inline(always)]
pub fn local_except_unmask() {
arch::arch_local_except_unmask();
}
#[inline(always)]
pub fn local_save_flags() -> usize {
arch::arch_local_save_flags()
}
#[inline(always)]
pub fn irqs_disabled() -> bool {
arch::arch_irqs_disabled()
}
#[inline(always)]
pub fn irqs_disabled_flags(flags: usize) {
arch::arch_irqs_disabled_flags(flags);
}