| /linux/arch/sh/include/asm/ |
| H A D | pgtable_32.h | 176 #define PAGE_NONE __pgprot(_PAGE_PROTNONE | _PAGE_CACHABLE | \ 179 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED | \ 186 #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED | \ 195 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED | \ 200 #define PAGE_WRITEONLY __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED | \ 205 #define PAGE_RWX __pgprot(_PAGE_PRESENT | _PAGE_ACCESSED | \ 214 #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | _PAGE_CACHABLE | \ 222 __pgprot(_PAGE_PRESENT | _PAGE_DIRTY | \ 229 #define PAGE_KERNEL_RO __pgprot(_PAGE_PRESENT | _PAGE_CACHABLE | \ 236 __pgprot(0) [all …]
|
| /linux/arch/arm/mm/ |
| H A D | pageattr.c | 76 __pgprot(L_PTE_RDONLY), in set_memory_ro() 77 __pgprot(0)); in set_memory_ro() 83 __pgprot(0), in set_memory_rw() 84 __pgprot(L_PTE_RDONLY)); in set_memory_rw() 90 __pgprot(L_PTE_XN), in set_memory_nx() 91 __pgprot(0)); in set_memory_nx() 97 __pgprot(0), in set_memory_x() 98 __pgprot(L_PTE_XN)); in set_memory_x() 105 __pgprot(L_PTE_VALID), in set_memory_valid() 106 __pgprot(0)); in set_memory_valid() [all …]
|
| /linux/arch/loongarch/mm/ |
| H A D | cache.c | 162 [VM_NONE] = __pgprot(_CACHE_CC | _PAGE_USER | 165 [VM_READ] = __pgprot(_CACHE_CC | _PAGE_VALID | 168 [VM_WRITE] = __pgprot(_CACHE_CC | _PAGE_VALID | 171 [VM_WRITE | VM_READ] = __pgprot(_CACHE_CC | _PAGE_VALID | 174 [VM_EXEC] = __pgprot(_CACHE_CC | _PAGE_VALID | 176 [VM_EXEC | VM_READ] = __pgprot(_CACHE_CC | _PAGE_VALID | 178 [VM_EXEC | VM_WRITE] = __pgprot(_CACHE_CC | _PAGE_VALID | 180 [VM_EXEC | VM_WRITE | VM_READ] = __pgprot(_CACHE_CC | _PAGE_VALID | 182 [VM_SHARED] = __pgprot(_CACHE_CC | _PAGE_USER | 185 [VM_SHARED | VM_READ] = __pgprot(_CACHE_CC | _PAGE_VALID | [all …]
|
| /linux/arch/powerpc/include/asm/ |
| H A D | pgtable-masks.h | 23 #define PAGE_NONE __pgprot(_PAGE_BASE | _PAGE_NA) 24 #define PAGE_EXECONLY_X __pgprot(_PAGE_BASE | _PAGE_NAX) 25 #define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_RW) 26 #define PAGE_SHARED_X __pgprot(_PAGE_BASE | _PAGE_RWX) 27 #define PAGE_COPY __pgprot(_PAGE_BASE | _PAGE_RO) 28 #define PAGE_COPY_X __pgprot(_PAGE_BASE | _PAGE_ROX) 29 #define PAGE_READONLY __pgprot(_PAGE_BASE | _PAGE_RO) 30 #define PAGE_READONLY_X __pgprot(_PAGE_BASE | _PAGE_ROX)
|
| /linux/arch/arm/include/asm/ |
| H A D | pgtable.h | 91 #define _MOD_PROT(p, b) __pgprot(pgprot_val(p) | (b)) 103 #define __PAGE_NONE __pgprot(_L_PTE_DEFAULT | L_PTE_RDONLY | L_PTE_XN | L_PTE_NONE) 104 #define __PAGE_SHARED __pgprot(_L_PTE_DEFAULT | L_PTE_USER | L_PTE_XN) 105 #define __PAGE_SHARED_EXEC __pgprot(_L_PTE_DEFAULT | L_PTE_USER) 106 #define __PAGE_COPY __pgprot(_L_PTE_DEFAULT | L_PTE_USER | L_PTE_RDONLY | L_PTE_XN) 107 #define __PAGE_COPY_EXEC __pgprot(_L_PTE_DEFAULT | L_PTE_USER | L_PTE_RDONLY) 108 #define __PAGE_READONLY __pgprot(_L_PTE_DEFAULT | L_PTE_USER | L_PTE_RDONLY | L_PTE_XN) 109 #define __PAGE_READONLY_EXEC __pgprot(_L_PTE_DEFAULT | L_PTE_USER | L_PTE_RDONLY) 112 __pgprot((pgprot_val(prot) & ~(mask)) | (bits)) 230 return set_pte_bit(pte, __pgprot(L_PTE_RDONLY)); in pte_wrprotect() [all …]
|
| H A D | pgtable-nommu.h | 34 #define PAGE_NONE __pgprot(0) 35 #define PAGE_SHARED __pgprot(0) 36 #define PAGE_COPY __pgprot(0) 37 #define PAGE_READONLY __pgprot(0) 38 #define PAGE_KERNEL __pgprot(0)
|
| /linux/arch/xtensa/include/asm/ |
| H A D | pgtable.h | 169 #define PAGE_NONE __pgprot(_PAGE_NONE | _PAGE_USER) 170 #define PAGE_COPY __pgprot(_PAGE_PRESENT | _PAGE_USER) 171 #define PAGE_COPY_EXEC __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_HW_EXEC) 172 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_USER) 173 #define PAGE_READONLY_EXEC __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_HW_EXEC) 174 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_WRITABLE) 176 __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_WRITABLE | _PAGE_HW_EXEC) 177 #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | _PAGE_HW_WRITE) 178 #define PAGE_KERNEL_RO __pgprot(_PAGE_PRESENT) 179 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_PRESENT|_PAGE_HW_WRITE|_PAGE_HW_EXEC) [all …]
|
| /linux/arch/loongarch/include/asm/ |
| H A D | pgtable-bits.h | 112 #define PAGE_NONE __pgprot(_PAGE_PROTNONE | _PAGE_NO_READ | \ 114 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_WRITE | \ 116 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_USER | _CACHE_CC) 118 #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \ 120 #define PAGE_KERNEL_SUC __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \ 122 #define PAGE_KERNEL_WUC __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \ 133 return __pgprot(pgprot_val(_prot) | _PAGE_NO_EXEC); in pgprot_nx() 144 return __pgprot(prot); in pgprot_noncached() 157 return __pgprot(prot); in pgprot_writecombine()
|
| /linux/arch/s390/include/asm/ |
| H A D | pgtable.h | 467 #define __pgprot_page_mask(x) __pgprot((x) & page_noexec_mask) 514 #define __pgprot_segment_mask(x) __pgprot((x) & segment_noexec_mask) 546 #define __pgprot_region_mask(x) __pgprot((x) & region_noexec_mask) 913 return set_pte_bit(pte, __pgprot(_PAGE_SWP_EXCLUSIVE)); in pte_swp_mkexclusive() 918 return clear_pte_bit(pte, __pgprot(_PAGE_SWP_EXCLUSIVE)); in pte_swp_clear_exclusive() 929 return set_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY)); in pte_mksoft_dirty() 935 return clear_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY)); in pte_clear_soft_dirty() 946 return set_pmd_bit(pmd, __pgprot(_SEGMENT_ENTRY_SOFT_DIRTY)); in pmd_mksoft_dirty() 951 return clear_pmd_bit(pmd, __pgprot(_SEGMENT_ENTRY_SOFT_DIRTY)); in pmd_clear_soft_dirty() 1002 return __pgprot(pte_flags); in pte_pgprot() [all …]
|
| /linux/arch/m68k/include/asm/ |
| H A D | pgtable_no.h | 25 #define PAGE_NONE __pgprot(0) 26 #define PAGE_SHARED __pgprot(0) 27 #define PAGE_COPY __pgprot(0) 28 #define PAGE_READONLY __pgprot(0) 29 #define PAGE_KERNEL __pgprot(0)
|
| H A D | sun3_pgtable.h | 45 #define PAGE_NONE __pgprot(SUN3_PAGE_VALID \ 48 #define PAGE_SHARED __pgprot(SUN3_PAGE_VALID \ 52 #define PAGE_COPY __pgprot(SUN3_PAGE_VALID \ 55 #define PAGE_READONLY __pgprot(SUN3_PAGE_VALID \ 58 #define PAGE_KERNEL __pgprot(SUN3_PAGE_VALID \ 64 #define PAGE_INIT __pgprot(SUN3_PAGE_VALID \
|
| H A D | pgtable_mm.h | 155 # define pgprot_noncached(prot) (__pgprot(pgprot_val(prot) | CF_PAGE_NOCACHE)) 164 ? (__pgprot(pgprot_val(prot) | __SUN3_PAGE_NOCACHE)) \ 166 ? (__pgprot(pgprot_val(prot) | _PAGE_NOCACHE030)) \ 168 ? (__pgprot((pgprot_val(prot) & _CACHEMASK040) | _PAGE_NOCACHE_S)) \
|
| /linux/arch/arc/include/asm/ |
| H A D | pgtable-bits-arcv2.h | 46 #define PAGE_U_NONE __pgprot(___DEF) 47 #define PAGE_U_R __pgprot(___DEF | _PAGE_READ) 48 #define PAGE_U_W_R __pgprot(___DEF | _PAGE_READ | _PAGE_WRITE) 49 #define PAGE_U_X_R __pgprot(___DEF | _PAGE_READ | _PAGE_EXECUTE) 50 #define PAGE_U_X_W_R __pgprot(___DEF \ 52 #define PAGE_KERNEL __pgprot(___DEF | _PAGE_GLOBAL \ 57 #define pgprot_noncached(prot) (__pgprot(pgprot_val(prot) & ~_PAGE_CACHEABLE))
|
| /linux/arch/microblaze/include/asm/ |
| H A D | pgtable.h | 52 (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ 56 (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ 192 #define PAGE_NONE __pgprot(_PAGE_BASE) 193 #define PAGE_READONLY __pgprot(_PAGE_BASE | _PAGE_USER) 194 #define PAGE_READONLY_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC) 195 #define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW) 197 __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW | _PAGE_EXEC) 198 #define PAGE_COPY __pgprot(_PAGE_BASE | _PAGE_USER) 199 #define PAGE_COPY_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC) 201 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) [all …]
|
| /linux/arch/powerpc/include/asm/nohash/ |
| H A D | pgtable.h | 23 #define PAGE_KERNEL __pgprot(_PAGE_BASE | _PAGE_KERNEL_RW) 24 #define PAGE_KERNEL_NC __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | _PAGE_NO_CACHE) 25 #define PAGE_KERNEL_NCG __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | _PAGE_NO_CACHE | _PAGE_GUARDED) 26 #define PAGE_KERNEL_X __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX) 27 #define PAGE_KERNEL_RO __pgprot(_PAGE_BASE | _PAGE_KERNEL_RO) 28 #define PAGE_KERNEL_ROX __pgprot(_PAGE_BASE | _PAGE_KERNEL_ROX) 352 #define pgprot_noncached(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ 355 #define pgprot_noncached_wc(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ 358 #define pgprot_cached(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ 362 #define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ [all …]
|
| /linux/arch/openrisc/include/asm/ |
| H A D | pgtable.h | 160 #define PAGE_NONE __pgprot(_PAGE_ALL) 161 #define PAGE_READONLY __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE) 162 #define PAGE_READONLY_X __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE | _PAGE_EXEC) 164 __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE | _PAGE_UWE | _PAGE_SWE \ 167 __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE | _PAGE_UWE | _PAGE_SWE \ 169 #define PAGE_COPY __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE) 170 #define PAGE_COPY_X __pgprot(_PAGE_ALL | _PAGE_URE | _PAGE_SRE | _PAGE_EXEC) 173 __pgprot(_PAGE_ALL | _PAGE_SRE | _PAGE_SWE \ 176 __pgprot(_PAGE_ALL | _PAGE_SRE \ 179 __pgprot(_PAGE_ALL | _PAGE_SRE | _PAGE_SWE \
|
| /linux/arch/parisc/include/asm/ |
| H A D | pgtable.h | 231 #define PAGE_NONE __pgprot(_PAGE_PRESENT | _PAGE_USER) 232 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_WRITE) 236 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ) 237 #define PAGE_WRITEONLY __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_WRITE) 238 #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC) 240 #define PAGE_RWX __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_WRITE | _PAGE_EXEC) 241 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) 242 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC) 243 #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX) 244 #define PAGE_KERNEL_RO __pgprot(_PAGE_KERNEL_RO) [all …]
|
| /linux/arch/powerpc/include/asm/book3s/32/ |
| H A D | pgtable.h | 90 #define PAGE_KERNEL __pgprot(_PAGE_BASE | _PAGE_KERNEL_RW) 91 #define PAGE_KERNEL_NC __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | _PAGE_NO_CACHE) 92 #define PAGE_KERNEL_NCG __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | _PAGE_NO_CACHE | _PAGE_GUARDED) 93 #define PAGE_KERNEL_X __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX) 94 #define PAGE_KERNEL_RO __pgprot(_PAGE_BASE | _PAGE_KERNEL_RO) 95 #define PAGE_KERNEL_ROX __pgprot(_PAGE_BASE | _PAGE_KERNEL_ROX) 568 return __pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | in pgprot_noncached() 575 return __pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | in pgprot_noncached_wc() 582 return __pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | in pgprot_cached() 589 return __pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | in pgprot_cached_wthru() [all …]
|
| /linux/arch/x86/mm/pat/ |
| H A D | set_memory.c | 80 return __pgprot(cachemode2protval(pcm)); in cachemode2pgprot() 658 return __pgprot(pgprot_val(prot) & ~forbidden); in static_protections() 1200 __set_pmd_pte(kpte, address, mk_pte(base, __pgprot(_KERNPG_TABLE))); in __split_large_page() 1737 pgprot_t pgprot = __pgprot(_KERNPG_TABLE); in populate_pgd() 2123 return change_page_attr_set_clr(addr, numpages, mask, __pgprot(0), 0, in change_page_attr_set() 2130 return change_page_attr_set_clr(addr, numpages, __pgprot(0), mask, 0, in change_page_attr_clear() 2137 return change_page_attr_set_clr(NULL, numpages, mask, __pgprot(0), 0, in cpa_set_pages_array() 2144 return change_page_attr_set_clr(NULL, numpages, __pgprot(0), mask, 0, in cpa_clear_pages_array() 2157 __pgprot(~pgprot_val(prot)), 0, 0, in __set_memory_prot() 2209 __pgprot(_PAGE_CACHE_MASK), in _set_memory_wc() [all …]
|
| /linux/arch/arm64/include/asm/ |
| H A D | pgtable.h | 299 pte = set_pte_bit(pte, __pgprot(PTE_WRITE)); in pte_mkwrite_novma() 301 pte = clear_pte_bit(pte, __pgprot(PTE_RDONLY)); in pte_mkwrite_novma() 307 pte = clear_pte_bit(pte, __pgprot(PTE_DIRTY)); in pte_mkclean() 308 pte = set_pte_bit(pte, __pgprot(PTE_RDONLY)); in pte_mkclean() 315 pte = set_pte_bit(pte, __pgprot(PTE_DIRTY)); in pte_mkdirty() 318 pte = clear_pte_bit(pte, __pgprot(PTE_RDONLY)); in pte_mkdirty() 330 pte = set_pte_bit(pte, __pgprot(PTE_DIRTY)); in pte_wrprotect() 332 pte = clear_pte_bit(pte, __pgprot(PTE_WRITE)); in pte_wrprotect() 333 pte = set_pte_bit(pte, __pgprot(PTE_RDONLY)); in pte_wrprotect() 339 return clear_pte_bit(pte, __pgprot(PTE_AF)); in pte_mkold() [all …]
|
| /linux/arch/um/include/asm/ |
| H A D | pgtable.h | 63 #define PAGE_NONE __pgprot(_PAGE_PROTNONE | _PAGE_ACCESSED) 64 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_USER | _PAGE_ACCESSED) 65 #define PAGE_COPY __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_ACCESSED) 66 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_ACCESSED) 67 #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED) 68 #define PAGE_KERNEL_EXEC __pgprot(__PAGE_KERNEL_EXEC) 83 #define pte_clear(mm, addr, xp) pte_set_val(*(xp), (phys_t) 0, __pgprot(_PAGE_NEEDSYNC))
|
| /linux/arch/s390/mm/ |
| H A D | pageattr.c | 103 new = set_pte_bit(new, __pgprot(_PAGE_NOEXEC)); in walk_pte_level() 105 new = clear_pte_bit(new, __pgprot(_PAGE_NOEXEC)); in walk_pte_level() 107 new = set_pte_bit(new, __pgprot(_PAGE_INVALID)); in walk_pte_level() 159 new = set_pmd_bit(new, __pgprot(_SEGMENT_ENTRY_NOEXEC)); in modify_pmd_page() 161 new = clear_pmd_bit(new, __pgprot(_SEGMENT_ENTRY_NOEXEC)); in modify_pmd_page() 163 new = set_pmd_bit(new, __pgprot(_SEGMENT_ENTRY_INVALID)); in modify_pmd_page() 246 new = set_pud_bit(new, __pgprot(_REGION_ENTRY_NOEXEC)); in modify_pud_page() 248 new = clear_pud_bit(new, __pgprot(_REGION_ENTRY_NOEXEC)); in modify_pud_page() 250 new = set_pud_bit(new, __pgprot(_REGION_ENTRY_INVALID)); in modify_pud_page() 461 pte = clear_pte_bit(*ptep, __pgprot(_PAGE_INVALID)); in __kernel_map_pages()
|
| /linux/arch/riscv/include/asm/ |
| H A D | pgtable.h | 178 #define PAGE_NONE __pgprot(_PAGE_PROT_NONE | _PAGE_READ) 179 #define PAGE_READ __pgprot(_PAGE_BASE | _PAGE_READ) 180 #define PAGE_WRITE __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_WRITE) 181 #define PAGE_EXEC __pgprot(_PAGE_BASE | _PAGE_EXEC) 182 #define PAGE_READ_EXEC __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_EXEC) 183 #define PAGE_WRITE_EXEC __pgprot(_PAGE_BASE | _PAGE_READ | \ 198 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) 199 #define PAGE_KERNEL_READ __pgprot(_PAGE_KERNEL & ~_PAGE_WRITE) 200 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL | _PAGE_EXEC) 201 #define PAGE_KERNEL_READ_EXEC __pgprot((_PAGE_KERNEL & ~_PAGE_WRITE) \ [all …]
|
| /linux/arch/csky/include/asm/ |
| H A D | pgtable.h | 55 #define PAGE_NONE __pgprot(_PAGE_PROT_NONE) 56 #define PAGE_READ __pgprot(_PAGE_BASE | _PAGE_READ | \ 58 #define PAGE_WRITE __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_WRITE | \ 62 #define PAGE_KERNEL __pgprot(_PAGE_BASE | _PAGE_READ | _PAGE_VALID | \ 239 return __pgprot(prot); in pgprot_noncached() 249 return __pgprot(prot); in pgprot_writecombine()
|
| /linux/arch/hexagon/include/asm/ |
| H A D | pgtable.h | 109 #define PAGE_NONE __pgprot(_PAGE_PRESENT | _PAGE_USER | \ 111 #define PAGE_READONLY __pgprot(_PAGE_PRESENT | _PAGE_USER | \ 114 #define PAGE_EXEC __pgprot(_PAGE_PRESENT | _PAGE_USER | \ 117 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | \ 119 #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | _PAGE_READ | \
|