1/*
2 * include/asm-xtensa/current.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License.  See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_CURRENT_H
12#define _XTENSA_CURRENT_H
13
14#include <asm/thread_info.h>
15
16#ifndef __ASSEMBLY__
17
18#include <linux/thread_info.h>
19
20struct task_struct;
21
22static inline struct task_struct *get_current(void)
23{
24	return current_thread_info()->task;
25}
26
27#define current get_current()
28
29register unsigned long current_stack_pointer __asm__("a1");
30
31#else
32
33#define GET_CURRENT(reg,sp)		\
34	GET_THREAD_INFO(reg,sp);	\
35	l32i reg, reg, TI_TASK		\
36
37#endif
38
39
40#endif /* XTENSA_CURRENT_H */
41