/lk-master/arch/arm/arm/ |
A D | fpu.c | 67 void arm_fpu_thread_swap(struct thread *oldthread, struct thread *newthread) { in arm_fpu_thread_swap() argument 70 newthread, newthread ? newthread->arch.fpused : 0); in arm_fpu_thread_swap() 95 if (newthread) { in arm_fpu_thread_swap() 96 if (newthread->arch.fpused) { in arm_fpu_thread_swap() 99 __asm__ volatile("vmsr fpscr, %0" :: "r" (newthread->arch.fpscr)); in arm_fpu_thread_swap() 101 __asm__ volatile("vldm %0, { d0-d15 }" :: "r" (&newthread->arch.fpregs[0])); in arm_fpu_thread_swap() 104 __asm__ volatile("vldm %0, { d16-d31 }" :: "r" (&newthread->arch.fpregs[16])); in arm_fpu_thread_swap() 107 write_fpexc(newthread->arch.fpexc); in arm_fpu_thread_swap()
|
A D | thread.c | 71 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 74 arm_fpu_thread_swap(oldthread, newthread); in arch_context_switch() 77 arm_context_switch(&oldthread->arch.sp, newthread->arch.sp); in arch_context_switch()
|
/lk-master/arch/arm/arm-m/ |
A D | thread.c | 371 void arch_context_switch(struct thread *oldthread, struct thread *newthread) { in arch_context_switch() argument 408 if (newthread->arch.fpused) { in arch_context_switch() 424 if (newthread->arch.was_preempted) { in arch_context_switch() 442 :: "r"(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() 503 …_arch_non_preempt_context_switch(oldthread, newthread, oldthread->arch.fpused, newthread->arch.fpu… in arch_context_switch() [all …]
|
/lk-master/arch/x86/ |
A D | thread.c | 88 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 92 fpu_context_switch(oldthread, newthread); in arch_context_switch() 107 : "d" (&oldthread->arch.sp), "a" (newthread->arch.sp) in arch_context_switch() 136 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 138 fpu_context_switch(oldthread, newthread); in arch_context_switch() 141 x86_64_context_switch(&oldthread->arch.sp, newthread->arch.sp); in arch_context_switch()
|
/lk-master/kernel/ |
A D | thread.c | 431 thread_t *newthread; in get_top_thread() local 440 if (newthread->pinned_cpu < 0 || newthread->pinned_cpu == cpu) in get_top_thread() 448 return newthread; in get_top_thread() 470 thread_t *newthread; in thread_resched() local 483 DEBUG_ASSERT(newthread); in thread_resched() 489 if (newthread == oldthread) in thread_resched() 536 cpu, oldthread, oldthread->name, newthread, newthread->name); in thread_resched() 545 cpu, oldthread, oldthread->name, newthread, newthread->name); in thread_resched() 555 set_current_thread(newthread); in thread_resched() 560 oldthread->flags, newthread, newthread->name, in thread_resched() [all …]
|
/lk-master/arch/mips/ |
A D | thread.c | 50 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 51 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 53 mips_context_switch(&oldthread->arch.cs_frame, &newthread->arch.cs_frame); in arch_context_switch()
|
/lk-master/arch/m68k/ |
A D | thread.c | 50 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 51 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 53 m68k_context_switch(&oldthread->arch.cs_frame, &newthread->arch.cs_frame); in arch_context_switch()
|
/lk-master/arch/or1k/ |
A D | thread.c | 55 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 56 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 58 or1k_context_switch(&oldthread->arch.cs_frame, &newthread->arch.cs_frame); in arch_context_switch()
|
/lk-master/arch/riscv/ |
A D | thread.c | 56 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 59 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 61 riscv_context_switch(&oldthread->arch.cs_frame, &newthread->arch.cs_frame); in arch_context_switch()
|
/lk-master/arch/microblaze/ |
A D | thread.c | 59 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 60 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 62 microblaze_context_switch(&oldthread->arch.cs_frame, &newthread->arch.cs_frame); in arch_context_switch()
|
/lk-master/arch/arm64/ |
A D | thread.c | 76 void arch_context_switch(thread_t *oldthread, thread_t *newthread) { in arch_context_switch() argument 77 LTRACEF("old %p (%s), new %p (%s)\n", oldthread, oldthread->name, newthread, newthread->name); in arch_context_switch() 82 arm64_context_switch(&oldthread->arch.sp, newthread->arch.sp); in arch_context_switch()
|
/lk-master/arch/include/arch/ |
A D | thread.h | 19 void arch_context_switch(struct thread *oldthread, struct thread *newthread);
|
/lk-master/kernel/include/kernel/ |
A D | thread.h | 174 void uthread_context_switch(thread_t *oldthread, thread_t *newthread);
|
/lk-master/arch/arm/include/arch/ |
A D | arm.h | 236 void arm_fpu_thread_swap(struct thread *oldthread, struct thread *newthread);
|