Home
last modified time | relevance | path

Searched refs:ProcessManager (Results 1 – 25 of 72) sorted by relevance

123

/DragonOS/kernel/src/libs/
H A Dwait_queue.rs11 process::{ProcessControlBlock, ProcessManager, ProcessState},
38 let pcb = ProcessManager::current_pcb(); in prepare_to_wait_event()
42 ProcessManager::mark_sleep(interruptible).unwrap_or_else(|e| { in prepare_to_wait_event()
45 guard.wait_list.push_back(ProcessManager::current_pcb()); in prepare_to_wait_event()
52 let pcb = ProcessManager::current_pcb(); in finish_wait()
68 ProcessManager::mark_sleep(true).unwrap_or_else(|e| { in sleep()
71 guard.wait_list.push_back(ProcessManager::current_pcb()); in sleep()
84 ProcessManager::mark_sleep(true).unwrap_or_else(|e| { in sleep_with_func()
88 guard.wait_list.push_back(ProcessManager::current_pcb()); in sleep_with_func()
114 ProcessManager::mark_sleep(true).unwrap_or_else(|e| { in sleep_without_schedule()
[all …]
H A Dspinlock.rs11 use crate::process::ProcessManager;
103 ProcessManager::preempt_disable(); in try_lock()
115 ProcessManager::preempt_enable(); in try_lock()
130 ProcessManager::preempt_disable(); in try_lock_irqsave()
139 ProcessManager::preempt_enable(); in try_lock_irqsave()
168 ProcessManager::preempt_enable(); in unlock()
H A Dmutex.rs13 process::{Pid, ProcessControlBlock, ProcessManager},
68 if !self.check_pid_in_wait_list(&inner, ProcessManager::current_pcb().pid()) { in lock()
69 inner.wait_list.push_back(ProcessManager::current_pcb()); in lock()
108 ProcessManager::mark_sleep(true).ok(); in __sleep()
130 ProcessManager::wakeup(&to_wakeup).ok(); in unlock()
H A Drwlock.rs15 process::ProcessManager,
122 ProcessManager::preempt_disable(); in try_read()
125 ProcessManager::preempt_enable(); in try_read()
211 ProcessManager::preempt_disable(); in try_write()
214 ProcessManager::preempt_enable(); in try_write()
224 ProcessManager::preempt_disable(); in try_write_irqsave()
231 ProcessManager::preempt_enable(); in try_write_irqsave()
288 ProcessManager::preempt_disable(); in try_upgradeable_read()
291 ProcessManager::preempt_enable(); in try_upgradeable_read()
300 ProcessManager::preempt_disable(); in try_upgradeable_read_irqsave()
[all …]
/DragonOS/kernel/src/process/
H A Dc_adapter.rs3 use super::{process_init, ProcessManager, __PROCESS_MANAGEMENT_INIT_DONE};
13 return ProcessManager::idle_pcb()[cpu_id as usize] in rs_get_idle_stack_top()
27 return ProcessManager::current_pcb().pid().0 as u32; in rs_current_pcb_pid()
37 return ProcessManager::current_pcb().preempt_count() as u32; in rs_current_pcb_preempt_count()
45 return ProcessManager::current_pcb().flags().bits() as u32; in rs_current_pcb_flags()
54 return ProcessManager::current_pcb().arch_info_irqsave().rbp() as u64; in rs_current_pcb_thread_rbp()
66 return ProcessManager::preempt_disable(); in rs_preempt_disable()
71 return ProcessManager::preempt_enable(); in rs_preempt_enable()
79 ProcessManager::exit(exit_code); in rs_process_do_exit()
H A Dstdio.rs8 process::{Pid, ProcessManager},
13 if ProcessManager::current_pcb().pid() != Pid(1) { in stdio_init()
30 ProcessManager::current_pcb() in stdio_init()
38 ProcessManager::current_pcb() in stdio_init()
46 ProcessManager::current_pcb() in stdio_init()
H A Dsyscall.rs13 KernelStack, Pid, ProcessManager,
77 ProcessManager::fork(frame, CloneFlags::empty()).map(|pid| pid.into()) in fork()
125 ProcessManager::current_pcb() in execve()
132 let fd_table = ProcessManager::current_pcb().fd_table(); in execve()
185 ProcessManager::exit(status); in exit()
190 let current_pcb = ProcessManager::current_pcb(); in getpid()
202 let current_pcb = ProcessManager::current_pcb(); in getpgid()
205 let target_proc = ProcessManager::find(pid).ok_or(SystemError::ESRCH)?; in getpgid()
212 let current_pcb = ProcessManager::current_pcb(); in getppid()
230 let current_pcb = ProcessManager::current_pcb(); in clone()
[all …]
H A Dutils.rs1 use crate::process::ProcessManager;
9 return *ProcessManager::current_pcb().flags(); in current_pcb_flags()
16 return ProcessManager::current_pcb().preempt_count(); in current_pcb_preempt_count()
H A Dkthread.rs21 process::{ProcessManager, ProcessState},
266 assert!(ProcessManager::current_pcb().pid() == Pid::new(0)); in init_stage1()
279 ProcessManager::current_pcb() in init_stage1()
293 ProcessManager::current_pcb() in init_stage1()
303 assert!(ProcessManager::current_pcb() in init_stage2()
319 let pcb = ProcessManager::find(kthreadd_pid).unwrap(); in init_stage2()
320 ProcessManager::wakeup(&pcb).expect("Failed to wakeup kthread daemon"); in init_stage2()
347 ProcessManager::wakeup(unsafe { KTHREAD_DAEMON_PCB.as_ref().unwrap() }) in create()
368 ProcessManager::wakeup(&pcb) in create_and_run()
402 ProcessManager::wakeup(pcb).ok(); in stop()
[all …]
H A Dexit.rs18 abi::WaitOption, pid::PidType, resource::RUsage, Pid, ProcessControlBlock, ProcessManager,
79 pid = ProcessManager::current_pcb().pid().data() as i64; in kernel_wait4()
115 let child_pcb = ProcessManager::find(kwo.pid).ok_or(SystemError::ECHILD); in do_wait()
125 if !ProcessManager::current_pcb() in do_wait()
153 let current_pcb = ProcessManager::current_pcb(); in do_wait()
157 let pcb = ProcessManager::find(*pid).ok_or(SystemError::ECHILD)?; in do_wait()
162 unsafe { ProcessManager::release(*pid) }; in do_wait()
250 unsafe { ProcessManager::release(pid) }; in do_waitpid()
/DragonOS/kernel/src/arch/x86_64/interrupt/
H A Dtrap.rs8 process::ProcessManager,
121 ProcessManager::current_pid() in do_divide_error()
135 ProcessManager::current_pid() in do_debug()
149 ProcessManager::current_pid() in do_nmi()
163 ProcessManager::current_pid() in do_int3()
177 ProcessManager::current_pid() in do_overflow()
191 ProcessManager::current_pid() in do_bounds()
205 ProcessManager::current_pid() in do_undefined_opcode()
219 ProcessManager::current_pid() in do_dev_not_avaliable()
233 ProcessManager::current_pid() in do_double_fault()
[all …]
/DragonOS/kernel/src/arch/x86_64/process/
H A Didle.rs8 process::{ProcessFlags, ProcessManager},
12 impl ProcessManager { impl
16 let pcb = ProcessManager::current_pcb(); in arch_idle_func()
H A Dkthread.rs14 Pid, ProcessManager,
45 let pid = ProcessManager::fork(&frame, clone_flags).inspect_err(|_e| { in __inner_create()
49 ProcessManager::find(pid) in __inner_create()
H A Dsyscall.rs14 ProcessControlBlock, ProcessManager,
28 let pcb = ProcessManager::current_pcb(); in do_execve()
131 let pcb = ProcessManager::current_pcb(); in arch_prctl()
168 if pcb.pid() == ProcessManager::current_pcb().pid() { in do_arch_prctl_64()
174 if pcb.pid() == ProcessManager::current_pcb().pid() { in do_arch_prctl_64()
/DragonOS/kernel/src/arch/x86_64/ipc/
H A Dsignal.rs19 process::ProcessManager,
363 let pcb = ProcessManager::current_pcb(); in setup_sigcontext()
386 let guard = ProcessManager::current_pcb(); in restore_sigcontext()
418 let pcb = ProcessManager::current_pcb(); in do_signal()
434 let pcb = ProcessManager::current_pcb(); in do_signal()
495 ProcessManager::current_pcb().pid(), in do_signal()
507 let _r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32) in sys_rt_sigreturn()
516 let _r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32) in sys_rt_sigreturn()
584 ProcessManager::current_pcb().pid(), in setup_frame()
588 ProcessManager::current_pcb().pid(), in setup_frame()
[all …]
/DragonOS/kernel/src/ipc/
H A Dsignal.rs11 process::{pid::PidType, Pid, ProcessControlBlock, ProcessFlags, ProcessManager},
76 let pcb = ProcessManager::find(pid); in send_signal_info()
148 SigType::Kill(ProcessManager::current_pcb().pid()), in send_signal()
286 let _r = ProcessManager::wakeup_stop(&pcb); in prepare_sianal()
321 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in signal_wake_up()
325 ProcessManager::current_pcb().pid(), in signal_wake_up()
331 ProcessManager::wakeup_stop(&pcb).unwrap_or_else(|e| { in signal_wake_up()
335 ProcessManager::current_pcb().pid(), in signal_wake_up()
345 ProcessManager::kick(&pcb); in signal_wake_up()
347 let _r = ProcessManager::wakeup(&pcb).map(|_| { in signal_wake_up()
[all …]
/DragonOS/kernel/src/arch/riscv64/process/
H A Didle.rs5 use crate::{arch::CurrentIrqArch, exception::InterruptArch, process::ProcessManager};
7 impl ProcessManager { implementation
/DragonOS/kernel/src/arch/riscv64/ipc/
H A Dsignal.rs6 process::ProcessManager,
303 ProcessManager::exit(sig as usize); in sig_terminate()
308 ProcessManager::exit(sig as usize); in sig_terminate_dump()
315 ProcessManager::mark_stop().unwrap_or_else(|e| { in sig_stop()
319 ProcessManager::current_pcb(), in sig_stop()
330 ProcessManager::wakeup_stop(&ProcessManager::current_pcb()).unwrap_or_else(|_| { in sig_continue()
333 ProcessManager::current_pcb().pid(), in sig_continue()
/DragonOS/kernel/src/driver/tty/
H A Dtty_job_control.rs7 process::{Pid, ProcessManager},
20 let pcb = ProcessManager::current_pcb(); in proc_set_tty()
35 let pcb = ProcessManager::current_pcb(); in tty_check_change()
92 let current = ProcessManager::current_pcb(); in job_ctrl_ioctl()
110 let current = ProcessManager::current_pcb(); in job_ctrl_ioctl()
H A Dkthread.rs12 ProcessControlBlock, ProcessManager,
41 ProcessManager::mark_sleep(true).expect("TTY_REFRESH_THREAD can not mark sleep"); in tty_refresh_thread()
68 let _ = ProcessManager::wakeup(unsafe { TTY_REFRESH_THREAD.as_ref().unwrap() }); in send_to_tty_refresh_thread()
/DragonOS/kernel/src/time/
H A Dtick_common.rs3 process::ProcessManager,
24 ProcessManager::update_process_times(trap_frame.is_from_user()); in tick_periodic()
H A Dsleep.rs9 process::ProcessManager,
45 let handler: Box<WakeUpHelper> = WakeUpHelper::new(ProcessManager::current_pcb()); in nanosleep()
50 ProcessManager::mark_sleep(true).ok(); in nanosleep()
/DragonOS/kernel/src/smp/
H A Dinit.rs6 process::ProcessManager,
22 ProcessManager::arch_idle_func(); in smp_ap_start_stage2()
/DragonOS/kernel/src/filesystem/vfs/
H A Dopen.rs15 driver::base::block::SeekFrom, process::ProcessManager,
43 let (inode, path) = user_path_at(&ProcessManager::current_pcb(), dirfd, path)?; in do_faccessat()
56 let (inode, path) = user_path_at(&ProcessManager::current_pcb(), dirfd, path)?; in do_fchmodat()
87 let (inode_begin, path) = user_path_at(&ProcessManager::current_pcb(), dirfd, path)?; in do_sys_openat2()
146 let r = ProcessManager::current_pcb() in do_sys_openat2()
173 user_path_at(&ProcessManager::current_pcb(), dirfd, path.as_str())?;
182 let binding = ProcessManager::current_pcb().fd_table();
216 &ProcessManager::current_pcb(),
/DragonOS/kernel/src/sched/
H A Dsyscall.rs5 use crate::process::ProcessManager;
18 let pcb = ProcessManager::current_pcb(); in do_sched_yield()

123