4level-fixup.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _4LEVEL_FIXUP_H
  2. #define _4LEVEL_FIXUP_H
  3. #define __ARCH_HAS_4LEVEL_HACK
  4. #define __PAGETABLE_PUD_FOLDED
  5. #define PUD_SHIFT PGDIR_SHIFT
  6. #define PUD_SIZE PGDIR_SIZE
  7. #define PUD_MASK PGDIR_MASK
  8. #define PTRS_PER_PUD 1
  9. #define pud_t pgd_t
  10. #define pmd_alloc(mm, pud, address) \
  11. ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
  12. NULL: pmd_offset(pud, address))
  13. #define pud_alloc(mm, pgd, address) (pgd)
  14. #define pud_offset(pgd, start) (pgd)
  15. #define pud_none(pud) 0
  16. #define pud_bad(pud) 0
  17. #define pud_present(pud) 1
  18. #define pud_ERROR(pud) do { } while (0)
  19. #define pud_clear(pud) pgd_clear(pud)
  20. #define pud_val(pud) pgd_val(pud)
  21. #define pud_populate(mm, pud, pmd) pgd_populate(mm, pud, pmd)
  22. #define pud_page(pud) pgd_page(pud)
  23. #define pud_page_vaddr(pud) pgd_page_vaddr(pud)
  24. #undef pud_free_tlb
  25. #define pud_free_tlb(tlb, x, addr) do { } while (0)
  26. #define pud_free(mm, x) do { } while (0)
  27. #define __pud_free_tlb(tlb, x, addr) do { } while (0)
  28. #undef pud_addr_end
  29. #define pud_addr_end(addr, end) (end)
  30. #endif