| /* | |
| * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> | |
| * Copyright (C) 2008-2009 PetaLogix | |
| * Copyright (C) 2006 Atmark Techno, Inc. | |
| * | |
| * This file is subject to the terms and conditions of the GNU General Public | |
| * License. See the file "COPYING" in the main directory of this archive | |
| * for more details. | |
| */ | |
| #ifndef _ASM_MICROBLAZE_CURRENT_H | |
| #define _ASM_MICROBLAZE_CURRENT_H | |
| /* | |
| * Register used to hold the current task pointer while in the kernel. | |
| * Any `call clobbered' register without a special meaning should be OK, | |
| * but check asm/microblaze/kernel/entry.S to be sure. | |
| */ | |
| #define CURRENT_TASK r31 | |
| # ifndef __ASSEMBLY__ | |
| /* | |
| * Dedicate r31 to keeping the current task pointer | |
| */ | |
| register struct task_struct *current asm("r31"); | |
| # define get_current() current | |
| # endif /* __ASSEMBLY__ */ | |
| #endif /* _ASM_MICROBLAZE_CURRENT_H */ |