]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/include/asm-arm/cpu-single.h | |
3 | * | |
4 | * Copyright (C) 2000 Russell King | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | /* | |
11 | * Single CPU | |
12 | */ | |
13 | #ifdef __STDC__ | |
14 | #define __catify_fn(name,x) name##x | |
15 | #else | |
16 | #define __catify_fn(name,x) name/**/x | |
17 | #endif | |
18 | #define __cpu_fn(name,x) __catify_fn(name,x) | |
19 | ||
20 | /* | |
21 | * If we are supporting multiple CPUs, then we must use a table of | |
22 | * function pointers for this lot. Otherwise, we can optimise the | |
23 | * table away. | |
24 | */ | |
25 | #define cpu_proc_init __cpu_fn(CPU_NAME,_proc_init) | |
26 | #define cpu_proc_fin __cpu_fn(CPU_NAME,_proc_fin) | |
27 | #define cpu_reset __cpu_fn(CPU_NAME,_reset) | |
28 | #define cpu_do_idle __cpu_fn(CPU_NAME,_do_idle) | |
29 | #define cpu_dcache_clean_area __cpu_fn(CPU_NAME,_dcache_clean_area) | |
30 | #define cpu_do_switch_mm __cpu_fn(CPU_NAME,_switch_mm) | |
31 | #define cpu_set_pte __cpu_fn(CPU_NAME,_set_pte) | |
32 | ||
33 | #include <asm/page.h> | |
34 | ||
35 | struct mm_struct; | |
36 | ||
37 | /* declare all the functions as extern */ | |
38 | extern void cpu_proc_init(void); | |
39 | extern void cpu_proc_fin(void); | |
40 | extern int cpu_do_idle(void); | |
41 | extern void cpu_dcache_clean_area(void *, int); | |
42 | extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm); | |
43 | extern void cpu_set_pte(pte_t *ptep, pte_t pte); | |
33215652 | 44 | extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); |