hugetlb.h 985 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_SH_HUGETLB_H
  3. #define _ASM_SH_HUGETLB_H
  4. #include <asm/cacheflush.h>
  5. #include <asm/page.h>
  6. static inline int is_hugepage_only_range(struct mm_struct *mm,
  7. unsigned long addr,
  8. unsigned long len) {
  9. return 0;
  10. }
  11. /*
  12. * If the arch doesn't supply something else, assume that hugepage
  13. * size aligned regions are ok without further preparation.
  14. */
  15. #define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE
  16. static inline int prepare_hugepage_range(struct file *file,
  17. unsigned long addr, unsigned long len)
  18. {
  19. if (len & ~HPAGE_MASK)
  20. return -EINVAL;
  21. if (addr & ~HPAGE_MASK)
  22. return -EINVAL;
  23. return 0;
  24. }
  25. #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH
  26. static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,
  27. unsigned long addr, pte_t *ptep)
  28. {
  29. }
  30. static inline void arch_clear_hugepage_flags(struct page *page)
  31. {
  32. clear_bit(PG_dcache_clean, &page->flags);
  33. }
  34. #include <asm-generic/hugetlb.h>
  35. #endif /* _ASM_SH_HUGETLB_H */