162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Vineetg: May 16th, 2008
662306a36Sopenharmony_ci *  - Current macro is now implemented as "global register" r25
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef _ASM_ARC_CURRENT_H
1062306a36Sopenharmony_ci#define _ASM_ARC_CURRENT_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef __ASSEMBLY__
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#ifdef CONFIG_ARC_CURR_IN_REG
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciregister struct task_struct *curr_arc asm("gp");
1762306a36Sopenharmony_ci#define current (curr_arc)
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#else
2062306a36Sopenharmony_ci#include <asm-generic/current.h>
2162306a36Sopenharmony_ci#endif /* ! CONFIG_ARC_CURR_IN_REG */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#endif /* ! __ASSEMBLY__ */
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif /* _ASM_ARC_CURRENT_H */
26