xref: /linux/arch/parisc/include/asm/current.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_PARISC_CURRENT_H
3 #define _ASM_PARISC_CURRENT_H
4 
5 #ifndef __ASSEMBLY__
6 struct task_struct;
7 
8 static __always_inline struct task_struct *get_current(void)
9 {
10 	struct task_struct *ts;
11 
12 	/* do not use mfctl() macro as it is marked volatile */
13 	asm( "mfctl %%cr30,%0" : "=r" (ts) );
14 	return ts;
15 }
16 
17 #define current get_current()
18 
19 #endif /* __ASSEMBLY__ */
20 
21 #endif /* _ASM_PARISC_CURRENT_H */
22