|
@@ -1,15 +1,15 @@
|
|
|
//! base extension
|
|
|
use super::SbiRet;
|
|
|
use crate::{SBI_SPEC_MAJOR, SBI_SPEC_MINOR};
|
|
|
-use riscv::register::{mvendorid, marchid, mimpid};
|
|
|
+use riscv::register::{marchid, mimpid, mvendorid};
|
|
|
|
|
|
const FUNCTION_BASE_GET_SPEC_VERSION: usize = 0x0;
|
|
|
-const FUNCTION_BASE_GET_SBI_IMPL_ID: usize = 0x1;
|
|
|
+const FUNCTION_BASE_GET_SBI_IMPL_ID: usize = 0x1;
|
|
|
const FUNCTION_BASE_GET_SBI_IMPL_VERSION: usize = 0x2;
|
|
|
-const FUNCTION_BASE_PROBE_EXTENSION: usize = 0x3;
|
|
|
-const FUNCTION_BASE_GET_MVENDORID: usize = 0x4;
|
|
|
-const FUNCTION_BASE_GET_MARCHID: usize = 0x5;
|
|
|
-const FUNCTION_BASE_GET_MIMPID: usize = 0x6;
|
|
|
+const FUNCTION_BASE_PROBE_EXTENSION: usize = 0x3;
|
|
|
+const FUNCTION_BASE_GET_MVENDORID: usize = 0x4;
|
|
|
+const FUNCTION_BASE_GET_MARCHID: usize = 0x5;
|
|
|
+const FUNCTION_BASE_GET_MIMPID: usize = 0x6;
|
|
|
|
|
|
pub fn handle_ecall_base(function: usize, param0: usize) -> SbiRet {
|
|
|
match function {
|
|
@@ -20,13 +20,13 @@ pub fn handle_ecall_base(function: usize, param0: usize) -> SbiRet {
|
|
|
FUNCTION_BASE_GET_MVENDORID => get_mvendorid(),
|
|
|
FUNCTION_BASE_GET_MARCHID => get_marchid(),
|
|
|
FUNCTION_BASE_GET_MIMPID => get_mimpid(),
|
|
|
- _ => unimplemented!()
|
|
|
+ _ => unimplemented!(),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#[inline]
|
|
|
fn get_spec_version() -> SbiRet {
|
|
|
- let spec_version = ((SBI_SPEC_MAJOR << 24) | (SBI_SPEC_MINOR)).into();
|
|
|
+ let spec_version = (SBI_SPEC_MAJOR << 24) | (SBI_SPEC_MINOR);
|
|
|
SbiRet::ok(spec_version)
|
|
|
}
|
|
|
|
|
@@ -43,8 +43,8 @@ fn get_sbi_impl_version() -> SbiRet {
|
|
|
}
|
|
|
|
|
|
#[inline]
|
|
|
-fn probe_extension(extension_id: usize) -> SbiRet {
|
|
|
- drop(extension_id); // todo use
|
|
|
+fn probe_extension(_extension_id: usize) -> SbiRet {
|
|
|
+ // drop(extension_id); // todo use
|
|
|
let extension_return = 0; // todo: 可配置
|
|
|
SbiRet::ok(extension_return)
|
|
|
}
|