Blame view

include/asm-arm/cpu-single.h 1.4 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  /*
   *  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)
ad1ae2fe7   Russell King   [ARM] Unuse anoth...
31
  #define cpu_set_pte_ext			__cpu_fn(CPU_NAME,_set_pte_ext)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
32
33
34
35
36
37
38
39
40
41
42
  
  #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);
ad1ae2fe7   Russell King   [ARM] Unuse anoth...
43
  extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext);
33215652e   Al Viro   [PATCH] qualifier...
44
  extern void cpu_reset(unsigned long addr) __attribute__((noreturn));