Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / sh / include / asm / switch_to_64.h
1 /*
2  * Copyright (C) 2000, 2001  Paolo Alberelli
3  * Copyright (C) 2003  Paul Mundt
4  * Copyright (C) 2004  Richard Curnow
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License.  See the file "COPYING" in the main directory of this archive
8  * for more details.
9  */
10 #ifndef __ASM_SH_SWITCH_TO_64_H
11 #define __ASM_SH_SWITCH_TO_64_H
12
13 struct thread_struct;
14 struct task_struct;
15
16 /*
17  *      switch_to() should switch tasks to task nr n, first
18  */
19 struct task_struct *sh64_switch_to(struct task_struct *prev,
20                                    struct thread_struct *prev_thread,
21                                    struct task_struct *next,
22                                    struct thread_struct *next_thread);
23
24 #define switch_to(prev,next,last)                               \
25 do {                                                            \
26         if (last_task_used_math != next) {                      \
27                 struct pt_regs *regs = next->thread.uregs;      \
28                 if (regs) regs->sr |= SR_FD;                    \
29         }                                                       \
30         last = sh64_switch_to(prev, &prev->thread, next,        \
31                               &next->thread);                   \
32 } while (0)
33
34
35 #endif /* __ASM_SH_SWITCH_TO_64_H */