1 /* SPDX-License-Identifier: GPL-2.0 */
3 #ifndef __ASM_CSKY_SWITCH_TO_H
4 #define __ASM_CSKY_SWITCH_TO_H
6 #include <linux/thread_info.h>
7 #ifdef CONFIG_CPU_HAS_FPU
9 static inline void __switch_to_fpu(struct task_struct
*prev
,
10 struct task_struct
*next
)
12 save_to_user_fp(&prev
->thread
.user_fp
);
13 restore_from_user_fp(&next
->thread
.user_fp
);
16 static inline void __switch_to_fpu(struct task_struct
*prev
,
17 struct task_struct
*next
)
22 * Context switching is now performed out-of-line in switch_to.S
24 extern struct task_struct
*__switch_to(struct task_struct
*,
25 struct task_struct
*);
27 #define switch_to(prev, next, last) \
29 struct task_struct *__prev = (prev); \
30 struct task_struct *__next = (next); \
31 __switch_to_fpu(__prev, __next); \
32 ((last) = __switch_to((prev), (next))); \
35 #endif /* __ASM_CSKY_SWITCH_TO_H */