Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/include/asm-arm26/proc-fns.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 | #ifndef __ASSEMBLY__ | |
11 | ||
12 | #include <asm/page.h> | |
13 | ||
14 | /* | |
15 | * Don't change this structure - ASM code | |
16 | * relies on it. | |
17 | */ | |
18 | extern struct processor { | |
19 | /* check for any bugs */ | |
20 | void (*_check_bugs)(void); | |
21 | /* Set up any processor specifics */ | |
22 | void (*_proc_init)(void); | |
23 | /* Disable any processor specifics */ | |
24 | void (*_proc_fin)(void); | |
25 | /* set the MEMC hardware mappings */ | |
26 | void (*_set_pgd)(pgd_t *pgd); | |
27 | /* XCHG */ | |
28 | unsigned long (*_xchg_1)(unsigned long x, volatile void *ptr); | |
29 | unsigned long (*_xchg_4)(unsigned long x, volatile void *ptr); | |
30 | } processor; | |
31 | ||
32 | extern const struct processor arm2_processor_functions; | |
33 | extern const struct processor arm250_processor_functions; | |
34 | extern const struct processor arm3_processor_functions; | |
35 | ||
36 | #define cpu_check_bugs() processor._check_bugs() | |
37 | #define cpu_proc_init() processor._proc_init() | |
38 | #define cpu_proc_fin() processor._proc_fin() | |
39 | #define cpu_do_idle() do { } while (0) | |
40 | #define cpu_switch_mm(pgd,mm) processor._set_pgd(pgd) | |
41 | #define cpu_xchg_1(x,ptr) processor._xchg_1(x,ptr) | |
42 | #define cpu_xchg_4(x,ptr) processor._xchg_4(x,ptr) | |
43 | ||
44 | ||
45 | //FIXME - these shouldnt be in proc-fn.h | |
46 | extern void cpu_memc_update_all(pgd_t *pgd); | |
47 | extern void cpu_memc_update_entry(pgd_t *pgd, unsigned long phys_pte, unsigned long log_addr); | |
48 | ||
49 | #endif |