Parcourir la source

Do not panic on unknown trap mode.

Some vendors (eg Nuclei) use reserved bits for they own interrupt handling.
Karol Harasim il y a 4 ans
Parent
commit
fc896caa91
1 fichiers modifiés avec 4 ajouts et 4 suppressions
  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,
         }
     }
 }