xref: /openbmc/linux/arch/x86/include/asm/vmalloc.h (revision 97dc2a1548ab0dc320ce3618b73b3f9dc732b6ee)
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