Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
current.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2009 Michal Simek <[email protected]>
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  */
24 register struct task_struct *current asm("r31");
25 
26 # define get_current() current
27 # endif /* __ASSEMBLY__ */
28 
29 #endif /* _ASM_MICROBLAZE_CURRENT_H */