1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _SPARC_CACHETLB_H 3*4882a593Smuzhiyun #define _SPARC_CACHETLB_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun struct mm_struct; 6*4882a593Smuzhiyun struct vm_area_struct; 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun struct sparc32_cachetlb_ops { 9*4882a593Smuzhiyun void (*cache_all)(void); 10*4882a593Smuzhiyun void (*cache_mm)(struct mm_struct *); 11*4882a593Smuzhiyun void (*cache_range)(struct vm_area_struct *, unsigned long, 12*4882a593Smuzhiyun unsigned long); 13*4882a593Smuzhiyun void (*cache_page)(struct vm_area_struct *, unsigned long); 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun void (*tlb_all)(void); 16*4882a593Smuzhiyun void (*tlb_mm)(struct mm_struct *); 17*4882a593Smuzhiyun void (*tlb_range)(struct vm_area_struct *, unsigned long, 18*4882a593Smuzhiyun unsigned long); 19*4882a593Smuzhiyun void (*tlb_page)(struct vm_area_struct *, unsigned long); 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun void (*page_to_ram)(unsigned long); 22*4882a593Smuzhiyun void (*sig_insns)(struct mm_struct *, unsigned long); 23*4882a593Smuzhiyun void (*page_for_dma)(unsigned long); 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun extern const struct sparc32_cachetlb_ops *sparc32_cachetlb_ops; 26*4882a593Smuzhiyun #ifdef CONFIG_SMP 27*4882a593Smuzhiyun extern const struct sparc32_cachetlb_ops *local_ops; 28*4882a593Smuzhiyun #endif 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun #endif /* SPARC_CACHETLB_H */ 31