Home
last modified time | relevance | path

Searched refs:childregs (Results 1 – 16 of 16) sorted by relevance

/openbmc/linux/arch/microblaze/kernel/
H A Dprocess.c60 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 …]
/openbmc/linux/arch/hexagon/kernel/
H A Dprocess.c59 struct pt_regs *childregs; in copy_thread() local
62 childregs = (struct pt_regs *) (((unsigned long) ti + THREAD_SIZE) - in copy_thread()
63 sizeof(*childregs)); in copy_thread()
65 ti->regs = childregs; in copy_thread()
73 ss = (struct hexagon_switch_stack *) ((unsigned long) childregs - in copy_thread()
78 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
82 pt_set_kmode(childregs); in copy_thread()
85 memcpy(childregs, current_pt_regs(), sizeof(*childregs)); in copy_thread()
89 pt_set_rte_sp(childregs, usp); in copy_thread()
92 childregs->r00 = 0; in copy_thread()
[all …]
/openbmc/linux/arch/xtensa/kernel/
H A Dprocess.c273 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 …]
/openbmc/linux/arch/s390/kernel/
H A Dprocess.c117 struct pt_regs childregs; in copy_thread() member
120 frame = container_of(task_pt_regs(p), struct fake_frame, childregs); in copy_thread()
139 frame->sf.gprs[11 - 6] = (unsigned long)&frame->childregs; in copy_thread()
149 memset(&frame->childregs, 0, sizeof(struct pt_regs)); in copy_thread()
150 frame->childregs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_IO | in copy_thread()
152 frame->childregs.gprs[9] = (unsigned long)args->fn; in copy_thread()
153 frame->childregs.gprs[10] = (unsigned long)args->fn_arg; in copy_thread()
154 frame->childregs.orig_gpr2 = -1; in copy_thread()
155 frame->childregs.last_break = 1; in copy_thread()
158 frame->childregs = *current_pt_regs(); in copy_thread()
[all …]
/openbmc/linux/arch/sh/kernel/
H A Dprocess_32.c96 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 …]
/openbmc/linux/arch/csky/kernel/
H A Dprocess.c39 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()
/openbmc/linux/arch/loongarch/kernel/
H A Dprocess.c150 struct pt_regs *childregs, *regs = current_pt_regs(); in copy_thread() local
155 childregs = (struct pt_regs *) childksp - 1; in copy_thread()
157 childksp = (unsigned long) childregs; in copy_thread()
170 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
171 childregs->csr_euen = p->thread.csr_euen; in copy_thread()
172 childregs->csr_crmd = p->thread.csr_crmd; in copy_thread()
173 childregs->csr_prmd = p->thread.csr_prmd; in copy_thread()
174 childregs->csr_ecfg = p->thread.csr_ecfg; in copy_thread()
179 *childregs = *regs; in copy_thread()
180 childregs->regs[4] = 0; /* Child gets zero as return value */ in copy_thread()
[all …]
/openbmc/linux/arch/nios2/kernel/
H A Dprocess.c107 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()
/openbmc/linux/arch/sparc/kernel/
H A Dprocess_32.c267 struct pt_regs *childregs, *regs = current_pt_regs(); local
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->psr &= ~PSR_EF;
355 childregs->u_regs[UREG_I0] = current->pid;
[all …]
/openbmc/linux/arch/riscv/kernel/
H A Dprocess.c179 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
186 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
188 childregs->status = SR_PP | SR_PIE; in copy_thread()
193 *childregs = *(current_pt_regs()); in copy_thread()
195 riscv_v_vstate_off(childregs); in copy_thread()
197 childregs->sp = usp; in copy_thread()
199 childregs->tp = tls; in copy_thread()
200 childregs->a0 = 0; /* Return value of fork() */ in copy_thread()
204 p->thread.sp = (unsigned long)childregs; /* kernel sp */ in copy_thread()
/openbmc/linux/arch/alpha/kernel/
H A Dprocess.c241 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()
/openbmc/linux/arch/arm64/kernel/
H A Dprocess.c350 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
366 *childregs = *current_pt_regs(); in copy_thread()
367 childregs->regs[0] = 0; in copy_thread()
379 childregs->compat_sp = stack_start; in copy_thread()
381 childregs->sp = stack_start; in copy_thread()
400 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
401 childregs->pstate = PSR_MODE_EL1h | PSR_IL_BIT; in copy_thread()
407 p->thread.cpu_context.sp = (unsigned long)childregs; in copy_thread()
412 p->thread.cpu_context.fp = (unsigned long)childregs->stackframe; in copy_thread()
/openbmc/linux/arch/arm/kernel/
H A Dprocess.c241 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()
/openbmc/linux/arch/x86/kernel/
H A Dprocess.c166 struct pt_regs *childregs; in copy_thread() local
170 childregs = task_pt_regs(p); in copy_thread()
171 fork_frame = container_of(childregs, struct fork_frame, regs); in copy_thread()
174 frame->bp = encode_frame_pointer(childregs); in copy_thread()
194 p->thread.sp0 = (unsigned long) (childregs + 1); in copy_thread()
219 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
231 *childregs = *current_pt_regs(); in copy_thread()
232 childregs->ax = 0; in copy_thread()
234 childregs->sp = sp; in copy_thread()
247 childregs->sp = 0; in copy_thread()
[all …]
/openbmc/linux/arch/mips/kernel/
H A Dprocess.c114 struct pt_regs *childregs, *regs = current_pt_regs(); in copy_thread() local
120 childregs = (struct pt_regs *) childksp - 1; in copy_thread()
122 childksp = (unsigned long) childregs; in copy_thread()
140 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
151 childregs->cp0_status = status; in copy_thread()
156 *childregs = *regs; in copy_thread()
157 childregs->regs[7] = 0; /* Clear error flag */ in copy_thread()
158 childregs->regs[2] = 0; /* Child gets zero as return value */ in copy_thread()
160 childregs->regs[29] = usp; in copy_thread()
162 p->thread.reg29 = (unsigned long) childregs; in copy_thread()
[all …]
/openbmc/linux/arch/powerpc/kernel/
H A Dprocess.c1773 struct pt_regs *childregs; in copy_thread() local
1779 childregs = (struct pt_regs *)(sp + STACK_INT_FRAME_REGS); in copy_thread()
1789 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
1791 childregs->softe = IRQS_ENABLED; in copy_thread()
1800 *childregs = *regs; in copy_thread()
1802 childregs->gpr[1] = usp; in copy_thread()
1803 ((unsigned long *)sp)[0] = childregs->gpr[1]; in copy_thread()
1805 WARN_ON_ONCE(childregs->softe != IRQS_ENABLED); in copy_thread()
1811 childregs->gpr[13] = tls; in copy_thread()
1813 childregs->gpr[2] = tls; in copy_thread()
[all …]