sys_yield tests worked on qemu.

This commit is contained in:
Yifan Wu 2020-11-29 04:01:38 +08:00
parent 3f3e6b2b99
commit adbe671fe1
10 changed files with 134 additions and 53 deletions

View file

@ -1,12 +1,18 @@
use crate::task::switch_to_next_task;
use crate::task::{
mark_current_suspended,
mark_current_exited,
run_next_task
};
pub fn sys_exit(xstate: i32) -> ! {
println!("[kernel] Application exited with code {}", xstate);
//run_next_app()
panic!("[kernel] first exit!");
mark_current_exited();
run_next_task();
panic!("Unreachable in sys_exit!");
}
pub fn sys_yield() -> isize {
switch_to_next_task();
mark_current_suspended();
run_next_task();
0
}