Merge branch 'for-linus-4.7-part2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / arch / powerpc / include / asm / book3s / 64 / pgtable-4k.h
CommitLineData
a9252aae
AK
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 */
c0a6c719
AK
6#ifndef __ASSEMBLY__
7#ifdef CONFIG_HUGETLB_PAGE
8static 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
18static 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
28static 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 */
43static 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__ */
a9252aae
AK
52
53#endif /*_ASM_POWERPC_BOOK3S_64_PGTABLE_4K_H */