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