11f059dfdSIngo Molnar #ifndef _ASM_X86_VMALLOC_H 21f059dfdSIngo Molnar #define _ASM_X86_VMALLOC_H 31f059dfdSIngo Molnar 4*97dc2a15SNicholas Piggin #include <asm/cpufeature.h> 5bbc180a5SNicholas Piggin #include <asm/page.h> 6186525bdSIngo Molnar #include <asm/pgtable_areas.h> 7186525bdSIngo Molnar 8bbc180a5SNicholas Piggin #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP 9*97dc2a15SNicholas Piggin static inline bool arch_vmap_p4d_supported(pgprot_t prot) 10*97dc2a15SNicholas Piggin { 11*97dc2a15SNicholas Piggin return false; 12*97dc2a15SNicholas Piggin } 13*97dc2a15SNicholas Piggin 14*97dc2a15SNicholas Piggin static inline bool arch_vmap_pud_supported(pgprot_t prot) 15*97dc2a15SNicholas Piggin { 16*97dc2a15SNicholas Piggin #ifdef CONFIG_X86_64 17*97dc2a15SNicholas Piggin return boot_cpu_has(X86_FEATURE_GBPAGES); 18*97dc2a15SNicholas Piggin #else 19*97dc2a15SNicholas Piggin return false; 20*97dc2a15SNicholas Piggin #endif 21*97dc2a15SNicholas Piggin } 22*97dc2a15SNicholas Piggin 23*97dc2a15SNicholas Piggin static inline bool arch_vmap_pmd_supported(pgprot_t prot) 24*97dc2a15SNicholas Piggin { 25*97dc2a15SNicholas Piggin return boot_cpu_has(X86_FEATURE_PSE); 26*97dc2a15SNicholas Piggin } 27bbc180a5SNicholas Piggin #endif 28bbc180a5SNicholas Piggin 291f059dfdSIngo Molnar #endif /* _ASM_X86_VMALLOC_H */ 30