浏览代码

Merge #46

46: Do not panic on unknown trap mode. r=Disasm a=khrs

Some vendors (eg Nuclei) use reserved bits for they own interrupt handling.

Co-authored-by: Karol Harasim <karol.harasim@gmail.com>
bors[bot] 4 年之前
父节点
当前提交
980b51c84e
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/register/mtvec.rs

+ 4 - 4
src/register/mtvec.rs

@@ -25,12 +25,12 @@ impl Mtvec {
     }
 
     /// Returns the trap-vector mode
-    pub fn trap_mode(&self) -> TrapMode {
+    pub fn trap_mode(&self) -> Option<TrapMode> {
         let mode = self.bits & 0b11;
         match mode {
-            0 => TrapMode::Direct,
-            1 => TrapMode::Vectored,
-            _ => unimplemented!(),
+            0 => Some(TrapMode::Direct),
+            1 => Some(TrapMode::Vectored),
+            _ => None,
         }
     }
 }