Lines Matching refs:uint64_t
12 int process_copy_files(uint64_t clone_flags, struct process_control_block *pcb);
13 int process_copy_flags(uint64_t clone_flags, struct process_control_block *pcb);
14 int process_copy_mm(uint64_t clone_flags, struct process_control_block *pcb);
15 int process_copy_thread(uint64_t clone_flags, struct process_control_block *pcb, uint64_t stack_sta…
16 uint64_t stack_size, struct pt_regs *current_regs);
18 extern int process_copy_sighand(uint64_t clone_flags, struct process_control_block *pcb);
19 extern int process_copy_signal(uint64_t clone_flags, struct process_control_block *pcb);
169 int process_copy_flags(uint64_t clone_flags, struct process_control_block *pcb) in process_copy_flags()
183 int process_copy_files(uint64_t clone_flags, struct process_control_block *pcb) in process_copy_files()
211 int process_copy_mm(uint64_t clone_flags, struct process_control_block *pcb) in process_copy_mm()
239 uint64_t *current_pgd = (uint64_t *)phys_2_virt(current_pcb->mm->pgd); in process_copy_mm()
241 uint64_t *new_pml4t = (uint64_t *)phys_2_virt(new_mms->pgd); in process_copy_mm()
260 uint64_t pa = alloc_pages(ZONE_NORMAL, 1, PAGE_PGT_MAPPED)->addr_phys; in process_copy_mm()
278 uint64_t map_size = PAGE_4K_ALIGN(vma_size); in process_copy_mm()
279 uint64_t va = (uint64_t)kmalloc(map_size, 0); in process_copy_mm()
307 uint64_t new_top = ((uint64_t)new_pcb) + STACK_SIZE; in process_rewrite_rbp()
308 uint64_t old_top = (uint64_t)(current_pcb) + STACK_SIZE; in process_rewrite_rbp()
310 uint64_t *rbp = &new_regs->rbp; in process_rewrite_rbp()
311 uint64_t *tmp = rbp; in process_rewrite_rbp()
314 if ((uint64_t)*rbp >= old_top || (uint64_t)*rbp < (old_top - STACK_SIZE)) in process_rewrite_rbp()
320 uint64_t delta = old_top - *rbp; in process_rewrite_rbp()
322 uint64_t newVal = new_top - delta; in process_rewrite_rbp()
325 if (unlikely((uint64_t)newVal >= new_top || (uint64_t)newVal < (new_top - STACK_SIZE))) in process_rewrite_rbp()
330 rbp = (uint64_t *)*rbp; in process_rewrite_rbp()
345 int process_copy_thread(uint64_t clone_flags, struct process_control_block *pcb, uint64_t stack_sta… in process_copy_thread()
346 uint64_t stack_size, struct pt_regs *current_regs) in process_copy_thread()
358 uint32_t size = ((uint64_t)current_pcb) + STACK_SIZE - (uint64_t)(current_regs); in process_copy_thread()
360 child_regs = (struct pt_regs *)(((uint64_t)pcb) + STACK_SIZE - size); in process_copy_thread()
368 child_regs = (struct pt_regs *)((uint64_t)pcb + STACK_SIZE - sizeof(struct pt_regs)); in process_copy_thread()
378 (uint64_t)(child_regs + 1); // 设置新的内核线程开始执行时的rbp(也就是进入ret_from_system_call时的rbp) in process_copy_thread()
380 thd->rbp = (uint64_t)pcb + STACK_SIZE; in process_copy_thread()
383 thd->rsp = (uint64_t)child_regs; in process_copy_thread()
389 thd->rip = (uint64_t)ret_from_system_call; in process_copy_thread()
391 thd->rip = (uint64_t)kernel_thread_func; in process_copy_thread()
393 thd->rip = (uint64_t)ret_from_system_call; in process_copy_thread()