| /linux/arch/microblaze/kernel/ |
| H A D | process.c | 60 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 66 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 68 ti->cpu_context.r1 = (unsigned long)childregs; in copy_thread() 71 childregs->pt_mode = 1; in copy_thread() 72 local_save_flags(childregs->msr); in copy_thread() 73 ti->cpu_context.msr = childregs->msr & ~MSR_IE; in copy_thread() 77 *childregs = *current_pt_regs(); in copy_thread() 79 childregs->r1 = usp; in copy_thread() 82 ti->cpu_context.r1 = (unsigned long)childregs; in copy_thread() 83 childregs->msr |= MSR_UMS; in copy_thread() [all …]
|
| /linux/arch/hexagon/kernel/ |
| H A D | process.c | 60 struct pt_regs *childregs; in copy_thread() local 63 childregs = (struct pt_regs *) (((unsigned long) ti + THREAD_SIZE) - in copy_thread() 64 sizeof(*childregs)); in copy_thread() 66 ti->regs = childregs; in copy_thread() 74 ss = (struct hexagon_switch_stack *) ((unsigned long) childregs - in copy_thread() 79 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 83 pt_set_kmode(childregs); in copy_thread() 86 memcpy(childregs, current_pt_regs(), sizeof(*childregs)); in copy_thread() 90 pt_set_rte_sp(childregs, usp); in copy_thread() 93 childregs->r00 = 0; in copy_thread() [all …]
|
| /linux/arch/xtensa/kernel/ |
| H A D | process.c | 273 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 281 SPILL_SLOT(childregs, 1) = (unsigned long)childregs; in copy_thread() 282 SPILL_SLOT(childregs, 0) = 0; in copy_thread() 284 p->thread.sp = (unsigned long)childregs; in copy_thread() 287 p->thread.sp = (unsigned long)childregs - 16; in copy_thread() 300 *childregs = *regs; in copy_thread() 301 childregs->areg[1] = usp; in copy_thread() 302 childregs->areg[2] = 0; in copy_thread() 319 int len = childregs->wmask & ~0xf; in copy_thread() 326 childregs->wmask = 1; in copy_thread() [all …]
|
| /linux/arch/sh/kernel/ |
| H A D | process_32.c | 96 struct pt_regs *childregs; in copy_thread() local 112 childregs = task_pt_regs(p); in copy_thread() 113 p->thread.sp = (unsigned long) childregs; in copy_thread() 115 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 117 childregs->regs[4] = (unsigned long) args->fn_arg; in copy_thread() 118 childregs->regs[5] = (unsigned long) args->fn; in copy_thread() 119 childregs->sr = SR_MD; in copy_thread() 121 childregs->sr |= SR_FD; in copy_thread() 127 *childregs = *current_pt_regs(); in copy_thread() 130 childregs->regs[15] = usp; in copy_thread() [all …]
|
| /linux/arch/csky/kernel/ |
| H A D | process.c | 39 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 45 childstack = ((struct switch_stack *) childregs) - 1; in copy_thread() 52 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 56 childregs->sr = mfcr("psr"); in copy_thread() 58 *childregs = *(current_pt_regs()); in copy_thread() 60 childregs->usp = usp; in copy_thread() 62 task_thread_info(p)->tp_value = childregs->tls in copy_thread() 65 childregs->a0 = 0; in copy_thread()
|
| /linux/arch/loongarch/kernel/ |
| H A D | process.c | 179 struct pt_regs *childregs, *regs = current_pt_regs(); in copy_thread() local 184 childregs = (struct pt_regs *) childksp - 1; in copy_thread() 186 childksp = (unsigned long) childregs; in copy_thread() 199 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 200 childregs->csr_euen = p->thread.csr_euen; in copy_thread() 201 childregs->csr_crmd = p->thread.csr_crmd; in copy_thread() 202 childregs->csr_prmd = p->thread.csr_prmd; in copy_thread() 203 childregs->csr_ecfg = p->thread.csr_ecfg; in copy_thread() 208 *childregs = *regs; in copy_thread() 209 childregs->regs[4] = 0; /* Child gets zero as return value */ in copy_thread() [all …]
|
| /linux/arch/nios2/kernel/ |
| H A D | process.c | 107 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 111 ((struct switch_stack *)childregs) - 1; in copy_thread() 120 childregs->estatus = STATUS_PIE; in copy_thread() 121 childregs->sp = (unsigned long) childstack; in copy_thread() 124 p->thread.kregs = childregs; in copy_thread() 129 *childregs = *regs; in copy_thread() 130 childregs->r2 = 0; /* Set the return value for the child. */ in copy_thread() 131 childregs->r7 = 0; in copy_thread() 136 p->thread.kregs = childregs; in copy_thread() 140 childregs->sp = usp; in copy_thread()
|
| /linux/arch/alpha/kernel/ |
| H A D | process.c | 241 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 245 childstack = ((struct switch_stack *) childregs) - 1; in copy_thread() 257 childregs->hae = alpha_mv.hae_cache; in copy_thread() 272 *childregs = *regs; in copy_thread() 273 childregs->r0 = 0; in copy_thread() 274 childregs->r19 = 0; in copy_thread() 275 childregs->r20 = 1; /* OSF/1 has some strange fork() semantics. */ in copy_thread()
|
| /linux/arch/riscv/kernel/ |
| H A D | process.c | 246 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 257 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 259 childregs->status = SR_PP | SR_PIE; in copy_thread() 270 *childregs = *(current_pt_regs()); in copy_thread() 272 riscv_v_vstate_off(childregs); in copy_thread() 274 childregs->sp = usp; in copy_thread() 279 childregs->tp = tls; in copy_thread() 280 childregs->a0 = 0; /* Return value of fork() */ in copy_thread() 286 p->thread.sp = (unsigned long)childregs; /* kernel sp */ in copy_thread()
|
| /linux/arch/arm/kernel/ |
| H A D | process.c | 241 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local 256 *childregs = *current_pt_regs(); in copy_thread() 257 childregs->ARM_r0 = 0; in copy_thread() 259 childregs->ARM_sp = stack_start; in copy_thread() 261 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread() 264 childregs->ARM_cpsr = SVC_MODE; in copy_thread() 267 thread->cpu_context.sp = (unsigned long)childregs; in copy_thread()
|