cachetlb_32.h 882 B

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