1 
   2 
   3 
   4 
   5 
   6 #ifndef _ASM_RISCV_PGTABLE_BITS_H
   7 #define _ASM_RISCV_PGTABLE_BITS_H
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 #define _PAGE_ACCESSED_OFFSET 6
  16 
  17 #define _PAGE_PRESENT   (1 << 0)
  18 #define _PAGE_READ      (1 << 1)    
  19 #define _PAGE_WRITE     (1 << 2)    
  20 #define _PAGE_EXEC      (1 << 3)    
  21 #define _PAGE_USER      (1 << 4)    
  22 #define _PAGE_GLOBAL    (1 << 5)    
  23 #define _PAGE_ACCESSED  (1 << 6)    
  24 #define _PAGE_DIRTY     (1 << 7)    
  25 #define _PAGE_SOFT      (1 << 8)    
  26 
  27 #define _PAGE_SPECIAL   _PAGE_SOFT
  28 #define _PAGE_TABLE     _PAGE_PRESENT
  29 
  30 
  31 
  32 
  33 
  34 #define _PAGE_PROT_NONE _PAGE_READ
  35 
  36 #define _PAGE_PFN_SHIFT 10
  37 
  38 
  39 #define _PAGE_CHG_MASK  (~(unsigned long)(_PAGE_PRESENT | _PAGE_READ |  \
  40                                           _PAGE_WRITE | _PAGE_EXEC |    \
  41                                           _PAGE_USER | _PAGE_GLOBAL))
  42 
  43 #endif