|
|
|
@ -14,11 +14,12 @@ const SBI_SHUTDOWN: usize = 8;
|
|
|
|
|
fn sbi_call(which: usize, arg0: usize, arg1: usize, arg2: usize) -> usize {
|
|
|
|
|
let mut ret;
|
|
|
|
|
unsafe {
|
|
|
|
|
llvm_asm!("ecall"
|
|
|
|
|
: "={x10}" (ret)
|
|
|
|
|
: "{x10}" (arg0), "{x11}" (arg1), "{x12}" (arg2), "{x17}" (which)
|
|
|
|
|
: "memory"
|
|
|
|
|
: "volatile"
|
|
|
|
|
asm!(
|
|
|
|
|
"ecall",
|
|
|
|
|
inlateout("x10") arg0 => ret,
|
|
|
|
|
in("x11") arg1,
|
|
|
|
|
in("x12") arg2,
|
|
|
|
|
in("x17") which,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
ret
|
|
|
|
|