1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Vineetg: May 16th, 2008 6*4882a593Smuzhiyun * - Current macro is now implemented as "global register" r25 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef _ASM_ARC_CURRENT_H 10*4882a593Smuzhiyun #define _ASM_ARC_CURRENT_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #ifdef CONFIG_ARC_CURR_IN_REG 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun register struct task_struct *curr_arc asm("r25"); 17*4882a593Smuzhiyun #define current (curr_arc) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #else 20*4882a593Smuzhiyun #include <asm-generic/current.h> 21*4882a593Smuzhiyun #endif /* ! CONFIG_ARC_CURR_IN_REG */ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #endif /* ! __ASSEMBLY__ */ 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #endif /* _ASM_ARC_CURRENT_H */ 26