1/* 2 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> 3 * Copyright (C) 2008-2009 PetaLogix 4 * Copyright (C) 2006 Atmark Techno, Inc. 5 * 6 * This file is subject to the terms and conditions of the GNU General Public 7 * License. See the file "COPYING" in the main directory of this archive 8 * for more details. 9 */ 10 11#ifndef _ASM_MICROBLAZE_CURRENT_H 12#define _ASM_MICROBLAZE_CURRENT_H 13 14/* 15 * Register used to hold the current task pointer while in the kernel. 16 * Any `call clobbered' register without a special meaning should be OK, 17 * but check asm/microblaze/kernel/entry.S to be sure. 18 */ 19#define CURRENT_TASK r31 20# ifndef __ASSEMBLY__ 21/* 22 * Dedicate r31 to keeping the current task pointer 23 */ 24register struct task_struct *current asm("r31"); 25 26# define get_current() current 27# endif /* __ASSEMBLY__ */ 28 29#endif /* _ASM_MICROBLAZE_CURRENT_H */ 30