/linux-4.1.27/arch/microblaze/kernel/ |
H A D | process.c | 57 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 63 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 65 ti->cpu_context.r1 = (unsigned long)childregs; copy_thread() 68 childregs->pt_mode = 1; copy_thread() 69 local_save_flags(childregs->msr); copy_thread() 71 ti->cpu_context.msr = childregs->msr & ~MSR_IE; copy_thread() 76 *childregs = *current_pt_regs(); copy_thread() 78 childregs->r1 = usp; copy_thread() 81 ti->cpu_context.r1 = (unsigned long)childregs; copy_thread() 83 ti->cpu_context.msr = (unsigned long)childregs->msr; copy_thread() 85 childregs->msr |= MSR_UMS; copy_thread() 87 /* we should consider the fact that childregs is a copy of the parent copy_thread() 97 childregs->msr &= ~MSR_EIP; copy_thread() 98 childregs->msr |= MSR_IE; copy_thread() 99 childregs->msr &= ~MSR_VM; copy_thread() 100 childregs->msr |= MSR_VMS; copy_thread() 101 childregs->msr |= MSR_EE; /* exceptions will be enabled*/ copy_thread() 103 ti->cpu_context.msr = (childregs->msr|MSR_VM); copy_thread() 114 childregs->r21 = childregs->r10; copy_thread()
|
/linux-4.1.27/arch/c6x/kernel/ |
H A D | process.c | 117 struct pt_regs *childregs; copy_thread() local 119 childregs = task_pt_regs(p); copy_thread() 123 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 124 childregs->sp = (unsigned long)(childregs + 1); copy_thread() 126 childregs->a0 = usp; /* function */ copy_thread() 127 childregs->a1 = ustk_size; /* argument */ copy_thread() 130 *childregs = *current_pt_regs(); copy_thread() 132 childregs->sp = usp; copy_thread() 137 p->thread.usp = childregs->sp; copy_thread() 138 thread_saved_ksp(p) = (unsigned long)childregs - 8; copy_thread() 148 childregs->dp = dp; copy_thread()
|
/linux-4.1.27/arch/sh/kernel/ |
H A D | process_32.c | 130 struct pt_regs *childregs; copy_thread() local 146 childregs = task_pt_regs(p); copy_thread() 147 p->thread.sp = (unsigned long) childregs; copy_thread() 149 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 151 childregs->regs[4] = arg; copy_thread() 152 childregs->regs[5] = usp; copy_thread() 153 childregs->sr = SR_MD; copy_thread() 155 childregs->sr |= SR_FD; copy_thread() 162 *childregs = *current_pt_regs(); copy_thread() 165 childregs->regs[15] = usp; copy_thread() 169 childregs->gbr = childregs->regs[0]; copy_thread() 171 childregs->regs[0] = 0; /* Set return value for child */ copy_thread()
|
H A D | process_64.c | 377 struct pt_regs *childregs; copy_thread() local 390 childregs = (struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1; copy_thread() 391 p->thread.sp = (unsigned long) childregs; copy_thread() 394 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 395 childregs->regs[2] = (unsigned long)arg; copy_thread() 396 childregs->regs[3] = (unsigned long)usp; copy_thread() 397 childregs->sr = (1 << 30); /* not user_mode */ copy_thread() 398 childregs->sr |= SR_FD; /* Invalidate FPU flag */ copy_thread() 402 *childregs = *current_pt_regs(); copy_thread() 411 childregs->regs[15] = neff_sign_extend(usp); copy_thread() 412 p->thread.uregs = childregs; copy_thread() 414 childregs->regs[9] = 0; /* Set return value for child */ copy_thread() 415 childregs->sr |= SR_FD; /* Invalidate FPU flag */ copy_thread()
|
/linux-4.1.27/arch/frv/kernel/ |
H A D | process.c | 132 struct pt_regs *childregs; copy_thread() local 134 childregs = (struct pt_regs *) copy_thread() 138 *childregs = *current_pt_regs(); copy_thread() 140 p->thread.frame = childregs; copy_thread() 142 p->thread.sp = (unsigned long) childregs; copy_thread() 145 p->thread.frame0 = childregs; copy_thread() 148 childregs->gr9 = usp; /* function */ copy_thread() 149 childregs->gr8 = arg; copy_thread() 155 childregs->sp = usp; copy_thread() 156 childregs->next_frame = NULL; copy_thread() 162 childregs->gr29 = childregs->gr12; copy_thread()
|
/linux-4.1.27/arch/xtensa/kernel/ |
H A D | process.c | 156 * in the clone_flags) and set up passed usp in the childregs. 160 * childregs are not used for the kernel threads. 165 * | childregs | 178 * childregs. 194 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 200 /* Create a call4 dummy-frame: a0 = 0, a1 = childregs. */ copy_thread() 201 *((int*)childregs - 3) = (unsigned long)childregs; copy_thread() 202 *((int*)childregs - 4) = 0; copy_thread() 204 p->thread.sp = (unsigned long)childregs; copy_thread() 218 *childregs = *regs; copy_thread() 219 childregs->areg[1] = usp; copy_thread() 220 childregs->areg[2] = 0; copy_thread() 237 int len = childregs->wmask & ~0xf; copy_thread() 244 childregs->wmask = 1; copy_thread() 245 childregs->windowstart = 1; copy_thread() 246 childregs->windowbase = 0; copy_thread() 248 int len = childregs->wmask & ~0xf; copy_thread() 249 memcpy(&childregs->areg[XCHAL_NUM_AREGS - len/4], copy_thread() 255 childregs->threadptr = childregs->areg[5]; copy_thread() 263 *((int *)childregs - 1) = thread_fn_arg; copy_thread() 264 *((int *)childregs - 2) = usp_thread_fn; copy_thread()
|
/linux-4.1.27/arch/score/kernel/ |
H A D | process.c | 75 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 78 p->thread.reg0 = (unsigned long) childregs; copy_thread() 80 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 85 *childregs = *current_pt_regs(); copy_thread() 86 childregs->regs[7] = 0; /* Clear error flag */ copy_thread() 87 childregs->regs[4] = 0; /* Child gets zero as return value */ copy_thread() 89 childregs->regs[0] = usp; /* user fork */ copy_thread()
|
/linux-4.1.27/arch/s390/kernel/ |
H A D | process.c | 95 struct pt_regs childregs; copy_thread() member in struct:fake_frame 98 frame = container_of(task_pt_regs(p), struct fake_frame, childregs); copy_thread() 122 memset(&frame->childregs, 0, sizeof(struct pt_regs)); copy_thread() 123 frame->childregs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_DAT | copy_thread() 125 frame->childregs.psw.addr = PSW_ADDR_AMODE | copy_thread() 127 frame->childregs.gprs[9] = new_stackp; /* function */ copy_thread() 128 frame->childregs.gprs[10] = arg; copy_thread() 129 frame->childregs.gprs[11] = (unsigned long) do_exit; copy_thread() 130 frame->childregs.orig_gpr2 = -1; copy_thread() 134 frame->childregs = *current_pt_regs(); copy_thread() 135 frame->childregs.gprs[2] = 0; /* child returns 0 on fork. */ copy_thread() 136 frame->childregs.flags = 0; copy_thread() 138 frame->childregs.gprs[15] = new_stackp; copy_thread() 143 frame->childregs.psw.mask &= ~PSW_MASK_RI; copy_thread() 152 unsigned long tls = frame->childregs.gprs[6]; copy_thread()
|
/linux-4.1.27/arch/m32r/kernel/ |
H A D | process.c | 134 struct pt_regs *childregs = task_pt_regs(tsk); copy_thread() local 139 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 140 childregs->psw = M32R_PSW_BIE; copy_thread() 141 childregs->r1 = spu; /* fn */ copy_thread() 142 childregs->r0 = arg; copy_thread() 146 *childregs = *current_pt_regs(); copy_thread() 148 childregs->spu = spu; copy_thread() 149 childregs->r0 = 0; /* Child gets zero as return value */ copy_thread() 152 tsk->thread.sp = (unsigned long)childregs; copy_thread()
|
/linux-4.1.27/arch/hexagon/kernel/ |
H A D | process.c | 76 struct pt_regs *childregs; copy_thread() local 79 childregs = (struct pt_regs *) (((unsigned long) ti + THREAD_SIZE) - copy_thread() 80 sizeof(*childregs)); copy_thread() 82 ti->regs = childregs; copy_thread() 90 ss = (struct hexagon_switch_stack *) ((unsigned long) childregs - copy_thread() 95 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 99 pt_set_kmode(childregs); copy_thread() 102 memcpy(childregs, current_pt_regs(), sizeof(*childregs)); copy_thread() 106 pt_set_rte_sp(childregs, usp); copy_thread() 109 childregs->r00 = 0; copy_thread() 121 childregs->ugp = childregs->r04; copy_thread()
|
/linux-4.1.27/arch/x86/kernel/ |
H A D | process_32.c | 135 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 139 p->thread.sp = (unsigned long) childregs; copy_thread() 140 p->thread.sp0 = (unsigned long) (childregs+1); copy_thread() 145 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 148 childregs->ds = __USER_DS; copy_thread() 149 childregs->es = __USER_DS; copy_thread() 150 childregs->fs = __KERNEL_PERCPU; copy_thread() 151 childregs->bx = sp; /* function */ copy_thread() 152 childregs->bp = arg; copy_thread() 153 childregs->orig_ax = -1; copy_thread() 154 childregs->cs = __KERNEL_CS | get_kernel_rpl(); copy_thread() 155 childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_FIXED; copy_thread() 159 *childregs = *current_pt_regs(); copy_thread() 160 childregs->ax = 0; copy_thread() 162 childregs->sp = sp; copy_thread() 188 (struct user_desc __user *)childregs->si, 0); copy_thread()
|
H A D | process_64.c | 159 struct pt_regs *childregs; copy_thread() local 163 childregs = task_pt_regs(p); copy_thread() 164 p->thread.sp = (unsigned long) childregs; copy_thread() 178 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 179 childregs->sp = (unsigned long)childregs; copy_thread() 180 childregs->ss = __KERNEL_DS; copy_thread() 181 childregs->bx = sp; /* function */ copy_thread() 182 childregs->bp = arg; copy_thread() 183 childregs->orig_ax = -1; copy_thread() 184 childregs->cs = __KERNEL_CS | get_kernel_rpl(); copy_thread() 185 childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_FIXED; copy_thread() 188 *childregs = *current_pt_regs(); copy_thread() 190 childregs->ax = 0; copy_thread() 192 childregs->sp = sp; copy_thread() 212 (struct user_desc __user *)childregs->si, 0); copy_thread() 215 err = do_arch_prctl(p, ARCH_SET_FS, childregs->r8); copy_thread()
|
/linux-4.1.27/arch/cris/arch-v10/kernel/ |
H A D | process.c | 100 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 101 struct switch_stack *swstack = ((struct switch_stack *)childregs) - 1; copy_thread() 112 childregs->dccr = 1 << I_DCCR_BITNR; copy_thread() 118 *childregs = *current_pt_regs(); /* struct copy of pt_regs */ copy_thread() 120 childregs->r10 = 0; /* child returns 0 after a fork/clone */ copy_thread() 139 printk("copy_thread: new regs at 0x%p, as shown below:\n", childregs); copy_thread() 140 show_registers(childregs); copy_thread()
|
/linux-4.1.27/arch/nios2/kernel/ |
H A D | process.c | 102 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 106 ((struct switch_stack *)childregs) - 1; copy_thread() 115 childregs->estatus = STATUS_PIE; copy_thread() 116 childregs->sp = (unsigned long) childstack; copy_thread() 119 p->thread.kregs = childregs; copy_thread() 124 *childregs = *regs; copy_thread() 125 childregs->r2 = 0; /* Set the return value for the child. */ copy_thread() 126 childregs->r7 = 0; copy_thread() 131 p->thread.kregs = childregs; copy_thread() 135 childregs->sp = usp; copy_thread()
|
/linux-4.1.27/arch/cris/arch-v32/kernel/ |
H A D | process.c | 108 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 109 struct switch_stack *swstack = ((struct switch_stack *) childregs) - 1; copy_thread() 121 childregs->ccs = 1 << (I_CCS_BITNR + CCS_SHIFT); copy_thread() 127 *childregs = *current_pt_regs(); /* Struct copy of pt_regs. */ copy_thread() 128 childregs->r10 = 0; /* Child returns 0 after a fork/clone. */ copy_thread() 134 task_thread_info(p)->tls = childregs->mof; copy_thread()
|
/linux-4.1.27/arch/metag/kernel/ |
H A D | process.c | 183 struct pt_regs *childregs = task_pt_regs(tsk); copy_thread() local 184 void *kernel_context = ((void *) childregs + copy_thread() 188 BUG_ON(((unsigned long)childregs) & 0x7); copy_thread() 203 memset(childregs, 0 , sizeof(struct pt_regs)); copy_thread() 206 childregs->ctx.AX[0].U1 = (unsigned long) global_base; copy_thread() 207 childregs->ctx.AX[0].U0 = (unsigned long) kernel_context; copy_thread() 209 childregs->ctx.DX[4].U1 = usp; copy_thread() 210 childregs->ctx.DX[3].U1 = kthread_arg; copy_thread() 221 *childregs = *current_pt_regs(); copy_thread() 224 childregs->ctx.AX[0].U0 = ALIGN(usp, 8); copy_thread() 228 childregs->ctx.DX[0].U0 = 0; copy_thread() 233 (__force void __user *)childregs->ctx.DX[1].U1; copy_thread()
|
/linux-4.1.27/arch/unicore32/kernel/ |
H A D | process.c | 235 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 238 thread->cpu_context.sp = (unsigned long)childregs; copy_thread() 243 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 246 *childregs = *current_pt_regs(); copy_thread() 247 childregs->UCreg_00 = 0; copy_thread() 249 childregs->UCreg_sp = stack_start; copy_thread() 252 childregs->UCreg_16 = childregs->UCreg_03; copy_thread()
|
/linux-4.1.27/arch/sparc/kernel/ |
H A D | process_32.c | 312 struct pt_regs *childregs, *regs = current_pt_regs(); local 326 * p->thread_info new_stack childregs stack bottom 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; 405 childregs->u_regs[UREG_I1] = 1; 411 childregs->u_regs[UREG_G7] = regs->u_regs[UREG_I3];
|
/linux-4.1.27/arch/avr32/kernel/ |
H A D | process.c | 286 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 289 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 294 childregs->sr = MODE_SUPERVISOR; copy_thread() 296 *childregs = *current_pt_regs(); copy_thread() 298 childregs->sp = usp; copy_thread() 299 childregs->r12 = 0; /* Set return value for child */ copy_thread() 304 p->thread.cpu_context.ksp = (unsigned long)childregs; copy_thread()
|
/linux-4.1.27/arch/arm64/kernel/ |
H A D | process.c | 256 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 262 *childregs = *current_pt_regs(); copy_thread() 263 childregs->regs[0] = 0; copy_thread() 266 childregs->compat_sp = stack_start; copy_thread() 277 childregs->sp = stack_start; copy_thread() 285 tls = childregs->regs[3]; copy_thread() 287 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 288 childregs->pstate = PSR_MODE_EL1h; copy_thread() 293 p->thread.cpu_context.sp = (unsigned long)childregs; copy_thread()
|
/linux-4.1.27/arch/blackfin/kernel/ |
H A D | process.c | 117 struct pt_regs *childregs; copy_thread() local 120 childregs = (struct pt_regs *) (task_stack_page(p) + THREAD_SIZE) - 1; copy_thread() 121 v = ((unsigned long *)childregs) - 2; copy_thread() 123 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 126 childregs->orig_p0 = -1; copy_thread() 127 childregs->ipend = 0x8000; copy_thread() 128 __asm__ __volatile__("%0 = syscfg;":"=da"(childregs->syscfg):); copy_thread() 131 *childregs = *current_pt_regs(); copy_thread() 132 childregs->r0 = 0; copy_thread()
|
/linux-4.1.27/arch/mips/kernel/ |
H A D | process.c | 117 struct pt_regs *childregs, *regs = current_pt_regs(); copy_thread() local 124 childregs = (struct pt_regs *) childksp - 1; copy_thread() 126 childksp = (unsigned long) childregs; copy_thread() 131 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 143 childregs->cp0_status = status; copy_thread() 148 *childregs = *regs; copy_thread() 149 childregs->regs[7] = 0; /* Clear error flag */ copy_thread() 150 childregs->regs[2] = 0; /* Child gets zero as return value */ copy_thread() 152 childregs->regs[29] = usp; copy_thread() 155 p->thread.reg29 = (unsigned long) childregs; copy_thread() 162 childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); copy_thread()
|
/linux-4.1.27/arch/arm/kernel/ |
H A D | process.c | 209 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 214 *childregs = *current_pt_regs(); copy_thread() 215 childregs->ARM_r0 = 0; copy_thread() 217 childregs->ARM_sp = stack_start; copy_thread() 219 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 222 childregs->ARM_cpsr = SVC_MODE; copy_thread() 225 thread->cpu_context.sp = (unsigned long)childregs; copy_thread() 230 thread->tp_value[0] = childregs->ARM_r3; copy_thread()
|
/linux-4.1.27/arch/alpha/kernel/ |
H A D | process.c | 250 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 254 childstack = ((struct switch_stack *) childregs) - 1; copy_thread() 265 childregs->hae = alpha_mv.hae_cache, copy_thread() 277 *childregs = *regs; copy_thread() 278 childregs->r0 = 0; copy_thread() 279 childregs->r19 = 0; copy_thread() 280 childregs->r20 = 1; /* OSF/1 has some strange fork() semantics. */ copy_thread()
|
/linux-4.1.27/arch/tile/kernel/ |
H A D | process.c | 104 struct pt_regs *childregs = task_pt_regs(p); copy_thread() local 116 ksp = (unsigned long) childregs; copy_thread() 130 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 135 childregs->ex1 = PL_ICS_EX1(KERNEL_PL, 0); copy_thread() 164 *childregs = *current_pt_regs(); copy_thread() 165 childregs->regs[0] = 0; /* return value is zero */ copy_thread() 167 childregs->sp = sp; /* override with new user stack pointer */ copy_thread() 168 memcpy(callee_regs, &childregs->regs[CALLEE_SAVED_FIRST_REG], copy_thread() 172 p->thread.usp0 = childregs->sp; copy_thread() 179 childregs->tp = childregs->regs[4]; copy_thread()
|
/linux-4.1.27/arch/powerpc/kernel/ |
H A D | process.c | 1138 struct pt_regs *childregs, *kregs; copy_thread() local 1146 childregs = (struct pt_regs *) sp; copy_thread() 1150 memset(childregs, 0, sizeof(struct pt_regs)); copy_thread() 1151 childregs->gpr[1] = sp + sizeof(struct pt_regs); copy_thread() 1154 childregs->gpr[14] = ppc_function_entry((void *)usp); copy_thread() 1157 childregs->softe = 1; copy_thread() 1159 childregs->gpr[15] = kthread_arg; copy_thread() 1167 *childregs = *regs; copy_thread() 1169 childregs->gpr[1] = usp; copy_thread() 1170 p->thread.regs = childregs; copy_thread() 1171 childregs->gpr[3] = 0; /* Result from fork() */ copy_thread() 1175 childregs->gpr[13] = childregs->gpr[6]; copy_thread() 1178 childregs->gpr[2] = childregs->gpr[6]; copy_thread()
|