xref: /openbmc/linux/arch/arc/include/asm/current.h (revision 62e7ca52)
1 /*
2  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * Vineetg: May 16th, 2008
9  *  - Current macro is now implemented as "global register" r25
10  */
11 
12 #ifndef _ASM_ARC_CURRENT_H
13 #define _ASM_ARC_CURRENT_H
14 
15 #ifdef __KERNEL__
16 
17 #ifndef __ASSEMBLY__
18 
19 #ifdef CONFIG_ARC_CURR_IN_REG
20 
21 register struct task_struct *curr_arc asm("r25");
22 #define current (curr_arc)
23 
24 #else
25 #include <asm-generic/current.h>
26 #endif /* ! CONFIG_ARC_CURR_IN_REG */
27 
28 #endif /* ! __ASSEMBLY__ */
29 
30 #endif	/* __KERNEL__ */
31 
32 #endif /* _ASM_ARC_CURRENT_H */
33