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