Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _4LEVEL_FIXUP_H |
2 | #define _4LEVEL_FIXUP_H | |
3 | ||
4 | #define __ARCH_HAS_4LEVEL_HACK | |
5 | #define __PAGETABLE_PUD_FOLDED | |
6 | ||
7 | #define PUD_SIZE PGDIR_SIZE | |
8 | #define PUD_MASK PGDIR_MASK | |
9 | #define PTRS_PER_PUD 1 | |
10 | ||
11 | #define pud_t pgd_t | |
12 | ||
13 | #define pmd_alloc(mm, pud, address) \ | |
14 | ({ pmd_t *ret; \ | |
15 | if (pgd_none(*pud)) \ | |
16 | ret = __pmd_alloc(mm, pud, address); \ | |
17 | else \ | |
18 | ret = pmd_offset(pud, address); \ | |
19 | ret; \ | |
20 | }) | |
21 | ||
22 | #define pud_alloc(mm, pgd, address) (pgd) | |
23 | #define pud_offset(pgd, start) (pgd) | |
24 | #define pud_none(pud) 0 | |
25 | #define pud_bad(pud) 0 | |
26 | #define pud_present(pud) 1 | |
27 | #define pud_ERROR(pud) do { } while (0) | |
28 | #define pud_clear(pud) pgd_clear(pud) | |
29 | ||
30 | #undef pud_free_tlb | |
31 | #define pud_free_tlb(tlb, x) do { } while (0) | |
32 | #define pud_free(x) do { } while (0) | |
33 | #define __pud_free_tlb(tlb, x) do { } while (0) | |
34 | ||
35 | #undef pud_addr_end | |
36 | #define pud_addr_end(addr, end) (end) | |
37 | ||
38 | #endif |