Lines Matching refs:current_pcb
197 struct mm_struct *mm = current_pcb->mm; in sys_brk()
198 if (new_brk < mm->brk_start || new_brk > new_brk >= current_pcb->addr_limit) in sys_brk()
205 if (new_brk >= current_pcb->mm->brk_end) in sys_brk()
206 offset = (int64_t)(new_brk - current_pcb->mm->brk_end); in sys_brk()
208 offset = -(int64_t)(current_pcb->mm->brk_end - new_brk); in sys_brk()
210 new_brk = mm_do_brk(current_pcb->mm->brk_end, offset); // 扩展堆内存空间 in sys_brk()
212 current_pcb->mm->brk_end = new_brk; in sys_brk()
224 uint64_t retval = current_pcb->mm->brk_end; in sys_sbrk()
229 if (new_brk > current_pcb->addr_limit) // 堆地址空间超过限制 in sys_sbrk()
237 … if ((__int128_t)current_pcb->mm->brk_end + (__int128_t)regs->r8 < current_pcb->mm->brk_start) in sys_sbrk()
241 uint64_t new_brk = mm_do_brk(current_pcb->mm->brk_end, (int64_t)regs->r8); // 调整堆内存空间 in sys_sbrk()
243 current_pcb->mm->brk_end = new_brk; in sys_sbrk()
362 wait_queue_sleep_on_interriptible(¤t_pcb->wait_child_proc_exit); in sys_wait4()