1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 25d83d666SDavid S. Miller #ifndef _SPARC_CACHETLB_H 35d83d666SDavid S. Miller #define _SPARC_CACHETLB_H 45d83d666SDavid S. Miller 55d83d666SDavid S. Miller struct mm_struct; 65d83d666SDavid S. Miller struct vm_area_struct; 75d83d666SDavid S. Miller 85d83d666SDavid S. Miller struct sparc32_cachetlb_ops { 95d83d666SDavid S. Miller void (*cache_all)(void); 105d83d666SDavid S. Miller void (*cache_mm)(struct mm_struct *); 115d83d666SDavid S. Miller void (*cache_range)(struct vm_area_struct *, unsigned long, 125d83d666SDavid S. Miller unsigned long); 135d83d666SDavid S. Miller void (*cache_page)(struct vm_area_struct *, unsigned long); 145d83d666SDavid S. Miller 155d83d666SDavid S. Miller void (*tlb_all)(void); 165d83d666SDavid S. Miller void (*tlb_mm)(struct mm_struct *); 175d83d666SDavid S. Miller void (*tlb_range)(struct vm_area_struct *, unsigned long, 185d83d666SDavid S. Miller unsigned long); 195d83d666SDavid S. Miller void (*tlb_page)(struct vm_area_struct *, unsigned long); 205d83d666SDavid S. Miller 215d83d666SDavid S. Miller void (*page_to_ram)(unsigned long); 225d83d666SDavid S. Miller void (*sig_insns)(struct mm_struct *, unsigned long); 235d83d666SDavid S. Miller void (*page_for_dma)(unsigned long); 245d83d666SDavid S. Miller }; 255d83d666SDavid S. Miller extern const struct sparc32_cachetlb_ops *sparc32_cachetlb_ops; 265d83d666SDavid S. Miller #ifdef CONFIG_SMP 275d83d666SDavid S. Miller extern const struct sparc32_cachetlb_ops *local_ops; 285d83d666SDavid S. Miller #endif 295d83d666SDavid S. Miller 305d83d666SDavid S. Miller #endif /* SPARC_CACHETLB_H */ 31