Lines Matching refs:pte

27 #define pte_present(pte) (pte & PT_PRESENT)  argument
28 #define pte_write_access(pte) (pte & PT_WRITE) argument
29 #define pte_user_access(pte) (pte & PT_USER) argument
30 #define pte_exec_access(pte) (!(pte & PT_NX)) argument
32 #define pte_large_page(pte) (pte & PT_PS) argument
33 #define pte_global_access(pte) (pte & PT_GLOBAL) argument
47 uint64_t pte[5]; member
81 uint64_t pte = 0; in get_pt_entry() local
83 uint64_t gpa = pt->pte[level] & page_mask; in get_pt_entry()
86 gpa = pt->pte[level]; in get_pt_entry()
91 MEMTXATTRS_UNSPECIFIED, &pte, pte_size(pae)); in get_pt_entry()
93 pt->pte[level - 1] = pte; in get_pt_entry()
102 uint64_t pte = pt->pte[level]; in test_pt_entry() local
114 if (!pte_present(pte)) { in test_pt_entry()
122 if (level && pte_large_page(pte)) { in test_pt_entry()
133 if (pt->write_access && !pte_write_access(pte)) { in test_pt_entry()
138 if (pt->user_access && !pte_user_access(pte)) { in test_pt_entry()
142 if (pae && pt->exec_access && !pte_exec_access(pte)) { in test_pt_entry()
151 static inline uint64_t pse_pte_to_page(uint64_t pte) in pse_pte_to_page() argument
153 return ((pte & 0x1fe000) << 19) | (pte & 0xffc00000); in pse_pte_to_page()
159 VM_PANIC_ON(!pte_large_page(pt->pte[largeness])) in large_page_gpa()
163 return (pt->pte[2] & PAE_PTE_SUPER_PAGE_MASK) | (pt->gva & 0x3fffffff); in large_page_gpa()
170 return (pt->pte[1] & PAE_PTE_LARGE_PAGE_MASK) | (pt->gva & 0x1fffff); in large_page_gpa()
174 return pse_pte_to_page(pt->pte[1]) | (pt->gva & 0x3fffff); in large_page_gpa()
190 pt->pte[top_level] = pae ? (cr3 & PAE_CR3_MASK) : (cr3 & LEGACY_CR3_MASK); in walk_gpt()
209 pt->gpa = (pt->pte[0] & page_mask) | (pt->gva & 0xfff); in walk_gpt()