19 lines
		
	
	
	
		
			582 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
	
		
			582 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #ifndef __ASM_ARM_SWITCH_TO_H
 | ||
|  | #define __ASM_ARM_SWITCH_TO_H
 | ||
|  | 
 | ||
|  | #include <linux/thread_info.h>
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * switch_to(prev, next) should switch from task `prev' to `next' | ||
|  |  * `prev' will never be the same as `next'.  schedule() itself | ||
|  |  * contains the memory barrier to tell GCC not to cache `current'. | ||
|  |  */ | ||
|  | extern struct task_struct *__switch_to(struct task_struct *, struct thread_info *, struct thread_info *); | ||
|  | 
 | ||
|  | #define switch_to(prev,next,last)					\
 | ||
|  | do {									\ | ||
|  | 	last = __switch_to(prev,task_thread_info(prev), task_thread_info(next));	\ | ||
|  | } while (0) | ||
|  | 
 | ||
|  | #endif /* __ASM_ARM_SWITCH_TO_H */
 |