0001
0002 #ifndef _SPARC_CACHETLB_H
0003 #define _SPARC_CACHETLB_H
0004
0005 struct mm_struct;
0006 struct vm_area_struct;
0007
0008 struct sparc32_cachetlb_ops {
0009 void (*cache_all)(void);
0010 void (*cache_mm)(struct mm_struct *);
0011 void (*cache_range)(struct vm_area_struct *, unsigned long,
0012 unsigned long);
0013 void (*cache_page)(struct vm_area_struct *, unsigned long);
0014
0015 void (*tlb_all)(void);
0016 void (*tlb_mm)(struct mm_struct *);
0017 void (*tlb_range)(struct vm_area_struct *, unsigned long,
0018 unsigned long);
0019 void (*tlb_page)(struct vm_area_struct *, unsigned long);
0020
0021 void (*page_to_ram)(unsigned long);
0022 void (*sig_insns)(struct mm_struct *, unsigned long);
0023 void (*page_for_dma)(unsigned long);
0024 };
0025 extern const struct sparc32_cachetlb_ops *sparc32_cachetlb_ops;
0026 #ifdef CONFIG_SMP
0027 extern const struct sparc32_cachetlb_ops *local_ops;
0028 #endif
0029
0030 #endif