xref: /openbmc/linux/arch/microblaze/include/asm/switch_to.h (revision ead5d1f4d877e92c051e1a1ade623d0d30e71619)
1*4726dd60SMichal Simek /* SPDX-License-Identifier: GPL-2.0 */
2c40d04dfSDavid Howells /*
3c40d04dfSDavid Howells  * Copyright (C) 2006 Atmark Techno, Inc.
4c40d04dfSDavid Howells  */
5c40d04dfSDavid Howells 
6c40d04dfSDavid Howells #ifndef _ASM_MICROBLAZE_SWITCH_TO_H
7c40d04dfSDavid Howells #define _ASM_MICROBLAZE_SWITCH_TO_H
8c40d04dfSDavid Howells 
9c40d04dfSDavid Howells struct task_struct;
10c40d04dfSDavid Howells struct thread_info;
11c40d04dfSDavid Howells 
12c40d04dfSDavid Howells extern struct task_struct *_switch_to(struct thread_info *prev,
13c40d04dfSDavid Howells 					struct thread_info *next);
14c40d04dfSDavid Howells 
15c40d04dfSDavid Howells #define switch_to(prev, next, last)					\
16c40d04dfSDavid Howells 	do {								\
17c40d04dfSDavid Howells 		(last) = _switch_to(task_thread_info(prev),		\
18c40d04dfSDavid Howells 					task_thread_info(next));	\
19c40d04dfSDavid Howells 	} while (0)
20c40d04dfSDavid Howells 
21c40d04dfSDavid Howells #endif /* _ASM_MICROBLAZE_SWITCH_TO_H */
22