/* SPDX-License-Identifier: GPL-2.0 */ // Copyright (C) 2005-2017 Andes Technology Corporation #ifndef __NDS32_PROCFNS_H__ #define __NDS32_PROCFNS_H__ #ifdef __KERNEL__ #include <asm/page.h> struct mm_struct; struct vm_area_struct; extern void cpu_proc_init(void); extern void cpu_proc_fin(void); extern void cpu_do_idle(void); extern void cpu_reset(unsigned long reset); extern void cpu_switch_mm(struct mm_struct *mm); extern void cpu_dcache_inval_all(void); extern void cpu_dcache_wbinval_all(void); extern void cpu_dcache_inval_page(unsigned long page); extern void cpu_dcache_wb_page(unsigned long page); extern void cpu_dcache_wbinval_page(unsigned long page); extern void cpu_dcache_inval_range(unsigned long start, unsigned long end); extern void cpu_dcache_wb_range(unsigned long start, unsigned long end); extern void cpu_dcache_wbinval_range(unsigned long start, unsigned long end); extern void cpu_icache_inval_all(void); extern void cpu_icache_inval_page(unsigned long page); extern void cpu_icache_inval_range(unsigned long start, unsigned long end); extern void cpu_cache_wbinval_page(unsigned long page, int flushi); extern void cpu_cache_wbinval_range(unsigned long start, unsigned long end, int flushi); extern void cpu_cache_wbinval_range_check(struct vm_area_struct *vma, unsigned long start, unsigned long end, bool flushi, bool wbd); extern void cpu_dma_wb_range(unsigned long start, unsigned long end); extern void cpu_dma_inval_range(unsigned long start, unsigned long end); extern void cpu_dma_wbinval_range(unsigned long start, unsigned long end); #endif /* __KERNEL__ */ #endif /* __NDS32_PROCFNS_H__ */