Commit | Line | Data |
---|---|---|
e839ca52 DH |
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 */ |