| /linux/arch/arm/include/asm/ |
| H A D | pgtable-2level-hwdef.h | 58 #define PTE_TYPE_MASK (_AT(pteval_t, 3) << 0) 59 #define PTE_TYPE_FAULT (_AT(pteval_t, 0) << 0) 60 #define PTE_TYPE_LARGE (_AT(pteval_t, 1) << 0) 61 #define PTE_TYPE_SMALL (_AT(pteval_t, 2) << 0) 62 #define PTE_TYPE_EXT (_AT(pteval_t, 3) << 0) /* v5 */ 63 #define PTE_BUFFERABLE (_AT(pteval_t, 1) << 2) 64 #define PTE_CACHEABLE (_AT(pteval_t, 1) << 3) 69 #define PTE_EXT_XN (_AT(pteval_t, 1) << 0) /* v6 */ 70 #define PTE_EXT_AP_MASK (_AT(pteval_t, 3) << 4) 71 #define PTE_EXT_AP0 (_AT(pteval_t, 1) << 4) [all …]
|
| H A D | pgtable-2level.h | 119 #define L_PTE_VALID (_AT(pteval_t, 1) << 0) /* Valid */ 120 #define L_PTE_PRESENT (_AT(pteval_t, 1) << 0) 121 #define L_PTE_YOUNG (_AT(pteval_t, 1) << 1) 122 #define L_PTE_DIRTY (_AT(pteval_t, 1) << 6) 123 #define L_PTE_RDONLY (_AT(pteval_t, 1) << 7) 124 #define L_PTE_USER (_AT(pteval_t, 1) << 8) 125 #define L_PTE_XN (_AT(pteval_t, 1) << 9) 126 #define L_PTE_SHARED (_AT(pteval_t, 1) << 10) /* shared(v6), coherent(xsc3) */ 127 #define L_PTE_NONE (_AT(pteval_t, 1) << 11) 165 #define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */ [all …]
|
| H A D | pgtable-3level.h | 68 #define L_PTE_VALID (_AT(pteval_t, 1) << 0) /* Valid */ 69 #define L_PTE_PRESENT (_AT(pteval_t, 3) << 0) /* Present */ 70 #define L_PTE_USER (_AT(pteval_t, 1) << 6) /* AP[1] */ 71 #define L_PTE_SHARED (_AT(pteval_t, 3) << 8) /* SH[1:0], inner shareable */ 72 #define L_PTE_YOUNG (_AT(pteval_t, 1) << 10) /* AF */ 73 #define L_PTE_XN (_AT(pteval_t, 1) << 54) /* XN */ 74 #define L_PTE_DIRTY (_AT(pteval_t, 1) << 55) 75 #define L_PTE_SPECIAL (_AT(pteval_t, 1) << 56) 76 #define L_PTE_NONE (_AT(pteval_t, 1) << 57) /* PROT_NONE */ 77 #define L_PTE_RDONLY (_AT(pteval_t, 1) << 58) /* READ ONLY */ [all …]
|
| H A D | pgtable-3level-hwdef.h | 59 #define PTE_TYPE_MASK (_AT(pteval_t, 3) << 0) 60 #define PTE_TYPE_FAULT (_AT(pteval_t, 0) << 0) 61 #define PTE_TYPE_PAGE (_AT(pteval_t, 3) << 0) 62 #define PTE_TABLE_BIT (_AT(pteval_t, 1) << 1) 63 #define PTE_BUFFERABLE (_AT(pteval_t, 1) << 2) /* AttrIndx[0] */ 64 #define PTE_CACHEABLE (_AT(pteval_t, 1) << 3) /* AttrIndx[1] */ 65 #define PTE_AP2 (_AT(pteval_t, 1) << 7) /* AP[2] */ 66 #define PTE_EXT_SHARED (_AT(pteval_t, 3) << 8) /* SH[1:0], inner shareable */ 67 #define PTE_EXT_AF (_AT(pteval_t, 1) << 10) /* Access Flag */ 68 #define PTE_EXT_NG (_AT(pteval_t, 1) << 11) /* nG */ [all …]
|
| H A D | pgtable-2level-types.h | 12 typedef u32 pteval_t; typedef 21 typedef struct { pteval_t pte; } pte_t; 24 typedef struct { pteval_t pgprot; } pgprot_t; 39 typedef pteval_t pte_t; 42 typedef pteval_t pgprot_t;
|
| H A D | pgtable-3level-types.h | 13 typedef u64 pteval_t; typedef 24 typedef struct { pteval_t pte; } pte_t; 27 typedef struct { pteval_t pgprot; } pgprot_t; 41 typedef pteval_t pte_t; 44 typedef pteval_t pgprot_t;
|
| H A D | pgtable.h | 192 pteval_t mask = L_PTE_PRESENT | L_PTE_USER; in pte_access_permitted() 193 pteval_t needed = mask; in pte_access_permitted() 270 const pteval_t mask = L_PTE_XN | L_PTE_RDONLY | L_PTE_USER | in pte_modify()
|
| /linux/arch/x86/include/asm/ |
| H A D | pgtable_types.h | 51 #define _PAGE_PRESENT (_AT(pteval_t, 1) << _PAGE_BIT_PRESENT) 52 #define _PAGE_RW (_AT(pteval_t, 1) << _PAGE_BIT_RW) 53 #define _PAGE_USER (_AT(pteval_t, 1) << _PAGE_BIT_USER) 54 #define _PAGE_PWT (_AT(pteval_t, 1) << _PAGE_BIT_PWT) 55 #define _PAGE_PCD (_AT(pteval_t, 1) << _PAGE_BIT_PCD) 56 #define _PAGE_ACCESSED (_AT(pteval_t, 1) << _PAGE_BIT_ACCESSED) 57 #define _PAGE_DIRTY (_AT(pteval_t, 1) << _PAGE_BIT_DIRTY) 58 #define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE) 59 #define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL) 60 #define _PAGE_SOFTW1 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW1) [all …]
|
| H A D | pgtable-2level_types.h | 8 typedef unsigned long pteval_t; typedef 16 pteval_t pte; 17 pteval_t pte_low;
|
| H A D | pgtable-3level_types.h | 8 typedef u64 pteval_t; typedef 19 pteval_t pte;
|
| H A D | pgtable-3level.h | 186 #define __swp_pteval_entry(type, offset) ((pteval_t) { \ 187 (~(pteval_t)(offset) << SWP_OFFSET_SHIFT >> SWP_TYPE_BITS) \ 188 | ((pteval_t)(type) << (64 - SWP_TYPE_BITS)) })
|
| H A D | paravirt.h | 335 static inline pte_t __pte(pteval_t val) in __pte() 337 return (pte_t) { PVOP_ALT_CALLEE1(pteval_t, pv_ops, mmu.make_pte, val, in __pte() 341 static inline pteval_t pte_val(pte_t pte) in pte_val() 343 return PVOP_ALT_CALLEE1(pteval_t, pv_ops, mmu.pte_val, pte.pte, in pte_val() 363 pteval_t ret; in ptep_modify_prot_start() 365 ret = PVOP_CALL3(pteval_t, pv_ops, mmu.ptep_modify_prot_start, vma, addr, ptep); in ptep_modify_prot_start()
|
| H A D | pgtable_64_types.h | 14 typedef unsigned long pteval_t; typedef 21 typedef struct { pteval_t pte; } pte_t;
|
| H A D | tlbflush.h | 370 const pteval_t flush_on_clear = _PAGE_DIRTY | _PAGE_PRESENT | in pte_flags_need_flush() 372 const pteval_t software_flags = _PAGE_SOFTW1 | _PAGE_SOFTW2 | in pte_flags_need_flush() 375 const pteval_t flush_on_change = _PAGE_RW | _PAGE_USER | _PAGE_PWT | in pte_flags_need_flush()
|
| /linux/arch/arm64/include/asm/ |
| H A D | pgtable-hwdef.h | 164 #define PTE_VALID (_AT(pteval_t, 1) << 0) 165 #define PTE_TYPE_MASK (_AT(pteval_t, 3) << 0) 166 #define PTE_TYPE_PAGE (_AT(pteval_t, 3) << 0) 167 #define PTE_USER (_AT(pteval_t, 1) << 6) /* AP[1] */ 168 #define PTE_RDONLY (_AT(pteval_t, 1) << 7) /* AP[2] */ 169 #define PTE_SHARED (_AT(pteval_t, 3) << 8) /* SH[1:0], inner shareable */ 170 #define PTE_AF (_AT(pteval_t, 1) << 10) /* Access Flag */ 171 #define PTE_NG (_AT(pteval_t, 1) << 11) /* nG */ 172 #define PTE_GP (_AT(pteval_t, 1) << 50) /* BTI guarded */ 173 #define PTE_DBM (_AT(pteval_t, 1) << 51) /* Dirty Bit Management */ [all …]
|
| H A D | pgtable-prot.h | 17 #define PTE_SWP_EXCLUSIVE (_AT(pteval_t, 1) << 2) /* only for swp ptes */ 18 #define PTE_DIRTY (_AT(pteval_t, 1) << 55) 19 #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) 29 #define PTE_UFFD_WP (_AT(pteval_t, 1) << 58) /* uffd-wp tracking */ 30 #define PTE_SWP_UFFD_WP (_AT(pteval_t, 1) << 3) /* only for swp ptes */ 32 #define PTE_UFFD_WP (_AT(pteval_t, 0)) 33 #define PTE_SWP_UFFD_WP (_AT(pteval_t, 0))
|
| H A D | pgtable-types.h | 22 typedef ptdesc_t pteval_t; typedef 31 typedef struct { pteval_t pte; } pte_t;
|
| H A D | ptdump.h | 64 pteval_t val); 80 int level, pteval_t val) { } in note_page()
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | page_tables.rst | 82 - **pte**, `pte_t`, `pteval_t` = **页表项** - 前面提到过。*pte* 是一个由 83 `PTRS_PER_PTE` 个 `pteval_t` 类型元素组成的数组,每个元素将一个虚拟内存页 84 映射到一个物理内存页。体系结构定义了 `pteval_t` 的大小和内容。 86 一个典型的例子是 `pteval_t` 是一个 32 或者 64 位的值,其中高位是 **pfn**,
|
| /linux/include/trace/events/ |
| H A D | xen.h | 132 TRACE_DEFINE_SIZEOF(pteval_t); 139 __field(pteval_t, pteval) 145 (int)sizeof(pteval_t) * 2, (unsigned long long)pte_val(native_make_pte(__entry->pteval)), 146 (int)sizeof(pteval_t) * 2, (unsigned long long)__entry->pteval) 266 __field(pteval_t, pteval) 274 (int)sizeof(pteval_t) * 2, (unsigned long long)pte_val(native_make_pte(__entry->pteval)), 275 (int)sizeof(pteval_t) * 2, (unsigned long long)__entry->pteval)
|
| /linux/arch/arm/mm/ |
| H A D | mm.h | 39 pteval_t prot_pte; 40 pteval_t prot_pte_s2;
|
| /linux/arch/x86/include/asm/xen/ |
| H A D | page.h | 35 #define XEN_PTE_MFN_MASK ((pteval_t)(((signed long)PAGE_MASK) & \ 324 static inline pteval_t pte_val_ma(pte_t pte) in pte_val_ma() 329 static inline pte_t __pte_ma(pteval_t x) in __pte_ma()
|
| /linux/arch/x86/boot/compressed/ |
| H A D | ident_map_64.c | 35 pteval_t __default_kernel_pte_mask __read_mostly = ~0; 257 pteval_t set, pteval_t clr) in set_clr_page_flags()
|
| /linux/arch/x86/xen/ |
| H A D | mmu_pv.c | 91 pteval_t xen_pte_val(pte_t pte); 96 pte_t xen_make_pte(pteval_t pte); 101 pte_t xen_make_pte_init(pteval_t pte); 379 static pteval_t pte_mfn_to_pfn(pteval_t val) in pte_mfn_to_pfn() 385 pteval_t flags = val & PTE_FLAGS_MASK; in pte_mfn_to_pfn() 389 val = ((pteval_t)pfn << PAGE_SHIFT) | flags; in pte_mfn_to_pfn() 395 static pteval_t pte_pfn_to_mfn(pteval_t val) in pte_pfn_to_mfn() 399 pteval_t flags = val & PTE_FLAGS_MASK; in pte_pfn_to_mfn() 415 val = ((pteval_t)mfn << PAGE_SHIFT) | flags; in pte_pfn_to_mfn() 421 __visible pteval_t xen_pte_val(pte_t pte) in xen_pte_val() [all …]
|
| /linux/arch/x86/mm/ |
| H A D | kmmio.c | 38 pteval_t old_presence; /* page presence prior to arming */ 147 static void clear_pte_presence(pte_t *pte, bool clear, pteval_t *old) in clear_pte_presence() 149 pteval_t v = pte_val(*pte); in clear_pte_presence()
|