/xen/xen/arch/x86/mm/ |
A D | guest_walk.c | 178 if ( !hvmemul_read_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e)) ) in guest_walk_tables() 180 gw->l3e = l3p[guest_l3_table_offset(va)]; in guest_walk_tables() 181 hvmemul_write_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e)); in guest_walk_tables() 183 gflags = guest_l3e_get_flags(gw->l3e); in guest_walk_tables() 188 if ( guest_l3e_rsvd_bits(v, gw->l3e) ) in guest_walk_tables() 216 flags |= (guest_l3e_get_flags(gw->l3e) in guest_walk_tables() 236 if ( !hvmemul_read_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e)) ) in guest_walk_tables() 239 hvmemul_write_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e)); in guest_walk_tables() 242 gflags = guest_l3e_get_flags(gw->l3e); in guest_walk_tables() 246 if ( guest_l3e_rsvd_bits(v, gw->l3e) ) in guest_walk_tables() [all …]
|
A D | p2m-pt.c | 758 l3e += l3_table_offset(addr); in p2m_pt_get_entry() 763 flags = l3e_get_flags(*l3e); in p2m_pt_get_entry() 777 unmap_domain_page(l3e); in p2m_pt_get_entry() 782 mfn = _mfn(l3e_get_pfn(*l3e) + in p2m_pt_get_entry() 787 unmap_domain_page(l3e); in p2m_pt_get_entry() 793 mfn = l3e_get_mfn(*l3e); in p2m_pt_get_entry() 796 unmap_domain_page(l3e); in p2m_pt_get_entry() 966 l3_pgentry_t *l3e; in p2m_pt_audit_p2m() local 978 l3e = map_l3t_from_l4e(l4e[i4]); in p2m_pt_audit_p2m() 992 mfn = l3e_get_pfn(l3e[i3]); in p2m_pt_audit_p2m() [all …]
|
/xen/xen/arch/x86/pv/ |
A D | mm.h | 123 static always_inline l3_pgentry_t adjust_guest_l3e(l3_pgentry_t l3e, in adjust_guest_l3e() argument 126 if ( likely(l3e_get_flags(l3e) & _PAGE_PRESENT) ) in adjust_guest_l3e() 127 l3e_add_flags(l3e, (likely(!is_pv_32bit_domain(d)) in adjust_guest_l3e() 130 return l3e; in adjust_guest_l3e() 133 static inline l3_pgentry_t unadjust_guest_l3e(l3_pgentry_t l3e, in unadjust_guest_l3e() argument 137 likely(l3e_get_flags(l3e) & _PAGE_PRESENT) ) in unadjust_guest_l3e() 138 l3e_remove_flags(l3e, _PAGE_USER | _PAGE_RW | _PAGE_ACCESSED); in unadjust_guest_l3e() 140 return l3e; in unadjust_guest_l3e()
|
A D | shim.c | 169 l3_pgentry_t l3e = l3e_from_l4e(l4e, l3_table_offset(va)); in replace_va_mapping() local 170 l2_pgentry_t l2e = l2e_from_l3e(l3e, l2_table_offset(va)); in replace_va_mapping()
|
/xen/xen/arch/x86/x86_64/ |
A D | mm.c | 51 l3_pgentry_t l3e, *l3t; in do_page_walk() local 65 l3e = l3t[l3_table_offset(addr)]; in do_page_walk() 67 mfn = l3e_get_pfn(l3e); in do_page_walk() 132 l3_pgentry_t l3e; in m2p_mapped() local 160 l3_pgentry_t l3e; in share_hotadd_m2p_table() local 696 l3_pgentry_t l3e; in cleanup_frame_table() local 815 l3_pgentry_t l3e; in subarch_init_memory() local 886 l3_pgentry_t l3e; in subarch_memory_op() local 1188 l3_pgentry_t l3e; in handle_memadd_fault() local 1214 l3e = pl3e[3]; in handle_memadd_fault() [all …]
|
A D | traps.c | 189 l3_pgentry_t l3e, *l3t; in show_page_walk() local 210 l3e = l3t[l3_table_offset(addr)]; in show_page_walk() 212 mfn = l3e_get_pfn(l3e); in show_page_walk() 216 l3_table_offset(addr), l3e_get_intpte(l3e), pfn, in show_page_walk() 217 (l3e_get_flags(l3e) & _PAGE_PSE) ? " (PSE)" : ""); in show_page_walk() 218 if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) || in show_page_walk() 219 (l3e_get_flags(l3e) & _PAGE_PSE) || in show_page_walk()
|
/xen/xen/arch/x86/ |
A D | debug.c | 70 l3_pgentry_t l3e, *l3t; in dbg_pv_va2mfn() local 86 l3e = l3t[l3_table_offset(vaddr)]; in dbg_pv_va2mfn() 88 mfn = l3e_get_mfn(l3e); in dbg_pv_va2mfn() 89 if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) || in dbg_pv_va2mfn() 90 (l3e_get_flags(l3e) & _PAGE_PSE) ) in dbg_pv_va2mfn()
|
A D | traps.c | 1299 l3_pgentry_t l3e, *l3t; in __page_fault_type() local 1337 l3e = l3e_read_atomic(&l3t[l3_table_offset(addr)]); in __page_fault_type() 1338 mfn = l3e_get_pfn(l3e); in __page_fault_type() 1340 if ( ((l3e_get_flags(l3e) & required_flags) != required_flags) || in __page_fault_type() 1341 (l3e_get_flags(l3e) & disallowed_flags) ) in __page_fault_type() 1343 page_user &= l3e_get_flags(l3e); in __page_fault_type() 1344 if ( l3e_get_flags(l3e) & _PAGE_PSE ) in __page_fault_type()
|
A D | mm.c | 1182 get_l3_linear_pagetable(l3e, l3mfn, d) ) in get_page_from_l3e() 1322 if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) || mfn_eq(l3e_get_mfn(l3e), l3mfn) ) in put_page_from_l3e() 1325 if ( unlikely(l3e_get_flags(l3e) & _PAGE_PSE) ) in put_page_from_l3e() 1326 return put_data_pages(l3e_get_page(l3e), in put_page_from_l3e() 1544 l3_pgentry_t l3e = l3e_empty(); in promote_l3_table() local 1561 l3e = pl3e[i]; in promote_l3_table() 1572 l3e_get_mfn(l3e), in promote_l3_table() 1580 pl3e[i] = adjust_guest_l3e(l3e, d); in promote_l3_table() 1588 if ( !pv_l1tf_check_l3e(d, l3e) ) in promote_l3_table() 1593 rc = get_page_from_l3e(l3e, l3mfn, d, in promote_l3_table() [all …]
|
A D | smpboot.c | 905 l3_pgentry_t l3e = l3e_from_l4e(common_pgt, in cleanup_cpu_root_pgt() local 907 l2_pgentry_t l2e = l2e_from_l3e(l3e, l2_table_offset(stub_linear)); in cleanup_cpu_root_pgt()
|
/xen/xen/include/asm-x86/ |
A D | guest_pt.h | 317 guest_l3e_t l3e) in guest_l3e_rsvd_bits() argument 319 return ((l3e.l3 & (guest_rsvd_bits(v) | GUEST_L3_PAGETABLE_RSVD | in guest_l3e_rsvd_bits() 321 ((l3e.l3 & _PAGE_PSE) && in guest_l3e_rsvd_bits() 322 (l3e.l3 & SUPERPAGE_RSVD(GUEST_L3_PAGETABLE_SHIFT)))); in guest_l3e_rsvd_bits() 349 guest_l3e_t l3e; /* Guest's level 3 entry */ member 398 if ( guest_l3e_get_flags(gw->l3e) & _PAGE_PSE ) in guest_walk_to_page_order() 444 gw->l3e.l3, mfn_x(gw->l3mfn)); in print_gw() 446 gprintk(XENLOG_INFO, " l3e=%" PRI_gpte "\n", gw->l3e.l3); in print_gw()
|
A D | shadow.h | 224 static inline bool pv_l1tf_check_l3e(struct domain *d, l3_pgentry_t l3e) in pv_l1tf_check_l3e() argument 226 return pv_l1tf_check_pte(d, 3, l3e.l3); in pv_l1tf_check_l3e()
|
A D | page.h | 41 #define l3e_write_atomic(l3ep, l3e) \ argument 42 pte_write_atomic(&l3e_get_intpte(*(l3ep)), l3e_get_intpte(l3e)) 54 #define l3e_write(l3ep, l3e) \ argument 55 pte_write(&l3e_get_intpte(*(l3ep)), l3e_get_intpte(l3e))
|
/xen/xen/arch/x86/mm/shadow/ |
A D | multi.c | 250 mismatch |= (gw->l3e.l3 != in shadow_check_gwalk() 1558 l3_pgentry_t *l3e; in sh_make_monitor_table() local 1570 l3e = map_domain_page(m3mfn); in sh_make_monitor_table() 1572 unmap_domain_page(l3e); in sh_make_monitor_table() 1593 unmap_domain_page(l3e); in sh_make_monitor_table() 1988 l3_pgentry_t *l3e; in sh_destroy_monitor_table() local 1995 l3e = map_domain_page(m3mfn); in sh_destroy_monitor_table() 1997 shadow_free(d, l3e_get_mfn(l3e[0])); in sh_destroy_monitor_table() 1998 unmap_domain_page(l3e); in sh_destroy_monitor_table() 2007 l3e = map_domain_page(m3mfn); in sh_destroy_monitor_table() [all …]
|