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