os/
sbi.rs

1//! SBI call wrappers
2#![allow(unused)]
3
4/// use sbi call to putchar in console (qemu uart handler)
5pub fn console_putchar(c: usize) {
6    #[allow(deprecated)]
7    sbi_rt::legacy::console_putchar(c);
8}
9
10/// use sbi call to getchar from console (qemu uart handler)
11pub fn console_getchar() -> usize {
12    #[allow(deprecated)]
13    sbi_rt::legacy::console_getchar()
14}
15
16/// use sbi call to set timer
17pub fn set_timer(timer: usize) {
18    sbi_rt::set_timer(timer as _);
19}
20
21/// use sbi call to shutdown the kernel
22pub fn shutdown(failure: bool) -> ! {
23    use sbi_rt::{NoReason, Shutdown, SystemFailure, system_reset};
24    if !failure {
25        system_reset(Shutdown, NoReason);
26    } else {
27        system_reset(Shutdown, SystemFailure);
28    }
29    unreachable!()
30}