Lines Matching refs:thread
151 static void init_regs(struct thread_ctx *thread, uint32_t a0, uint32_t a1, in init_regs() argument
155 thread->regs.pc = (uint32_t)pc; in init_regs()
161 thread->regs.cpsr = read_cpsr() & ARM32_CPSR_E; in init_regs()
162 thread->regs.cpsr |= CPSR_MODE_SVC | CPSR_A | in init_regs()
165 if (thread->regs.pc & 1) in init_regs()
166 thread->regs.cpsr |= CPSR_T; in init_regs()
168 thread->regs.svc_sp = thread->stack_va_end; in init_regs()
174 thread->regs.r0 = a0; in init_regs()
175 thread->regs.r1 = a1; in init_regs()
176 thread->regs.r2 = a2; in init_regs()
177 thread->regs.r3 = a3; in init_regs()
178 thread->regs.r4 = a4; in init_regs()
179 thread->regs.r5 = a5; in init_regs()
180 thread->regs.r6 = a6; in init_regs()
181 thread->regs.r7 = a7; in init_regs()
186 static void init_regs(struct thread_ctx *thread, uint32_t a0, uint32_t a1, in init_regs() argument
190 thread->regs.pc = (uint64_t)pc; in init_regs()
196 thread->regs.cpsr = SPSR_64(SPSR_64_MODE_EL1, SPSR_64_MODE_SP_EL0, in init_regs()
199 thread->regs.sp = thread->stack_va_end; in init_regs()
205 thread->regs.x[0] = a0; in init_regs()
206 thread->regs.x[1] = a1; in init_regs()
207 thread->regs.x[2] = a2; in init_regs()
208 thread->regs.x[3] = a3; in init_regs()
209 thread->regs.x[4] = a4; in init_regs()
210 thread->regs.x[5] = a5; in init_regs()
211 thread->regs.x[6] = a6; in init_regs()
212 thread->regs.x[7] = a7; in init_regs()
215 thread->regs.x[29] = 0; in init_regs()