Lines Matching refs:next
368 pub unsafe fn switch_process(prev: Arc<ProcessControlBlock>, next: Arc<ProcessControlBlock>) { in switch_process()
374 next.arch_info_irqsave().restore_fp_state(); in switch_process()
378 next.arch_info_irqsave().restore_fsbase(); in switch_process()
381 Self::switch_gsbase(&prev, &next); in switch_process()
384 let next_addr_space = next.basic().user_vm().as_ref().unwrap().clone(); in switch_process()
393 let next_arch = SpinLockGuard::leak(next.arch_info_irqsave()) as *mut ArchPCBInfo; in switch_process()
405 next.kernel_stack().stack_max_address().data() as u64, in switch_process()
408 PROCESS_SWITCH_RESULT.as_mut().unwrap().get_mut().next_pcb = Some(next); in switch_process()
415 unsafe fn switch_gsbase(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_gsbase()
418 next.arch_info_irqsave().restore_gsbase(); in switch_gsbase()
420 next.arch_info_irqsave().store_kernel_gsbase(); in switch_gsbase()
427 unsafe extern "sysv64" fn switch_to_inner(prev: *mut ArchPCBInfo, next: *mut ArchPCBInfo) { in switch_to_inner()