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