Home
last modified time | relevance | path

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

/linux-4.4.14/arch/microblaze/kernel/
Dprocess.c57 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
63 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
65 ti->cpu_context.r1 = (unsigned long)childregs; in copy_thread()
68 childregs->pt_mode = 1; in copy_thread()
69 local_save_flags(childregs->msr); in copy_thread()
71 ti->cpu_context.msr = childregs->msr & ~MSR_IE; in copy_thread()
76 *childregs = *current_pt_regs(); in copy_thread()
78 childregs->r1 = usp; in copy_thread()
81 ti->cpu_context.r1 = (unsigned long)childregs; in copy_thread()
83 ti->cpu_context.msr = (unsigned long)childregs->msr; in copy_thread()
[all …]
/linux-4.4.14/arch/c6x/kernel/
Dprocess.c117 struct pt_regs *childregs; in copy_thread() local
119 childregs = task_pt_regs(p); in copy_thread()
123 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
124 childregs->sp = (unsigned long)(childregs + 1); in copy_thread()
126 childregs->a0 = usp; /* function */ in copy_thread()
127 childregs->a1 = ustk_size; /* argument */ in copy_thread()
130 *childregs = *current_pt_regs(); in copy_thread()
132 childregs->sp = usp; in copy_thread()
137 p->thread.usp = childregs->sp; in copy_thread()
138 thread_saved_ksp(p) = (unsigned long)childregs - 8; in copy_thread()
[all …]
/linux-4.4.14/arch/hexagon/kernel/
Dprocess.c76 struct pt_regs *childregs; in copy_thread() local
79 childregs = (struct pt_regs *) (((unsigned long) ti + THREAD_SIZE) - in copy_thread()
80 sizeof(*childregs)); in copy_thread()
82 ti->regs = childregs; in copy_thread()
90 ss = (struct hexagon_switch_stack *) ((unsigned long) childregs - in copy_thread()
95 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
99 pt_set_kmode(childregs); in copy_thread()
102 memcpy(childregs, current_pt_regs(), sizeof(*childregs)); in copy_thread()
106 pt_set_rte_sp(childregs, usp); in copy_thread()
109 childregs->r00 = 0; in copy_thread()
[all …]
/linux-4.4.14/arch/xtensa/kernel/
Dprocess.c194 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
201 *((int*)childregs - 3) = (unsigned long)childregs; in copy_thread()
202 *((int*)childregs - 4) = 0; in copy_thread()
204 p->thread.sp = (unsigned long)childregs; in copy_thread()
218 *childregs = *regs; in copy_thread()
219 childregs->areg[1] = usp; in copy_thread()
220 childregs->areg[2] = 0; in copy_thread()
237 int len = childregs->wmask & ~0xf; in copy_thread()
244 childregs->wmask = 1; in copy_thread()
245 childregs->windowstart = 1; in copy_thread()
[all …]
/linux-4.4.14/arch/s390/kernel/
Dprocess.c127 struct pt_regs childregs; in copy_thread() member
130 frame = container_of(task_pt_regs(p), struct fake_frame, childregs); in copy_thread()
154 memset(&frame->childregs, 0, sizeof(struct pt_regs)); in copy_thread()
155 frame->childregs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_DAT | in copy_thread()
157 frame->childregs.psw.addr = PSW_ADDR_AMODE | in copy_thread()
159 frame->childregs.gprs[9] = new_stackp; /* function */ in copy_thread()
160 frame->childregs.gprs[10] = arg; in copy_thread()
161 frame->childregs.gprs[11] = (unsigned long) do_exit; in copy_thread()
162 frame->childregs.orig_gpr2 = -1; in copy_thread()
166 frame->childregs = *current_pt_regs(); in copy_thread()
[all …]
/linux-4.4.14/arch/h8300/kernel/
Dprocess.c109 struct pt_regs *childregs; in copy_thread() local
111 childregs = (struct pt_regs *) (THREAD_SIZE + task_stack_page(p)) - 1; in copy_thread()
114 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
115 childregs->retpc = (unsigned long) ret_from_kernel_thread; in copy_thread()
116 childregs->er4 = topstk; /* arg */ in copy_thread()
117 childregs->er5 = usp; /* fn */ in copy_thread()
119 *childregs = *current_pt_regs(); in copy_thread()
120 childregs->er0 = 0; in copy_thread()
121 childregs->retpc = (unsigned long) ret_from_fork; in copy_thread()
124 p->thread.ksp = (unsigned long)childregs; in copy_thread()
/linux-4.4.14/arch/sh/kernel/
Dprocess_32.c130 struct pt_regs *childregs; in copy_thread() local
146 childregs = task_pt_regs(p); in copy_thread()
147 p->thread.sp = (unsigned long) childregs; in copy_thread()
149 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
151 childregs->regs[4] = arg; in copy_thread()
152 childregs->regs[5] = usp; in copy_thread()
153 childregs->sr = SR_MD; in copy_thread()
155 childregs->sr |= SR_FD; in copy_thread()
162 *childregs = *current_pt_regs(); in copy_thread()
165 childregs->regs[15] = usp; in copy_thread()
[all …]
Dprocess_64.c377 struct pt_regs *childregs; in copy_thread() local
390 childregs = (struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1; in copy_thread()
391 p->thread.sp = (unsigned long) childregs; in copy_thread()
394 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
395 childregs->regs[2] = (unsigned long)arg; in copy_thread()
396 childregs->regs[3] = (unsigned long)usp; in copy_thread()
397 childregs->sr = (1 << 30); /* not user_mode */ in copy_thread()
398 childregs->sr |= SR_FD; /* Invalidate FPU flag */ in copy_thread()
402 *childregs = *current_pt_regs(); in copy_thread()
411 childregs->regs[15] = neff_sign_extend(usp); in copy_thread()
[all …]
/linux-4.4.14/arch/frv/kernel/
Dprocess.c132 struct pt_regs *childregs; in copy_thread() local
134 childregs = (struct pt_regs *) in copy_thread()
138 *childregs = *current_pt_regs(); in copy_thread()
140 p->thread.frame = childregs; in copy_thread()
142 p->thread.sp = (unsigned long) childregs; in copy_thread()
145 p->thread.frame0 = childregs; in copy_thread()
148 childregs->gr9 = usp; /* function */ in copy_thread()
149 childregs->gr8 = arg; in copy_thread()
155 childregs->sp = usp; in copy_thread()
156 childregs->next_frame = NULL; in copy_thread()
[all …]
/linux-4.4.14/arch/x86/kernel/
Dprocess_32.c135 struct pt_regs *childregs = task_pt_regs(p); in copy_thread_tls() local
139 p->thread.sp = (unsigned long) childregs; in copy_thread_tls()
140 p->thread.sp0 = (unsigned long) (childregs+1); in copy_thread_tls()
145 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread_tls()
148 childregs->ds = __USER_DS; in copy_thread_tls()
149 childregs->es = __USER_DS; in copy_thread_tls()
150 childregs->fs = __KERNEL_PERCPU; in copy_thread_tls()
151 childregs->bx = sp; /* function */ in copy_thread_tls()
152 childregs->bp = arg; in copy_thread_tls()
153 childregs->orig_ax = -1; in copy_thread_tls()
[all …]
Dprocess_64.c160 struct pt_regs *childregs; in copy_thread_tls() local
164 childregs = task_pt_regs(p); in copy_thread_tls()
165 p->thread.sp = (unsigned long) childregs; in copy_thread_tls()
179 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread_tls()
180 childregs->sp = (unsigned long)childregs; in copy_thread_tls()
181 childregs->ss = __KERNEL_DS; in copy_thread_tls()
182 childregs->bx = sp; /* function */ in copy_thread_tls()
183 childregs->bp = arg; in copy_thread_tls()
184 childregs->orig_ax = -1; in copy_thread_tls()
185 childregs->cs = __KERNEL_CS | get_kernel_rpl(); in copy_thread_tls()
[all …]
/linux-4.4.14/arch/m32r/kernel/
Dprocess.c134 struct pt_regs *childregs = task_pt_regs(tsk); in copy_thread() local
139 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
140 childregs->psw = M32R_PSW_BIE; in copy_thread()
141 childregs->r1 = spu; /* fn */ in copy_thread()
142 childregs->r0 = arg; in copy_thread()
146 *childregs = *current_pt_regs(); in copy_thread()
148 childregs->spu = spu; in copy_thread()
149 childregs->r0 = 0; /* Child gets zero as return value */ in copy_thread()
152 tsk->thread.sp = (unsigned long)childregs; in copy_thread()
/linux-4.4.14/arch/score/kernel/
Dprocess.c75 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
78 p->thread.reg0 = (unsigned long) childregs; in copy_thread()
80 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
85 *childregs = *current_pt_regs(); in copy_thread()
86 childregs->regs[7] = 0; /* Clear error flag */ in copy_thread()
87 childregs->regs[4] = 0; /* Child gets zero as return value */ in copy_thread()
89 childregs->regs[0] = usp; /* user fork */ in copy_thread()
/linux-4.4.14/arch/nios2/kernel/
Dprocess.c102 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
106 ((struct switch_stack *)childregs) - 1; in copy_thread()
115 childregs->estatus = STATUS_PIE; in copy_thread()
116 childregs->sp = (unsigned long) childstack; in copy_thread()
119 p->thread.kregs = childregs; in copy_thread()
124 *childregs = *regs; in copy_thread()
125 childregs->r2 = 0; /* Set the return value for the child. */ in copy_thread()
126 childregs->r7 = 0; in copy_thread()
131 p->thread.kregs = childregs; in copy_thread()
135 childregs->sp = usp; in copy_thread()
/linux-4.4.14/arch/cris/arch-v10/kernel/
Dprocess.c100 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
101 struct switch_stack *swstack = ((struct switch_stack *)childregs) - 1; in copy_thread()
112 childregs->dccr = 1 << I_DCCR_BITNR; in copy_thread()
118 *childregs = *current_pt_regs(); /* struct copy of pt_regs */ in copy_thread()
120 childregs->r10 = 0; /* child returns 0 after a fork/clone */ in copy_thread()
139 printk("copy_thread: new regs at 0x%p, as shown below:\n", childregs); in copy_thread()
140 show_registers(childregs); in copy_thread()
/linux-4.4.14/arch/arm64/kernel/
Dprocess.c250 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
255 *childregs = *current_pt_regs(); in copy_thread()
256 childregs->regs[0] = 0; in copy_thread()
266 childregs->compat_sp = stack_start; in copy_thread()
271 childregs->sp = stack_start; in copy_thread()
279 p->thread.tp_value = childregs->regs[3]; in copy_thread()
281 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
282 childregs->pstate = PSR_MODE_EL1h; in copy_thread()
287 p->thread.cpu_context.sp = (unsigned long)childregs; in copy_thread()
/linux-4.4.14/arch/cris/arch-v32/kernel/
Dprocess.c108 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
109 struct switch_stack *swstack = ((struct switch_stack *) childregs) - 1; in copy_thread()
121 childregs->ccs = 1 << (I_CCS_BITNR + CCS_SHIFT); in copy_thread()
127 *childregs = *current_pt_regs(); /* Struct copy of pt_regs. */ in copy_thread()
128 childregs->r10 = 0; /* Child returns 0 after a fork/clone. */ in copy_thread()
134 task_thread_info(p)->tls = childregs->mof; in copy_thread()
/linux-4.4.14/arch/metag/kernel/
Dprocess.c183 struct pt_regs *childregs = task_pt_regs(tsk); in copy_thread() local
184 void *kernel_context = ((void *) childregs + in copy_thread()
188 BUG_ON(((unsigned long)childregs) & 0x7); in copy_thread()
203 memset(childregs, 0 , sizeof(struct pt_regs)); in copy_thread()
206 childregs->ctx.AX[0].U1 = (unsigned long) global_base; in copy_thread()
207 childregs->ctx.AX[0].U0 = (unsigned long) kernel_context; in copy_thread()
209 childregs->ctx.DX[4].U1 = usp; in copy_thread()
210 childregs->ctx.DX[3].U1 = kthread_arg; in copy_thread()
221 *childregs = *current_pt_regs(); in copy_thread()
224 childregs->ctx.AX[0].U0 = ALIGN(usp, 8); in copy_thread()
[all …]
/linux-4.4.14/arch/unicore32/kernel/
Dprocess.c235 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
238 thread->cpu_context.sp = (unsigned long)childregs; in copy_thread()
243 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
246 *childregs = *current_pt_regs(); in copy_thread()
247 childregs->UCreg_00 = 0; in copy_thread()
249 childregs->UCreg_sp = stack_start; in copy_thread()
252 childregs->UCreg_16 = childregs->UCreg_03; in copy_thread()
/linux-4.4.14/arch/sparc/kernel/
Dprocess_32.c312 struct pt_regs *childregs, *regs = current_pt_regs(); local
333 childregs = (struct pt_regs *) (new_stack + STACKFRAME_SZ);
343 p->thread.kregs = childregs;
352 childregs->u_regs[UREG_G1] = sp; /* function */
353 childregs->u_regs[UREG_G2] = arg;
354 psr = childregs->psr = get_psr();
360 childregs->u_regs[UREG_FP] = sp;
394 childregs->u_regs[UREG_FP] = (unsigned long)childstack;
399 childregs->psr &= ~PSR_EF;
404 childregs->u_regs[UREG_I0] = current->pid;
[all …]
/linux-4.4.14/arch/alpha/kernel/
Dprocess.c250 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
254 childstack = ((struct switch_stack *) childregs) - 1; in copy_thread()
265 childregs->hae = alpha_mv.hae_cache, in copy_thread()
277 *childregs = *regs; in copy_thread()
278 childregs->r0 = 0; in copy_thread()
279 childregs->r19 = 0; in copy_thread()
280 childregs->r20 = 1; /* OSF/1 has some strange fork() semantics. */ in copy_thread()
/linux-4.4.14/arch/arm/kernel/
Dprocess.c228 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
243 *childregs = *current_pt_regs(); in copy_thread()
244 childregs->ARM_r0 = 0; in copy_thread()
246 childregs->ARM_sp = stack_start; in copy_thread()
248 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
251 childregs->ARM_cpsr = SVC_MODE; in copy_thread()
254 thread->cpu_context.sp = (unsigned long)childregs; in copy_thread()
259 thread->tp_value[0] = childregs->ARM_r3; in copy_thread()
/linux-4.4.14/arch/blackfin/kernel/
Dprocess.c117 struct pt_regs *childregs; in copy_thread() local
120 childregs = (struct pt_regs *) (task_stack_page(p) + THREAD_SIZE) - 1; in copy_thread()
121 v = ((unsigned long *)childregs) - 2; in copy_thread()
123 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
126 childregs->orig_p0 = -1; in copy_thread()
127 childregs->ipend = 0x8000; in copy_thread()
128 __asm__ __volatile__("%0 = syscfg;":"=da"(childregs->syscfg):); in copy_thread()
131 *childregs = *current_pt_regs(); in copy_thread()
132 childregs->r0 = 0; in copy_thread()
/linux-4.4.14/arch/mips/kernel/
Dprocess.c117 struct pt_regs *childregs, *regs = current_pt_regs(); in copy_thread() local
124 childregs = (struct pt_regs *) childksp - 1; in copy_thread()
126 childksp = (unsigned long) childregs; in copy_thread()
131 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
143 childregs->cp0_status = status; in copy_thread()
148 *childregs = *regs; in copy_thread()
149 childregs->regs[7] = 0; /* Clear error flag */ in copy_thread()
150 childregs->regs[2] = 0; /* Child gets zero as return value */ in copy_thread()
152 childregs->regs[29] = usp; in copy_thread()
155 p->thread.reg29 = (unsigned long) childregs; in copy_thread()
[all …]
/linux-4.4.14/arch/avr32/kernel/
Dprocess.c286 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
289 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
294 childregs->sr = MODE_SUPERVISOR; in copy_thread()
296 *childregs = *current_pt_regs(); in copy_thread()
298 childregs->sp = usp; in copy_thread()
299 childregs->r12 = 0; /* Set return value for child */ in copy_thread()
304 p->thread.cpu_context.ksp = (unsigned long)childregs; in copy_thread()
/linux-4.4.14/arch/tile/kernel/
Dprocess.c105 struct pt_regs *childregs = task_pt_regs(p); in copy_thread() local
117 ksp = (unsigned long) childregs; in copy_thread()
131 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
164 *childregs = *current_pt_regs(); in copy_thread()
165 childregs->regs[0] = 0; /* return value is zero */ in copy_thread()
167 childregs->sp = sp; /* override with new user stack pointer */ in copy_thread()
168 memcpy(callee_regs, &childregs->regs[CALLEE_SAVED_FIRST_REG], in copy_thread()
172 p->thread.usp0 = childregs->sp; in copy_thread()
179 childregs->tp = childregs->regs[4]; in copy_thread()
/linux-4.4.14/arch/powerpc/kernel/
Dprocess.c1137 struct pt_regs *childregs, *kregs; in copy_thread() local
1145 childregs = (struct pt_regs *) sp; in copy_thread()
1149 memset(childregs, 0, sizeof(struct pt_regs)); in copy_thread()
1150 childregs->gpr[1] = sp + sizeof(struct pt_regs); in copy_thread()
1153 childregs->gpr[14] = ppc_function_entry((void *)usp); in copy_thread()
1156 childregs->softe = 1; in copy_thread()
1158 childregs->gpr[15] = kthread_arg; in copy_thread()
1166 *childregs = *regs; in copy_thread()
1168 childregs->gpr[1] = usp; in copy_thread()
1169 p->thread.regs = childregs; in copy_thread()
[all …]