- pre4:
[davej-history.git] / include / asm-arm / cpu-multi26.h
blob62b8c77edf680c017897ef0838d6f0a1078c30e5
1 /*
2 * linux/include/asm-arm/cpu-multi26.h
4 * Copyright (C) 2000 Russell King
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__
12 #include <asm/page.h>
14 /* forward-declare task_struct */
15 struct task_struct;
18 * Don't change this structure - ASM code
19 * relies on it.
21 extern struct processor {
22 /* check for any bugs */
23 void (*_check_bugs)(void);
24 /* Set up any processor specifics */
25 void (*_proc_init)(void);
26 /* Disable any processor specifics */
27 void (*_proc_fin)(void);
28 /* set the MEMC hardware mappings */
29 void (*_set_pgd)(pgd_t *pgd);
30 /* XCHG */
31 unsigned long (*_xchg_1)(unsigned long x, volatile void *ptr);
32 unsigned long (*_xchg_4)(unsigned long x, volatile void *ptr);
33 } processor;
35 extern const struct processor arm2_processor_functions;
36 extern const struct processor arm250_processor_functions;
37 extern const struct processor arm3_processor_functions;
39 #define cpu_check_bugs() processor._check_bugs()
40 #define cpu_proc_init() processor._proc_init()
41 #define cpu_proc_fin() processor._proc_fin()
42 #define cpu_do_idle() do { } while (0)
43 #define cpu_switch_mm(pgd,tsk) processor._set_pgd(pgd)
44 #define cpu_xchg_1(x,ptr) processor._xchg_1(x,ptr)
45 #define cpu_xchg_4(x,ptr) processor._xchg_4(x,ptr)
47 extern void cpu_memc_update_all(pgd_t *pgd);
48 extern void cpu_memc_update_entry(pgd_t *pgd, unsigned long phys_pte, unsigned long log_addr);
50 #endif