mepc.rs 385 B

123456789101112131415161718
  1. //! mepc register
  2. /// Reads the CSR
  3. #[inline]
  4. pub fn read() -> u32 {
  5. match () {
  6. #[cfg(target_arch = "riscv")]
  7. () => {
  8. let r: usize;
  9. unsafe {
  10. asm!("csrrs $0, 0x341, x0" : "=r"(r) ::: "volatile");
  11. }
  12. r as u32
  13. },
  14. #[cfg(not(target_arch = "riscv"))]
  15. () => unimplemented!(),
  16. }
  17. }