RefCell->UPSafeCell && TaskCx->TCB

This commit is contained in:
Yifan Wu 2021-07-12 22:09:34 +08:00
parent bf53e6d211
commit cf7c2abaa6
14 changed files with 105 additions and 65 deletions

View file

@ -3,13 +3,22 @@ use crate::trap::trap_return;
#[repr(C)]
pub struct TaskContext {
ra: usize,
sp: usize,
s: [usize; 12],
}
impl TaskContext {
pub fn goto_trap_return() -> Self {
pub fn zero_init() -> Self {
Self {
ra: 0,
sp: 0,
s: [0; 12],
}
}
pub fn goto_trap_return(kstack_ptr: usize) -> Self {
Self {
ra: trap_return as usize,
sp: kstack_ptr,
s: [0; 12],
}
}