xref: /openbmc/linux/arch/m68k/include/asm/current.h (revision 575d6b77)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
22844b660SGreg Ungerer #ifndef _M68K_CURRENT_H
32844b660SGreg Ungerer #define _M68K_CURRENT_H
42844b660SGreg Ungerer 
52844b660SGreg Ungerer #ifdef CONFIG_MMU
62844b660SGreg Ungerer 
72844b660SGreg Ungerer register struct task_struct *current __asm__("%a2");
82844b660SGreg Ungerer 
949148020SSam Ravnborg #else
102844b660SGreg Ungerer 
112844b660SGreg Ungerer /*
122844b660SGreg Ungerer  *	Rather than dedicate a register (as the m68k source does), we
132844b660SGreg Ungerer  *	just keep a global,  we should probably just change it all to be
142844b660SGreg Ungerer  *	current and lose _current_task.
152844b660SGreg Ungerer  */
162844b660SGreg Ungerer #include <linux/thread_info.h>
172844b660SGreg Ungerer 
182844b660SGreg Ungerer struct task_struct;
192844b660SGreg Ungerer 
get_current(void)202844b660SGreg Ungerer static inline struct task_struct *get_current(void)
212844b660SGreg Ungerer {
222844b660SGreg Ungerer 	return(current_thread_info()->task);
232844b660SGreg Ungerer }
242844b660SGreg Ungerer 
252844b660SGreg Ungerer #define	current	get_current()
262844b660SGreg Ungerer 
27*575d6b77SKees Cook #endif /* CONFIG_MMU */
28*575d6b77SKees Cook 
29*575d6b77SKees Cook register unsigned long current_stack_pointer __asm__("sp");
302844b660SGreg Ungerer 
312844b660SGreg Ungerer #endif /* !(_M68K_CURRENT_H) */
32