xref: /linux/arch/sparc/include/asm/cachetlb_32.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 #ifndef _SPARC_CACHETLB_H
2 #define _SPARC_CACHETLB_H
3 
4 struct mm_struct;
5 struct vm_area_struct;
6 
7 struct sparc32_cachetlb_ops {
8 	void (*cache_all)(void);
9 	void (*cache_mm)(struct mm_struct *);
10 	void (*cache_range)(struct vm_area_struct *, unsigned long,
11 			    unsigned long);
12 	void (*cache_page)(struct vm_area_struct *, unsigned long);
13 
14 	void (*tlb_all)(void);
15 	void (*tlb_mm)(struct mm_struct *);
16 	void (*tlb_range)(struct vm_area_struct *, unsigned long,
17 			  unsigned long);
18 	void (*tlb_page)(struct vm_area_struct *, unsigned long);
19 
20 	void (*page_to_ram)(unsigned long);
21 	void (*sig_insns)(struct mm_struct *, unsigned long);
22 	void (*page_for_dma)(unsigned long);
23 };
24 extern const struct sparc32_cachetlb_ops *sparc32_cachetlb_ops;
25 #ifdef CONFIG_SMP
26 extern const struct sparc32_cachetlb_ops *local_ops;
27 #endif
28 
29 #endif /* SPARC_CACHETLB_H */
30