1/* Generic task switch macro wrapper, based on MN10300 definitions. 2 * 3 * It should be possible to use these on really simple architectures, 4 * but it serves more as a starting point for new ports. 5 * 6 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 7 * Written by David Howells (dhowells@redhat.com) 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public Licence 11 * as published by the Free Software Foundation; either version 12 * 2 of the Licence, or (at your option) any later version. 13 */ 14#ifndef __ASM_GENERIC_SWITCH_TO_H 15#define __ASM_GENERIC_SWITCH_TO_H 16 17#include <linux/thread_info.h> 18 19/* 20 * Context switching is now performed out-of-line in switch_to.S 21 */ 22extern struct task_struct *__switch_to(struct task_struct *, 23 struct task_struct *); 24 25#define switch_to(prev, next, last) \ 26 do { \ 27 ((last) = __switch_to((prev), (next))); \ 28 } while (0) 29 30#endif /* __ASM_GENERIC_SWITCH_TO_H */ 31