vmalloc.h 913 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef _ASM_ARM64_VMALLOC_H
  2. #define _ASM_ARM64_VMALLOC_H
  3. #include <asm/page.h>
  4. #include <asm/pgtable.h>
  5. #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
  6. #define arch_vmap_pud_supported arch_vmap_pud_supported
  7. static inline bool arch_vmap_pud_supported(pgprot_t prot)
  8. {
  9. if (prot_needs_stage2_update(prot))
  10. return false;
  11. /*
  12. * SW table walks can't handle removal of intermediate entries.
  13. */
  14. return pud_sect_supported() &&
  15. !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS);
  16. }
  17. #define arch_vmap_pmd_supported arch_vmap_pmd_supported
  18. static inline bool arch_vmap_pmd_supported(pgprot_t prot)
  19. {
  20. if (prot_needs_stage2_update(prot))
  21. return false;
  22. /* See arch_vmap_pud_supported() */
  23. return !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS);
  24. }
  25. #endif
  26. #define arch_vmap_pgprot_tagged arch_vmap_pgprot_tagged
  27. static inline pgprot_t arch_vmap_pgprot_tagged(pgprot_t prot)
  28. {
  29. return pgprot_tagged(prot);
  30. }
  31. #endif /* _ASM_ARM64_VMALLOC_H */