/linux-master/arch/alpha/kernel/ |
H A D | process.c | 241 struct pt_regs *childregs = task_pt_regs(p); local 245 childstack = ((struct switch_stack *) childregs) - 1; 257 childregs->hae = alpha_mv.hae_cache; 272 *childregs = *regs; 273 childregs->r0 = 0; 274 childregs->r19 = 0; 275 childregs->r20 = 1; /* OSF/1 has some strange fork() semantics. */
|
/linux-master/arch/arm/kernel/ |
H A D | process.c | 241 struct pt_regs *childregs = task_pt_regs(p); local 256 *childregs = *current_pt_regs(); 257 childregs->ARM_r0 = 0; 259 childregs->ARM_sp = stack_start; 261 memset(childregs, 0, sizeof(struct pt_regs)); 264 childregs->ARM_cpsr = SVC_MODE; 267 thread->cpu_context.sp = (unsigned long)childregs;
|
/linux-master/arch/arm64/kernel/ |
H A D | process.c | 347 struct pt_regs *childregs = task_pt_regs(p); local 363 *childregs = *current_pt_regs(); 364 childregs->regs[0] = 0; 376 childregs->compat_sp = stack_start; 378 childregs->sp = stack_start; 394 * When a user task is created from a kthread, childregs will 397 memset(childregs, 0, sizeof(struct pt_regs)); 398 childregs->pstate = PSR_MODE_EL1h | PSR_IL_BIT; 404 p->thread.cpu_context.sp = (unsigned long)childregs; 406 * For the benefit of the unwinder, set up childregs [all...] |
/linux-master/arch/csky/kernel/ |
H A D | process.c | 39 struct pt_regs *childregs = task_pt_regs(p); local 45 childstack = ((struct switch_stack *) childregs) - 1; 52 memset(childregs, 0, sizeof(struct pt_regs)); 56 childregs->sr = mfcr("psr"); 58 *childregs = *(current_pt_regs()); 60 childregs->usp = usp; 62 task_thread_info(p)->tp_value = childregs->tls 65 childregs->a0 = 0;
|
/linux-master/arch/hexagon/kernel/ |
H A D | process.c | 60 struct pt_regs *childregs; local 63 childregs = (struct pt_regs *) (((unsigned long) ti + THREAD_SIZE) - 64 sizeof(*childregs)); 66 ti->regs = childregs; 74 ss = (struct hexagon_switch_stack *) ((unsigned long) childregs - 79 memset(childregs, 0, sizeof(struct pt_regs)); 83 pt_set_kmode(childregs); 86 memcpy(childregs, current_pt_regs(), sizeof(*childregs)); 90 pt_set_rte_sp(childregs, us [all...] |
/linux-master/arch/loongarch/kernel/ |
H A D | process.c | 150 struct pt_regs *childregs, *regs = current_pt_regs(); local 155 childregs = (struct pt_regs *) childksp - 1; 157 childksp = (unsigned long) childregs; 170 memset(childregs, 0, sizeof(struct pt_regs)); 171 childregs->csr_euen = p->thread.csr_euen; 172 childregs->csr_crmd = p->thread.csr_crmd; 173 childregs->csr_prmd = p->thread.csr_prmd; 174 childregs->csr_ecfg = p->thread.csr_ecfg; 179 *childregs = *regs; 180 childregs [all...] |
/linux-master/arch/microblaze/kernel/ |
H A D | process.c | 60 struct pt_regs *childregs = task_pt_regs(p); local 66 memset(childregs, 0, sizeof(struct pt_regs)); 68 ti->cpu_context.r1 = (unsigned long)childregs; 71 childregs->pt_mode = 1; 72 local_save_flags(childregs->msr); 73 ti->cpu_context.msr = childregs->msr & ~MSR_IE; 77 *childregs = *current_pt_regs(); 79 childregs->r1 = usp; 82 ti->cpu_context.r1 = (unsigned long)childregs; 83 childregs [all...] |
/linux-master/arch/mips/kernel/ |
H A D | process.c | 114 struct pt_regs *childregs, *regs = current_pt_regs(); local 120 childregs = (struct pt_regs *) childksp - 1; 122 childksp = (unsigned long) childregs; 140 memset(childregs, 0, sizeof(struct pt_regs)); 151 childregs->cp0_status = status; 156 *childregs = *regs; 157 childregs->regs[7] = 0; /* Clear error flag */ 158 childregs->regs[2] = 0; /* Child gets zero as return value */ 160 childregs->regs[29] = usp; 162 p->thread.reg29 = (unsigned long) childregs; [all...] |
/linux-master/arch/nios2/kernel/ |
H A D | process.c | 107 struct pt_regs *childregs = task_pt_regs(p); local 111 ((struct switch_stack *)childregs) - 1; 120 childregs->estatus = STATUS_PIE; 121 childregs->sp = (unsigned long) childstack; 124 p->thread.kregs = childregs; 129 *childregs = *regs; 130 childregs->r2 = 0; /* Set the return value for the child. */ 131 childregs->r7 = 0; 136 p->thread.kregs = childregs; 140 childregs [all...] |
/linux-master/arch/powerpc/kernel/ |
H A D | process.c | 1787 struct pt_regs *childregs; local 1793 childregs = (struct pt_regs *)(sp + STACK_INT_FRAME_REGS); 1803 memset(childregs, 0, sizeof(struct pt_regs)); 1805 childregs->softe = IRQS_ENABLED; 1814 *childregs = *regs; 1816 childregs->gpr[1] = usp; 1817 ((unsigned long *)sp)[0] = childregs->gpr[1]; 1819 WARN_ON_ONCE(childregs->softe != IRQS_ENABLED); 1825 childregs->gpr[13] = tls; 1827 childregs [all...] |
/linux-master/arch/riscv/kernel/ |
H A D | process.c | 200 struct pt_regs *childregs = task_pt_regs(p); local 207 memset(childregs, 0, sizeof(struct pt_regs)); 209 childregs->status = SR_PP | SR_PIE; 214 *childregs = *(current_pt_regs()); 216 riscv_v_vstate_off(childregs); 218 childregs->sp = usp; 220 childregs->tp = tls; 221 childregs->a0 = 0; /* Return value of fork() */ 228 p->thread.sp = (unsigned long)childregs; /* kernel sp */
|
/linux-master/arch/s390/kernel/ |
H A D | process.c | 121 struct pt_regs childregs; member in struct:fake_frame 124 frame = container_of(task_pt_regs(p), struct fake_frame, childregs); 143 frame->sf.gprs[11 - 6] = (unsigned long)&frame->childregs; 153 memset(&frame->childregs, 0, sizeof(struct pt_regs)); 154 frame->childregs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_IO | 156 frame->childregs.gprs[9] = (unsigned long)args->fn; 157 frame->childregs.gprs[10] = (unsigned long)args->fn_arg; 158 frame->childregs.orig_gpr2 = -1; 159 frame->childregs.last_break = 1; 162 frame->childregs [all...] |
/linux-master/arch/sh/kernel/ |
H A D | process_32.c | 96 struct pt_regs *childregs; local 112 childregs = task_pt_regs(p); 113 p->thread.sp = (unsigned long) childregs; 115 memset(childregs, 0, sizeof(struct pt_regs)); 117 childregs->regs[4] = (unsigned long) args->fn_arg; 118 childregs->regs[5] = (unsigned long) args->fn; 119 childregs->sr = SR_MD; 121 childregs->sr |= SR_FD; 127 *childregs = *current_pt_regs(); 130 childregs [all...] |
/linux-master/arch/sparc/kernel/ |
H A D | process_32.c | 267 struct pt_regs *childregs, *regs = current_pt_regs(); local 281 * p->thread_info new_stack childregs stack bottom 288 childregs = (struct pt_regs *) (new_stack + STACKFRAME_SZ); 298 p->thread.kregs = childregs; 305 childregs->u_regs[UREG_G1] = (unsigned long) args->fn; 306 childregs->u_regs[UREG_G2] = (unsigned long) args->fn_arg; 307 psr = childregs->psr = get_psr(); 313 childregs->u_regs[UREG_FP] = sp; 345 childregs->u_regs[UREG_FP] = (unsigned long)childstack; 350 childregs [all...] |
/linux-master/arch/x86/kernel/ |
H A D | process.c | 166 struct pt_regs *childregs; local 170 childregs = task_pt_regs(p); 171 fork_frame = container_of(childregs, struct fork_frame, regs); 174 frame->bp = encode_frame_pointer(childregs); 194 p->thread.sp0 = (unsigned long) (childregs + 1); 219 memset(childregs, 0, sizeof(struct pt_regs)); 231 *childregs = *current_pt_regs(); 232 childregs->ax = 0; 234 childregs->sp = sp; 247 childregs [all...] |
/linux-master/arch/xtensa/kernel/ |
H A D | process.c | 233 * in the clone_flags) and set up passed usp in the childregs. 237 * childregs are not used for the kernel threads. 242 * | childregs | 255 * childregs. 273 struct pt_regs *childregs = task_pt_regs(p); local 280 /* Create a call4 dummy-frame: a0 = 0, a1 = childregs. */ 281 SPILL_SLOT(childregs, 1) = (unsigned long)childregs; 282 SPILL_SLOT(childregs, 0) = 0; 284 p->thread.sp = (unsigned long)childregs; [all...] |