linux/arch/sh/include/asm/switch_to_64.h
<<
>>
Prefs
   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
  13struct thread_struct;
  14struct task_struct;
  15
  16/*
  17 *      switch_to() should switch tasks to task nr n, first
  18 */
  19struct 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)                               \
  25do {                                                            \
  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 */
  36