Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
switch_to_64.h
Go to the documentation of this file.
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  */
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 */