| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  linux/include/asm-arm/cpu-single.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Copyright (C) 2000 Russell King | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Single CPU | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifdef __STDC__
 | 
					
						
							|  |  |  | #define __catify_fn(name,x)	name##x
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #define __catify_fn(name,x)	name/**/x
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #define __cpu_fn(name,x)	__catify_fn(name,x)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * If we are supporting multiple CPUs, then we must use a table of | 
					
						
							|  |  |  |  * function pointers for this lot.  Otherwise, we can optimise the | 
					
						
							|  |  |  |  * table away. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define cpu_proc_init			__cpu_fn(CPU_NAME,_proc_init)
 | 
					
						
							|  |  |  | #define cpu_proc_fin			__cpu_fn(CPU_NAME,_proc_fin)
 | 
					
						
							|  |  |  | #define cpu_reset			__cpu_fn(CPU_NAME,_reset)
 | 
					
						
							|  |  |  | #define cpu_do_idle			__cpu_fn(CPU_NAME,_do_idle)
 | 
					
						
							|  |  |  | #define cpu_dcache_clean_area		__cpu_fn(CPU_NAME,_dcache_clean_area)
 | 
					
						
							|  |  |  | #define cpu_do_switch_mm		__cpu_fn(CPU_NAME,_switch_mm)
 | 
					
						
							| 
									
										
										
										
											2006-12-13 14:34:43 +00:00
										 |  |  | #define cpu_set_pte_ext			__cpu_fn(CPU_NAME,_set_pte_ext)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <asm/page.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct mm_struct; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* declare all the functions as extern */ | 
					
						
							|  |  |  | extern void cpu_proc_init(void); | 
					
						
							|  |  |  | extern void cpu_proc_fin(void); | 
					
						
							|  |  |  | extern int cpu_do_idle(void); | 
					
						
							|  |  |  | extern void cpu_dcache_clean_area(void *, int); | 
					
						
							|  |  |  | extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm); | 
					
						
							| 
									
										
										
										
											2006-12-13 14:34:43 +00:00
										 |  |  | extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext); | 
					
						
							| 
									
										
										
										
											2005-08-23 22:47:52 +01:00
										 |  |  | extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); |