Lines Matching refs:newthread

196 __NAKED static void _half_save_and_svc(struct thread *oldthread, struct thread *newthread, bool fpu…  in _half_save_and_svc()  argument
198 __NAKED static void _half_save_and_svc(struct thread *oldthread, struct thread *newthread) in _half_save_and_svc()
269 …rch_non_preempt_context_switch(struct thread *oldthread, struct thread *newthread, bool save_fpu, … in _arch_non_preempt_context_switch() argument
271 …ED static void _arch_non_preempt_context_switch(struct thread *oldthread, struct thread *newthread) in _arch_non_preempt_context_switch()
371 void arch_context_switch(struct thread *oldthread, struct thread *newthread) { in arch_context_switch() argument
382 preempt_frame, preempt_frame->lr, preempt_frame->pc, newthread->arch.was_preempted); in arch_context_switch()
408 if (newthread->arch.fpused) { in arch_context_switch()
420 asm volatile("vldm %0, { s16-s31 }" :: "r" (&newthread->arch.fpregs[0])); in arch_context_switch()
424 if (newthread->arch.was_preempted) { in arch_context_switch()
442 :: "r"(newthread->arch.sp) in arch_context_switch()
448 struct arm_cm_exception_frame_short *frame = (void *)newthread->arch.sp; in arch_context_switch()
456 frame->r0 = newthread->arch.fpused; in arch_context_switch()
460 LTRACEF("iretting to user space, fpused %u\n", newthread->arch.fpused); in arch_context_switch()
485 if (newthread->arch.was_preempted) { in arch_context_switch()
495 … _half_save_and_svc(oldthread, newthread, oldthread->arch.fpused, newthread->arch.fpused); in arch_context_switch()
497 _half_save_and_svc(oldthread, newthread); in arch_context_switch()
501 LTRACEF("both sides are not preempted newsp 0x%lx\n", newthread->arch.sp); in arch_context_switch()
503 …_arch_non_preempt_context_switch(oldthread, newthread, oldthread->arch.fpused, newthread->arch.fpu… in arch_context_switch()
505 _arch_non_preempt_context_switch(oldthread, newthread); in arch_context_switch()