Lines Matching refs:pl3e

1401 static int create_pae_xen_mappings(struct domain *d, l3_pgentry_t *pl3e)  in create_pae_xen_mappings()  argument
1409 pl3e = (l3_pgentry_t *)((unsigned long)pl3e & PAGE_MASK); in create_pae_xen_mappings()
1412 l3e3 = pl3e[3]; in create_pae_xen_mappings()
1489 l3_pgentry_t *pl3e; in alloc_l3_table() local
1493 pl3e = map_domain_page(_mfn(pfn)); in alloc_l3_table()
1503 memset(pl3e + 4, 0, (L3_PAGETABLE_ENTRIES - 4) * sizeof(*pl3e)); in alloc_l3_table()
1510 if ( !(l3e_get_flags(pl3e[i]) & _PAGE_PRESENT) || in alloc_l3_table()
1511 (l3e_get_flags(pl3e[i]) & l3_disallow_mask(d)) ) in alloc_l3_table()
1515 l3e_get_mfn(pl3e[i]), in alloc_l3_table()
1518 else if ( (rc = get_page_from_l3e(pl3e[i], pfn, d, partial)) > 0 ) in alloc_l3_table()
1535 pl3e[i] = adjust_guest_l3e(pl3e[i], d); in alloc_l3_table()
1538 if ( rc >= 0 && !create_pae_xen_mappings(d, pl3e) ) in alloc_l3_table()
1551 pl3e[i] = unadjust_guest_l3e(pl3e[i], d); in alloc_l3_table()
1554 unmap_domain_page(pl3e); in alloc_l3_table()
1781 l3_pgentry_t *pl3e; in free_l3_table() local
1785 pl3e = map_domain_page(_mfn(pfn)); in free_l3_table()
1788 rc = put_page_from_l3e(pl3e[i], pfn, partial, 0); in free_l3_table()
1794 pl3e[i] = unadjust_guest_l3e(pl3e[i], d); in free_l3_table()
1797 unmap_domain_page(pl3e); in free_l3_table()
2060 static int mod_l3_entry(l3_pgentry_t *pl3e, in mod_l3_entry() argument
2074 if ( is_pv_32bit_domain(d) && (pgentry_ptr_to_slot(pl3e) >= 3) ) in mod_l3_entry()
2077 if ( unlikely(__copy_from_user(&ol3e, pl3e, sizeof(ol3e)) != 0) ) in mod_l3_entry()
2093 rc = UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, vcpu, preserve_ad); in mod_l3_entry()
2103 if ( unlikely(!UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, vcpu, in mod_l3_entry()
2110 else if ( unlikely(!UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, vcpu, in mod_l3_entry()
2117 if ( !create_pae_xen_mappings(d, pl3e) ) in mod_l3_entry()
4492 l3_pgentry_t *pl3e = alloc_xen_pagetable(); in virt_to_xen_l3e() local
4494 if ( !pl3e ) in virt_to_xen_l3e()
4496 clear_page(pl3e); in virt_to_xen_l3e()
4501 l4_pgentry_t l4e = l4e_from_paddr(__pa(pl3e), __PAGE_HYPERVISOR); in virt_to_xen_l3e()
4505 pl3e = NULL; in virt_to_xen_l3e()
4509 if ( pl3e ) in virt_to_xen_l3e()
4510 free_xen_pagetable(pl3e); in virt_to_xen_l3e()
4518 l3_pgentry_t *pl3e; in virt_to_xen_l2e() local
4520 pl3e = virt_to_xen_l3e(v); in virt_to_xen_l2e()
4521 if ( !pl3e ) in virt_to_xen_l2e()
4524 if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ) in virt_to_xen_l2e()
4534 if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ) in virt_to_xen_l2e()
4536 l3e_write(pl3e, l3e_from_paddr(__pa(pl2e), __PAGE_HYPERVISOR)); in virt_to_xen_l2e()
4545 BUG_ON(l3e_get_flags(*pl3e) & _PAGE_PSE); in virt_to_xen_l2e()
4546 return l3e_to_l2e(*pl3e) + l2_table_offset(v); in virt_to_xen_l2e()
4622 l3_pgentry_t ol3e, *pl3e = virt_to_xen_l3e(virt); in map_pages_to_xen() local
4624 if ( !pl3e ) in map_pages_to_xen()
4626 ol3e = *pl3e; in map_pages_to_xen()
4635 l3e_write_atomic(pl3e, l3e_from_pfn(mfn, l1f_to_lNf(flags))); in map_pages_to_xen()
4724 if ( (l3e_get_flags(*pl3e) & _PAGE_PRESENT) && in map_pages_to_xen()
4725 (l3e_get_flags(*pl3e) & _PAGE_PSE) ) in map_pages_to_xen()
4727 l3e_write_atomic(pl3e, l3e_from_pfn(virt_to_mfn(pl2e), in map_pages_to_xen()
4912 ol3e = *pl3e; in map_pages_to_xen()
4935 l3e_write_atomic(pl3e, l3e_from_pfn(base_mfn, in map_pages_to_xen()
4989 l3_pgentry_t *pl3e = virt_to_xen_l3e(v); in modify_xen_mappings() local
4991 if ( !pl3e || !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ) in modify_xen_mappings()
5001 if ( l3e_get_flags(*pl3e) & _PAGE_PSE ) in modify_xen_mappings()
5009 : l3e_from_pfn(l3e_get_pfn(*pl3e), in modify_xen_mappings()
5010 (l3e_get_flags(*pl3e) & ~FLAGS_MASK) | nf); in modify_xen_mappings()
5012 l3e_write_atomic(pl3e, nl3e); in modify_xen_mappings()
5023 l2e_from_pfn(l3e_get_pfn(*pl3e) + in modify_xen_mappings()
5025 l3e_get_flags(*pl3e))); in modify_xen_mappings()
5028 if ( (l3e_get_flags(*pl3e) & _PAGE_PRESENT) && in modify_xen_mappings()
5029 (l3e_get_flags(*pl3e) & _PAGE_PSE) ) in modify_xen_mappings()
5031 l3e_write_atomic(pl3e, l3e_from_pfn(virt_to_mfn(pl2e), in modify_xen_mappings()
5045 pl2e = l3e_to_l2e(*pl3e) + l2_table_offset(v); in modify_xen_mappings()
5176 if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) || in modify_xen_mappings()
5177 (l3e_get_flags(*pl3e) & _PAGE_PSE) ) in modify_xen_mappings()
5184 pl2e = l3e_to_l2e(*pl3e); in modify_xen_mappings()
5191 l3e_write_atomic(pl3e, l3e_empty()); in modify_xen_mappings()
5373 const l3_pgentry_t *l3tab, *pl3e; in destroy_perdomain_mapping() local
5383 pl3e = l3tab + l3_table_offset(va); in destroy_perdomain_mapping()
5385 if ( l3e_get_flags(*pl3e) & _PAGE_PRESENT ) in destroy_perdomain_mapping()
5387 const l2_pgentry_t *l2tab = map_l2t_from_l3e(*pl3e); in destroy_perdomain_mapping()