luojia65 пре 4 година
родитељ
комит
040697689f
2 измењених фајлова са 7 додато и 1 уклоњено
  1. 6 0
      rustsbi/src/ecall.rs
  2. 1 1
      rustsbi/src/ecall/legacy.rs

+ 6 - 0
rustsbi/src/ecall.rs

@@ -111,6 +111,12 @@ impl SbiRet {
             value: 0,
         }
     }
+    pub(crate) fn legacy_ok(legacy_value: usize) -> SbiRet {
+        SbiRet {
+            error: legacy_value,
+            value: 0,
+        }
+    }
     // only used for legacy where a0, a1 return value is not modified
     pub(crate) fn legacy_void(self, a0: usize, a1: usize) -> SbiRet {
         SbiRet {

+ 1 - 1
rustsbi/src/ecall/legacy.rs

@@ -14,7 +14,7 @@ pub fn console_putchar(param0: usize) -> SbiRet {
 #[inline]
 pub fn console_getchar() -> SbiRet {
     let ch = legacy_stdio_getchar();
-    SbiRet::ok(ch as usize)
+    SbiRet::legacy_ok(ch as usize)
 }
 
 #[inline]