]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | #ifndef _4LEVEL_FIXUP_H |
3 | #define _4LEVEL_FIXUP_H | |
4 | ||
5 | #define __ARCH_HAS_4LEVEL_HACK | |
6 | #define __PAGETABLE_PUD_FOLDED | |
7 | ||
4155b8e0 | 8 | #define PUD_SHIFT PGDIR_SHIFT |
1da177e4 LT |
9 | #define PUD_SIZE PGDIR_SIZE |
10 | #define PUD_MASK PGDIR_MASK | |
11 | #define PTRS_PER_PUD 1 | |
12 | ||
13 | #define pud_t pgd_t | |
14 | ||
1bb3630e HD |
15 | #define pmd_alloc(mm, pud, address) \ |
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \ | |
17 | NULL: pmd_offset(pud, address)) | |
1da177e4 | 18 | |
1da177e4 LT |
19 | #define pud_offset(pgd, start) (pgd) |
20 | #define pud_none(pud) 0 | |
21 | #define pud_bad(pud) 0 | |
22 | #define pud_present(pud) 1 | |
23 | #define pud_ERROR(pud) do { } while (0) | |
24 | #define pud_clear(pud) pgd_clear(pud) | |
46a82b2d DM |
25 | #define pud_val(pud) pgd_val(pud) |
26 | #define pud_populate(mm, pud, pmd) pgd_populate(mm, pud, pmd) | |
27 | #define pud_page(pud) pgd_page(pud) | |
28 | #define pud_page_vaddr(pud) pgd_page_vaddr(pud) | |
1da177e4 LT |
29 | |
30 | #undef pud_free_tlb | |
9e1b32ca | 31 | #define pud_free_tlb(tlb, x, addr) do { } while (0) |
5e541973 | 32 | #define pud_free(mm, x) do { } while (0) |
9e1b32ca | 33 | #define __pud_free_tlb(tlb, x, addr) do { } while (0) |
1da177e4 LT |
34 | |
35 | #undef pud_addr_end | |
36 | #define pud_addr_end(addr, end) (end) | |
37 | ||
505a60e2 KS |
38 | #include <asm-generic/5level-fixup.h> |
39 | ||
1da177e4 | 40 | #endif |