pub mod minerva {
pub mod register {
pub mod mim {
crate::macros::read_csr_as_usize!(0x330);
crate::macros::write_csr_as_usize!(0x330);
}
pub mod mip {
crate::macros::read_csr_as_usize!(0x360);
}
}
}
pub mod vexriscv {
#[inline(always)]
pub fn flush_icache() {
unsafe {
core::arch::asm!(".word(0x100f)", "nop", "nop", "nop", "nop", "nop",);
}
}
#[inline(always)]
pub fn flush_dcache() {
unsafe {
core::arch::asm!(".word(0x500f)");
}
}
pub mod register {
pub mod mim {
crate::macros::read_csr_as_usize!(0xBC0);
crate::macros::write_csr_as_usize!(0xBC0);
}
pub mod mip {
crate::macros::read_csr_as_usize!(0xFC0);
}
pub mod sim {
crate::macros::read_csr_as_usize!(0x9C0);
crate::macros::write_csr_as_usize!(0x9C0);
}
pub mod sip {
crate::macros::read_csr_as_usize!(0xDC0);
}
pub mod dci {
crate::macros::read_csr_as_usize!(0xCC0);
}
}
}