1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef _4LEVEL_FIXUP_H 13 #define _4LEVEL_FIXUP_H 14 15 #define __ARCH_HAS_4LEVEL_HACK 16 #define __PAGETABLE_PUD_FOLDED 17 18 #define PUD_SIZE PGDIR_SIZE 19 #define PUD_MASK PGDIR_MASK 20 #define PTRS_PER_PUD 1 21 22 #define pud_t pgd_t 23 24 #define pmd_alloc(mm, pud, address) ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? NULL: pmd_offset(pud, address)) 25 26 #define pud_alloc(mm, pgd, address) (pgd) 27 #define pud_offset(pgd, start) (pgd) 28 #define pud_none(pud) 0 29 #define pud_bad(pud) 0 30 #define pud_present(pud) 1 31 #define pud_ERROR(pud) do { } while (0) 32 #define pud_clear(pud) pgd_clear(pud) 33 34 #undef pud_free_tlb 35 #define pud_free_tlb(tlb, x) do { } while (0) 36 #define pud_free(x) do { } while (0) 37 #define __pud_free_tlb(tlb, x) do { } while (0) 38 39 #undef pud_addr_end 40 #define pud_addr_end(addr, end) (end) 41 42 #endif 43