Lines Matching refs:prev
167 pub unsafe fn switch_process(prev: Arc<ProcessControlBlock>, next: Arc<ProcessControlBlock>) { in switch_process()
174 Self::switch_process_fpu(&prev, &next); in switch_process()
175 Self::switch_local_context(&prev, &next); in switch_process()
189 let prev_arch = SpinLockGuard::leak(prev.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
194 PROCESS_SWITCH_RESULT.as_mut().unwrap().get_mut().prev_pcb = Some(prev); in switch_process()
202 fn switch_process_fpu(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_process_fpu()
203 let prev_regs = unsafe { Self::task_trapframe(prev) }; in switch_process_fpu()
206 prev.arch_info_irqsave().fp_state.save(prev_regs); in switch_process_fpu()
211 fn switch_local_context(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_local_context()
212 prev.arch_info_irqsave().local_context = *local_context().get(); in switch_local_context()
229 unsafe extern "C" fn switch_to_inner(prev: *mut ArchPCBInfo, next: *mut ArchPCBInfo) { in switch_to_inner()