Home
last modified time | relevance | path

Searched refs:stack_start (Results 1 – 8 of 8) sorted by relevance

/DragonOS-0.1.5/kernel/src/smp/
Dsmp.c91 … cpu_core_info[current_starting_cpu].stack_start = (uint64_t)kmalloc(STACK_SIZE, 0) + STACK_SIZE; in smp_init()
94 memset((void *)cpu_core_info[current_starting_cpu].stack_start - STACK_SIZE, 0, STACK_SIZE); in smp_init()
99 …((struct process_control_block *)(cpu_core_info[current_starting_cpu].stack_start - STACK_SIZE))->… in smp_init()
111 …t *)cpu_core_info[current_starting_cpu].tss_vaddr, cpu_core_info[current_starting_cpu].stack_start, in smp_init()
112 … cpu_core_info[current_starting_cpu].stack_start, cpu_core_info[current_starting_cpu].stack_start, in smp_init()
152 …olatile__("movq %0, %%rbp \n\t" ::"m"(cpu_core_info[current_starting_cpu].stack_start) : "memory"); in smp_ap_start()
153 …olatile__("movq %0, %%rsp \n\t" ::"m"(cpu_core_info[current_starting_cpu].stack_start) : "memory"); in smp_ap_start()
175 current_pcb->thread->rbp = cpu_core_info[current_starting_cpu].stack_start; in smp_ap_start()
176 current_pcb->thread->rsp = cpu_core_info[current_starting_cpu].stack_start; in smp_ap_start()
/DragonOS-0.1.5/kernel/src/process/
Dfork.c16 … process_copy_thread(uint64_t clone_flags, struct process_control_block *pcb, uint64_t stack_start,
33 unsigned long do_fork(struct pt_regs *regs, unsigned long clone_flags, unsigned long stack_start, in do_fork() argument
62 if ((current_pcb->flags & PF_KTHREAD) && stack_start != 0) in do_fork()
128 retval = process_copy_thread(clone_flags, tsk, stack_start, stack_size, regs); in do_fork()
320 … process_copy_thread(uint64_t clone_flags, struct process_control_block *pcb, uint64_t stack_start, in process_copy_thread() argument
346 child_regs->rsp = stack_start; in process_copy_thread()
Dprocess.c371 regs->rsp = current_pcb->mm->stack_start; in process_load_elf_file()
372 regs->rbp = current_pcb->mm->stack_start; in process_load_elf_file()
377 …int val = mm_create_vma(current_pcb->mm, current_pcb->mm->stack_start - PAGE_2M_SIZE, PAGE_2M_SIZE, in process_load_elf_file()
386 memset((void *)(current_pcb->mm->stack_start - PAGE_2M_SIZE), 0, PAGE_2M_SIZE); in process_load_elf_file()
454 current_pcb->mm->stack_start = stack_start_addr; in do_execve()
494 current_pcb->mm->stack_start = stack_start_addr; in do_execve()
Dprocess.h88 unsigned long do_fork(struct pt_regs *regs, unsigned long clone_flags, unsigned long stack_start,
/DragonOS-0.1.5/kernel/src/common/
Dcpu.h57 uint64_t stack_start; // 栈基地址 member
/DragonOS-0.1.5/kernel/src/mm/
Dmm-types.h157 uint64_t stack_start; member
Dmm.c249 initial_mm.stack_start = _stack_start; in mm_init()
/DragonOS-0.1.5/kernel/src/
Dmain.c84 cpu_core_info[0].stack_start = _stack_start; in system_initialize()