• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/arm/include/asm/
1/*
2 *  arch/arm/include/asm/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_ext			__cpu_fn(CPU_NAME,_set_pte_ext)
32
33#include <asm/page.h>
34
35struct mm_struct;
36
37/* declare all the functions as extern */
38extern void cpu_proc_init(void);
39extern void cpu_proc_fin(void);
40extern int cpu_do_idle(void);
41extern void cpu_dcache_clean_area(void *, int);
42extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm);
43extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext);
44extern void cpu_reset(unsigned long addr) __attribute__((noreturn));
45