Просмотр исходного кода

Merge #51

51: Fix {S,U}tvec::trap_mode() functions to match Mtvec::trap_mode() r=almindor a=Disasm

See also: https://github.com/rust-embedded/riscv/pull/50#issuecomment-647012575

Co-authored-by: Vadim Kaushan <admin@disasm.info>
bors[bot] 4 лет назад
Родитель
Сommit
4d16f14ab3
3 измененных файлов с 9 добавлено и 9 удалено
  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,
         }
     }
 }