root/include/asm-generic/5level-fixup.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. p4d_none
  2. p4d_bad
  3. p4d_present

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _5LEVEL_FIXUP_H
   3 #define _5LEVEL_FIXUP_H
   4 
   5 #define __ARCH_HAS_5LEVEL_HACK
   6 #define __PAGETABLE_P4D_FOLDED 1
   7 
   8 #define P4D_SHIFT                       PGDIR_SHIFT
   9 #define P4D_SIZE                        PGDIR_SIZE
  10 #define P4D_MASK                        PGDIR_MASK
  11 #define MAX_PTRS_PER_P4D                1
  12 #define PTRS_PER_P4D                    1
  13 
  14 #define p4d_t                           pgd_t
  15 
  16 #define pud_alloc(mm, p4d, address) \
  17         ((unlikely(pgd_none(*(p4d))) && __pud_alloc(mm, p4d, address)) ? \
  18                 NULL : pud_offset(p4d, address))
  19 
  20 #define p4d_alloc(mm, pgd, address)     (pgd)
  21 #define p4d_offset(pgd, start)          (pgd)
  22 
  23 #ifndef __ASSEMBLY__
  24 static inline int p4d_none(p4d_t p4d)
  25 {
  26         return 0;
  27 }
  28 
  29 static inline int p4d_bad(p4d_t p4d)
  30 {
  31         return 0;
  32 }
  33 
  34 static inline int p4d_present(p4d_t p4d)
  35 {
  36         return 1;
  37 }
  38 #endif
  39 
  40 #define p4d_ERROR(p4d)                  do { } while (0)
  41 #define p4d_clear(p4d)                  pgd_clear(p4d)
  42 #define p4d_val(p4d)                    pgd_val(p4d)
  43 #define p4d_populate(mm, p4d, pud)      pgd_populate(mm, p4d, pud)
  44 #define p4d_populate_safe(mm, p4d, pud) pgd_populate(mm, p4d, pud)
  45 #define p4d_page(p4d)                   pgd_page(p4d)
  46 #define p4d_page_vaddr(p4d)             pgd_page_vaddr(p4d)
  47 
  48 #define __p4d(x)                        __pgd(x)
  49 #define set_p4d(p4dp, p4d)              set_pgd(p4dp, p4d)
  50 
  51 #undef p4d_free_tlb
  52 #define p4d_free_tlb(tlb, x, addr)      do { } while (0)
  53 #define p4d_free(mm, x)                 do { } while (0)
  54 #define __p4d_free_tlb(tlb, x, addr)    do { } while (0)
  55 
  56 #undef  p4d_addr_end
  57 #define p4d_addr_end(addr, end)         (end)
  58 
  59 #endif

/* [<][>][^][v][top][bottom][index][help] */