提交 0b33404a 编写于 作者: Y Yifan Wu

Move some variable name to task_cx to task_cx_ptr2

上级 4b215e94
......@@ -47,11 +47,11 @@ lazy_static! {
impl TaskManager {
fn run_first_task(&self) {
self.inner.borrow_mut().tasks[0].task_status = TaskStatus::Running;
let next_task_cx = self.inner.borrow().tasks[0].get_task_cx_ptr2();
let next_task_cx_ptr2 = self.inner.borrow().tasks[0].get_task_cx_ptr2();
unsafe {
__switch(
&0usize as *const _,
next_task_cx,
next_task_cx_ptr2,
);
}
}
......@@ -84,13 +84,13 @@ impl TaskManager {
let current = inner.current_task;
inner.tasks[next].task_status = TaskStatus::Running;
inner.current_task = next;
let current_task_cx = inner.tasks[current].get_task_cx_ptr2();
let next_task_cx = inner.tasks[next].get_task_cx_ptr2();
let current_task_cx_ptr2 = inner.tasks[current].get_task_cx_ptr2();
let next_task_cx_ptr2 = inner.tasks[next].get_task_cx_ptr2();
core::mem::drop(inner);
unsafe {
__switch(
current_task_cx,
next_task_cx,
current_task_cx_ptr2,
next_task_cx_ptr2,
);
}
} else {
......
......@@ -8,7 +8,10 @@
.section .text
.globl __switch
__switch:
# __switch(current_task_cx: &*const TaskContext, next_task_cx: &*const TaskContext)
# __switch(
# current_task_cx_ptr2: &*const TaskContext,
# next_task_cx_ptr2: &*const TaskContext
# )
# push TaskContext to current sp and save its address to where a0 points to
addi sp, sp, -13*8
sd sp, 0(a0)
......
global_asm!(include_str!("switch.S"));
extern "C" {
pub fn __switch(current_task_cx: *const usize, next_task_cx: *const usize);
pub fn __switch(
current_task_cx_ptr2: *const usize,
next_task_cx_ptr2: *const usize
);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册