1 
   2 
   3 
   4 #ifndef __NDS32_PROCFNS_H__
   5 #define __NDS32_PROCFNS_H__
   6 
   7 #ifdef __KERNEL__
   8 #include <asm/page.h>
   9 
  10 struct mm_struct;
  11 struct vm_area_struct;
  12 extern void cpu_proc_init(void);
  13 extern void cpu_proc_fin(void);
  14 extern void cpu_do_idle(void);
  15 extern void cpu_reset(unsigned long reset);
  16 extern void cpu_switch_mm(struct mm_struct *mm);
  17 
  18 extern void cpu_dcache_inval_all(void);
  19 extern void cpu_dcache_wbinval_all(void);
  20 extern void cpu_dcache_inval_page(unsigned long page);
  21 extern void cpu_dcache_wb_page(unsigned long page);
  22 extern void cpu_dcache_wbinval_page(unsigned long page);
  23 extern void cpu_dcache_inval_range(unsigned long start, unsigned long end);
  24 extern void cpu_dcache_wb_range(unsigned long start, unsigned long end);
  25 extern void cpu_dcache_wbinval_range(unsigned long start, unsigned long end);
  26 
  27 extern void cpu_icache_inval_all(void);
  28 extern void cpu_icache_inval_page(unsigned long page);
  29 extern void cpu_icache_inval_range(unsigned long start, unsigned long end);
  30 
  31 extern void cpu_cache_wbinval_page(unsigned long page, int flushi);
  32 extern void cpu_cache_wbinval_range(unsigned long start,
  33                                     unsigned long end, int flushi);
  34 extern void cpu_cache_wbinval_range_check(struct vm_area_struct *vma,
  35                                           unsigned long start,
  36                                           unsigned long end, bool flushi,
  37                                           bool wbd);
  38 
  39 extern void cpu_dma_wb_range(unsigned long start, unsigned long end);
  40 extern void cpu_dma_inval_range(unsigned long start, unsigned long end);
  41 extern void cpu_dma_wbinval_range(unsigned long start, unsigned long end);
  42 
  43 #endif 
  44 #endif