xref: /openbmc/linux/arch/arc/include/asm/current.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2080c3747SVineet Gupta /*
3080c3747SVineet Gupta  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
4080c3747SVineet Gupta  *
5080c3747SVineet Gupta  * Vineetg: May 16th, 2008
6080c3747SVineet Gupta  *  - Current macro is now implemented as "global register" r25
7080c3747SVineet Gupta  */
8080c3747SVineet Gupta 
9080c3747SVineet Gupta #ifndef _ASM_ARC_CURRENT_H
10080c3747SVineet Gupta #define _ASM_ARC_CURRENT_H
11080c3747SVineet Gupta 
12080c3747SVineet Gupta #ifndef __ASSEMBLY__
13080c3747SVineet Gupta 
14080c3747SVineet Gupta #ifdef CONFIG_ARC_CURR_IN_REG
15080c3747SVineet Gupta 
16*cfca4b5aSVineet Gupta register struct task_struct *curr_arc asm("gp");
17080c3747SVineet Gupta #define current (curr_arc)
18080c3747SVineet Gupta 
19080c3747SVineet Gupta #else
20080c3747SVineet Gupta #include <asm-generic/current.h>
21080c3747SVineet Gupta #endif /* ! CONFIG_ARC_CURR_IN_REG */
22080c3747SVineet Gupta 
23080c3747SVineet Gupta #endif /* ! __ASSEMBLY__ */
24080c3747SVineet Gupta 
25080c3747SVineet Gupta #endif /* _ASM_ARC_CURRENT_H */
26