use core::arch::asm;
#[inline]
pub fn next_handler_set_mie() -> usize {
let mut val: usize;
unsafe { asm!("csrrsi {}, 0x345, 8", out(reg) val) };
val
}
#[inline]
pub fn next_handler_set_sie() -> usize {
let mut val: usize;
unsafe { asm!("csrrsi {}, 0x345, 2", out(reg) val) };
val
}
#[inline]
pub fn next_handler_clear_mie() -> usize {
let mut val: usize;
unsafe { asm!("csrrci {}, 0x345, 8", out(reg) val) };
val
}
#[inline]
pub fn next_handler_clear_sie() -> usize {
let mut val: usize;
unsafe { asm!("csrrci {}, 0x345, 2", out(reg) val) };
val
}
#[inline]
pub fn next_handler() -> usize {
let mut val: usize;
unsafe { asm!("csrr {}, 0x345", out(reg) val) };
val
}