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