/xen/xen/arch/x86/mm/ |
A D | guest_walk.c | 142 guest_l4_table_offset(va) * sizeof(gw->l4e); in guest_walk_tables() 143 if ( !hvmemul_read_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e)) ) in guest_walk_tables() 145 gw->l4e = l4p[guest_l4_table_offset(va)]; in guest_walk_tables() 146 hvmemul_write_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e)); in guest_walk_tables() 148 gflags = guest_l4e_get_flags(gw->l4e); in guest_walk_tables() 153 if ( guest_l4e_rsvd_bits(v, gw->l4e) ) in guest_walk_tables() 165 guest_l4e_get_gfn(gw->l4e), in guest_walk_tables() 176 l3gpa = gfn_to_gaddr(guest_l4e_get_gfn(gw->l4e)) + in guest_walk_tables() 505 if ( set_ad_bits(&l4p[guest_l4_table_offset(va)].l4, &gw->l4e.l4, in guest_walk_tables() 509 hvmemul_write_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e)); in guest_walk_tables()
|
A D | p2m-pt.c | 743 l4_pgentry_t *l4e = map_domain_page(mfn); in p2m_pt_get_entry() local 744 l4e += l4_table_offset(addr); in p2m_pt_get_entry() 747 if ( (l4e_get_flags(*l4e) & _PAGE_PRESENT) == 0 ) in p2m_pt_get_entry() 749 unmap_domain_page(l4e); in p2m_pt_get_entry() 752 mfn = l4e_get_mfn(*l4e); in p2m_pt_get_entry() 753 recalc = needs_recalc(l4, *l4e); in p2m_pt_get_entry() 754 unmap_domain_page(l4e); in p2m_pt_get_entry() 965 l4_pgentry_t *l4e; in p2m_pt_audit_p2m() local 973 if ( !(l4e_get_flags(l4e[i4]) & _PAGE_PRESENT) ) in p2m_pt_audit_p2m() 978 l3e = map_l3t_from_l4e(l4e[i4]); in p2m_pt_audit_p2m() [all …]
|
/xen/xen/arch/x86/efi/ |
A D | runtime.h | 7 void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e) in efi_update_l4_pgtable() argument 10 l4e_write(efi_l4_pgtable + l4idx, l4e); in efi_update_l4_pgtable()
|
A D | stub.c | 55 void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e) { } in efi_update_l4_pgtable() argument
|
/xen/xen/arch/x86/pv/ |
A D | mm.h | 143 static always_inline l4_pgentry_t adjust_guest_l4e(l4_pgentry_t l4e, in adjust_guest_l4e() argument 158 if ( likely(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in adjust_guest_l4e() 159 l4e_add_flags(l4e, (_PAGE_ACCESSED | in adjust_guest_l4e() 162 return l4e; in adjust_guest_l4e()
|
A D | shim.c | 168 l4_pgentry_t l4e = l4start[l4_table_offset(va)]; in replace_va_mapping() local 169 l3_pgentry_t l3e = l3e_from_l4e(l4e, l3_table_offset(va)); in replace_va_mapping()
|
/xen/xen/arch/x86/ |
A D | debug.c | 69 l4_pgentry_t l4e, *l4t; in dbg_pv_va2mfn() local 79 l4e = l4t[l4_table_offset(vaddr)]; in dbg_pv_va2mfn() 81 mfn = l4e_get_mfn(l4e); in dbg_pv_va2mfn() 82 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in dbg_pv_va2mfn()
|
A D | traps.c | 1298 l4_pgentry_t l4e, *l4t; in __page_fault_type() local 1328 l4e = l4e_read_atomic(&l4t[l4_table_offset(addr)]); in __page_fault_type() 1329 mfn = l4e_get_pfn(l4e); in __page_fault_type() 1331 if ( ((l4e_get_flags(l4e) & required_flags) != required_flags) || in __page_fault_type() 1332 (l4e_get_flags(l4e) & disallowed_flags) ) in __page_fault_type() 1334 page_user &= l4e_get_flags(l4e); in __page_fault_type()
|
A D | mm.c | 1195 if ( unlikely((l4e_get_flags(l4e) & L4_DISALLOW_MASK)) ) in get_page_from_l4e() 1198 l4e_get_flags(l4e) & L4_DISALLOW_MASK); in get_page_from_l4e() 1335 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) || mfn_eq(l4e_get_mfn(l4e), l4mfn) ) in put_page_from_l4e() 1774 l4_pgentry_t l4e; in promote_l4_table() local 1779 l4e = pl4e[i]; in promote_l4_table() 1781 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in promote_l4_table() 1783 if ( !pv_l1tf_check_l4e(d, l4e) ) in promote_l4_table() 1788 rc = get_page_from_l4e(l4e, l4mfn, d, in promote_l4_table() 1840 pl4e[i] = adjust_guest_l4e(l4e, d); in promote_l4_table() 5093 l4e_write(pl4e, l4e); in virt_to_xen_l3e() [all …]
|
A D | domctl.c | 1628 const l4_pgentry_t *l4e = in arch_get_info_guest() local 1631 c.cmp->ctrlreg[3] = compat_pfn_to_cr3(l4e_get_pfn(*l4e)); in arch_get_info_guest() 1632 unmap_domain_page(l4e); in arch_get_info_guest()
|
/xen/xen/arch/x86/x86_64/ |
A D | traps.c | 188 l4_pgentry_t l4e, *l4t; in show_page_walk() local 198 l4e = l4t[l4_table_offset(addr)]; in show_page_walk() 200 mfn = l4e_get_pfn(l4e); in show_page_walk() 204 l4_table_offset(addr), l4e_get_intpte(l4e), pfn); in show_page_walk() 205 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) || in show_page_walk()
|
A D | mm.c | 50 l4_pgentry_t l4e, *l4t; in do_page_walk() local 59 l4e = l4t[l4_table_offset(addr)]; in do_page_walk() 61 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in do_page_walk() 64 l3t = map_l3t_from_l4e(l4e); in do_page_walk() 873 l4_pgentry_t l4e = idle_pg_table[i]; in subarch_init_memory() local 877 l4e_add_flags(l4e, _PAGE_NX_BIT); in subarch_init_memory() 878 idle_pg_table[i] = l4e; in subarch_init_memory() 1186 l4_pgentry_t l4e; in handle_memadd_fault() local 1205 l4e = pl4e[0]; in handle_memadd_fault() 1207 if (!(l4e_get_flags(l4e) & _PAGE_PRESENT)) in handle_memadd_fault() [all …]
|
/xen/xen/include/asm-x86/ |
A D | guest_pt.h | 327 guest_l4e_t l4e) in guest_l4e_rsvd_bits() argument 329 return l4e.l4 & (guest_rsvd_bits(v) | GUEST_L4_PAGETABLE_RSVD | in guest_l4e_rsvd_bits() 347 guest_l4e_t l4e; /* Guest's level 4 entry */ member 442 gw->l4e.l4, mfn_x(gw->l4mfn)); in print_gw()
|
A D | shadow.h | 229 static inline bool pv_l1tf_check_l4e(struct domain *d, l4_pgentry_t l4e) in pv_l1tf_check_l4e() argument 231 return pv_l1tf_check_pte(d, 4, l4e.l4); in pv_l1tf_check_l4e()
|
A D | page.h | 43 #define l4e_write_atomic(l4ep, l4e) \ argument 44 pte_write_atomic(&l4e_get_intpte(*(l4ep)), l4e_get_intpte(l4e)) 56 #define l4e_write(l4ep, l4e) \ argument 57 pte_write(&l4e_get_intpte(*(l4ep)), l4e_get_intpte(l4e))
|
/xen/xen/arch/x86/mm/hap/ |
A D | hap.c | 393 l4_pgentry_t *l4e; in hap_make_monitor_table() local 402 l4e = map_domain_page(m4mfn); in hap_make_monitor_table() 404 init_xen_l4_slots(l4e, m4mfn, d, INVALID_MFN, false); in hap_make_monitor_table() 405 unmap_domain_page(l4e); in hap_make_monitor_table()
|
/xen/xen/common/efi/ |
A D | boot.c | 1448 l4_pgentry_t l4e = efi_l4_pgtable[l4_table_offset(mfn << PAGE_SHIFT)]; in copy_mapping() local 1455 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in copy_mapping() 1464 l3dst = l4e_to_l3e(l4e); in copy_mapping() 1629 l4_pgentry_t l4e = efi_l4_pgtable[l4_table_offset(addr)]; in efi_init_memory() local 1634 if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) ) in efi_init_memory() 1643 pl3e = l4e_to_l3e(l4e); in efi_init_memory()
|
/xen/xen/arch/x86/mm/shadow/ |
A D | multi.c | 244 mismatch |= (gw->l4e.l4 != l4p[guest_l4_table_offset(va)].l4); in shadow_check_gwalk() 1541 l4_pgentry_t *l4e; in sh_make_monitor_table() local 1546 l4e = map_domain_page(m4mfn); in sh_make_monitor_table() 1553 init_xen_l4_slots(l4e, m4mfn, d, INVALID_MFN, false); in sh_make_monitor_table() 1565 l4e[shadow_l4_table_offset(SH_LINEAR_PT_VIRT_START)] in sh_make_monitor_table() 1599 unmap_domain_page(l4e); in sh_make_monitor_table() 1987 l4_pgentry_t *l4e = map_domain_page(mmfn); in sh_destroy_monitor_table() local 1994 m3mfn = l4e_get_mfn(l4e[linear_slot]); in sh_destroy_monitor_table() 2005 ASSERT(l4e_get_flags(l4e[0]) & _PAGE_PRESENT); in sh_destroy_monitor_table() 2006 m3mfn = l4e_get_mfn(l4e[0]); in sh_destroy_monitor_table() [all …]
|