linux/arch/nds32/include/asm/proc-fns.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2// Copyright (C) 2005-2017 Andes Technology Corporation
   3
   4#ifndef __NDS32_PROCFNS_H__
   5#define __NDS32_PROCFNS_H__
   6
   7#ifdef __KERNEL__
   8#include <asm/page.h>
   9
  10struct mm_struct;
  11struct vm_area_struct;
  12extern void cpu_proc_init(void);
  13extern void cpu_proc_fin(void);
  14extern void cpu_do_idle(void);
  15extern void cpu_reset(unsigned long reset);
  16extern void cpu_switch_mm(struct mm_struct *mm);
  17
  18extern void cpu_dcache_inval_all(void);
  19extern void cpu_dcache_wbinval_all(void);
  20extern void cpu_dcache_inval_page(unsigned long page);
  21extern void cpu_dcache_wb_page(unsigned long page);
  22extern void cpu_dcache_wbinval_page(unsigned long page);
  23extern void cpu_dcache_inval_range(unsigned long start, unsigned long end);
  24extern void cpu_dcache_wb_range(unsigned long start, unsigned long end);
  25extern void cpu_dcache_wbinval_range(unsigned long start, unsigned long end);
  26
  27extern void cpu_icache_inval_all(void);
  28extern void cpu_icache_inval_page(unsigned long page);
  29extern void cpu_icache_inval_range(unsigned long start, unsigned long end);
  30
  31extern void cpu_cache_wbinval_page(unsigned long page, int flushi);
  32extern void cpu_cache_wbinval_range(unsigned long start,
  33                                    unsigned long end, int flushi);
  34extern 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
  39extern void cpu_dma_wb_range(unsigned long start, unsigned long end);
  40extern void cpu_dma_inval_range(unsigned long start, unsigned long end);
  41extern void cpu_dma_wbinval_range(unsigned long start, unsigned long end);
  42
  43#endif /* __KERNEL__ */
  44#endif /* __NDS32_PROCFNS_H__ */
  45