Browse Source

Fix {S,U}tvec::trap_mode() functions to match Mtvec::trap_mode()

Vadim Kaushan 4 years ago
parent
commit
f844c17c3a
3 changed files with 9 additions and 9 deletions
  1. 1 1
      CHANGELOG.md
  2. 4 4
      src/register/stvec.rs
  3. 4 4
      src/register/utvec.rs

+ 1 - 1
CHANGELOG.md

@@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
 
 ### Changed
 
-- `Mtvec::trap_mode()` not returns `Option<TrapMode>` (breaking change)
+- `Mtvec::trap_mode()`, `Stvec::trap_mode()` and `Utvec::trap_mode()` functions now return `Option<TrapMode>` (breaking change)
 - Updated Minimum Supported Rust Version to 1.42.0
 - Use `llvm_asm!` instead of `asm!`
 

+ 4 - 4
src/register/stvec.rs

@@ -20,12 +20,12 @@ impl Stvec {
     }
 
     /// 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,
         }
     }
 }

+ 4 - 4
src/register/utvec.rs

@@ -20,12 +20,12 @@ impl Utvec {
     }
 
     /// 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,
         }
     }
 }