Linus TorvaldsLinux-2.6.12-rc21da177e21 years agoHistory
47 lines · 1.2 KB · C
RawDownload
/* * include/asm-v850/current.h -- Current task * *  Copyright (C) 2001,02  NEC Corporation *  Copyright (C) 2001,02  Miles Bader <miles@gnu.org> * * 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. * * Written by Miles Bader <miles@gnu.org> */ #ifndef __V850_CURRENT_H__#define __V850_CURRENT_H__ #ifndef __ASSEMBLY__ /* <linux/thread_info.h> is not asm-safe.  */#include <linux/thread_info.h>#endif #include <asm/macrology.h>  /* Register used to hold the current task pointer while in the kernel.   Any `call clobbered' register without a special meaning should be OK,   but check asm/v850/kernel/entry.S to be sure.  */#define CURRENT_TASK_REGNUM	16#define CURRENT_TASK 		macrology_paste (r, CURRENT_TASK_REGNUM)  #ifdef __ASSEMBLY__ /* Put a pointer to the current task structure into REG.  */#define GET_CURRENT_TASK(reg)						\	GET_CURRENT_THREAD(reg);					\	ld.w	TI_TASK[reg], reg #else /* !__ASSEMBLY__ */ /* A pointer to the current task.  */register struct task_struct *current					\   __asm__ (macrology_stringify (CURRENT_TASK)); #endif /* __ASSEMBLY__ */  #endif /* _V850_CURRENT_H */