xref: /linux/arch/sparc/include/asm/cachetlb_32.h (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
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