Merge tag 'perf-core-for-mingo-20160803' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / arch / powerpc / include / asm / book3s / 64 / pgtable-4k.h
1 #ifndef _ASM_POWERPC_BOOK3S_64_PGTABLE_4K_H
2 #define _ASM_POWERPC_BOOK3S_64_PGTABLE_4K_H
3 /*
4  * hash 4k can't share hugetlb and also doesn't support THP
5  */
6 #ifndef __ASSEMBLY__
7 #ifdef CONFIG_HUGETLB_PAGE
8 static inline int pmd_huge(pmd_t pmd)
9 {
10         /*
11          * leaf pte for huge page
12          */
13         if (radix_enabled())
14                 return !!(pmd_val(pmd) & _PAGE_PTE);
15         return 0;
16 }
17
18 static inline int pud_huge(pud_t pud)
19 {
20         /*
21          * leaf pte for huge page
22          */
23         if (radix_enabled())
24                 return !!(pud_val(pud) & _PAGE_PTE);
25         return 0;
26 }
27
28 static inline int pgd_huge(pgd_t pgd)
29 {
30         /*
31          * leaf pte for huge page
32          */
33         if (radix_enabled())
34                 return !!(pgd_val(pgd) & _PAGE_PTE);
35         return 0;
36 }
37 #define pgd_huge pgd_huge
38 /*
39  * With radix , we have hugepage ptes in the pud and pmd entries. We don't
40  * need to setup hugepage directory for them. Our pte and page directory format
41  * enable us to have this enabled.
42  */
43 static inline int hugepd_ok(hugepd_t hpd)
44 {
45         if (radix_enabled())
46                 return 0;
47         return hash__hugepd_ok(hpd);
48 }
49 #define is_hugepd(hpd)          (hugepd_ok(hpd))
50 #endif /* CONFIG_HUGETLB_PAGE */
51 #endif /* __ASSEMBLY__ */
52
53 #endif /*_ASM_POWERPC_BOOK3S_64_PGTABLE_4K_H */