11f059dfdSIngo Molnar #ifndef _ASM_ARM64_VMALLOC_H 21f059dfdSIngo Molnar #define _ASM_ARM64_VMALLOC_H 31f059dfdSIngo Molnar 4bbc180a5SNicholas Piggin #include <asm/page.h> 5f8b46c4bSAnshuman Khandual #include <asm/pgtable.h> 6bbc180a5SNicholas Piggin 7bbc180a5SNicholas Piggin #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP 8168a6333SNicholas Piggin 96f680e70SNicholas Piggin #define arch_vmap_pud_supported arch_vmap_pud_supported arch_vmap_pud_supported(pgprot_t prot)10168a6333SNicholas Pigginstatic inline bool arch_vmap_pud_supported(pgprot_t prot) 11168a6333SNicholas Piggin { 12168a6333SNicholas Piggin /* 13168a6333SNicholas Piggin * SW table walks can't handle removal of intermediate entries. 14168a6333SNicholas Piggin */ 15f8b46c4bSAnshuman Khandual return pud_sect_supported() && 16168a6333SNicholas Piggin !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS); 17168a6333SNicholas Piggin } 18168a6333SNicholas Piggin 196f680e70SNicholas Piggin #define arch_vmap_pmd_supported arch_vmap_pmd_supported arch_vmap_pmd_supported(pgprot_t prot)20168a6333SNicholas Pigginstatic inline bool arch_vmap_pmd_supported(pgprot_t prot) 21168a6333SNicholas Piggin { 22168a6333SNicholas Piggin /* See arch_vmap_pud_supported() */ 23168a6333SNicholas Piggin return !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS); 24168a6333SNicholas Piggin } 256f680e70SNicholas Piggin 26bbc180a5SNicholas Piggin #endif 27bbc180a5SNicholas Piggin 28*01d92c7fSAndrey Konovalov #define arch_vmap_pgprot_tagged arch_vmap_pgprot_tagged arch_vmap_pgprot_tagged(pgprot_t prot)29*01d92c7fSAndrey Konovalovstatic inline pgprot_t arch_vmap_pgprot_tagged(pgprot_t prot) 30*01d92c7fSAndrey Konovalov { 31*01d92c7fSAndrey Konovalov return pgprot_tagged(prot); 32*01d92c7fSAndrey Konovalov } 33*01d92c7fSAndrey Konovalov 341f059dfdSIngo Molnar #endif /* _ASM_ARM64_VMALLOC_H */ 35