No functional change (confirmed by diffing the disassembly).
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: George Dunlap <george.dunlap@citrix.com>
l3tab[l3_table_offset(va)] = l3e_from_page(pg, __PAGE_HYPERVISOR_RW);
}
else
- l2tab = map_domain_page(_mfn(l3e_get_pfn(l3tab[l3_table_offset(va)])));
+ l2tab = map_l2t_from_l3e(l3tab[l3_table_offset(va)]);
unmap_domain_page(l3tab);
*pl2e = l2e_from_page(pg, __PAGE_HYPERVISOR_RW);
}
else if ( !l1tab )
- l1tab = map_domain_page(_mfn(l2e_get_pfn(*pl2e)));
+ l1tab = map_l1t_from_l2e(*pl2e);
if ( ppg &&
!(l1e_get_flags(l1tab[l1_table_offset(va)]) & _PAGE_PRESENT) )
if ( l3e_get_flags(*pl3e) & _PAGE_PRESENT )
{
- const l2_pgentry_t *l2tab = map_domain_page(_mfn(l3e_get_pfn(*pl3e)));
+ const l2_pgentry_t *l2tab = map_l2t_from_l3e(*pl3e);
const l2_pgentry_t *pl2e = l2tab + l2_table_offset(va);
unsigned int i = l1_table_offset(va);
{
if ( l2e_get_flags(*pl2e) & _PAGE_PRESENT )
{
- l1_pgentry_t *l1tab = map_domain_page(_mfn(l2e_get_pfn(*pl2e)));
+ l1_pgentry_t *l1tab = map_l1t_from_l2e(*pl2e);
for ( ; nr && i < L1_PAGETABLE_ENTRIES; --nr, ++i )
{
gfn += 1 << (L4_PAGETABLE_SHIFT - PAGE_SHIFT);
continue;
}
- l3e = map_domain_page(_mfn(l4e_get_pfn(l4e[i4])));
+ l3e = map_l3t_from_l4e(l4e[i4]);
for ( i3 = 0;
i3 < L3_PAGETABLE_ENTRIES;
i3++ )
}
}
- l2e = map_domain_page(_mfn(l3e_get_pfn(l3e[i3])));
+ l2e = map_l2t_from_l3e(l3e[i3]);
for ( i2 = 0; i2 < L2_PAGETABLE_ENTRIES; i2++ )
{
if ( !(l2e_get_flags(l2e[i2]) & _PAGE_PRESENT) )
continue;
}
- l1e = map_domain_page(_mfn(l2e_get_pfn(l2e[i2])));
+ l1e = map_l1t_from_l2e(l2e[i2]);
for ( i1 = 0; i1 < L1_PAGETABLE_ENTRIES; i1++, gfn++ )
{
clear_page(pl3e);
*pl4e = l4e_from_page(page, L4_PROT);
} else
- pl3e = map_domain_page(_mfn(l4e_get_pfn(*pl4e)));
+ pl3e = map_l3t_from_l4e(*pl4e);
pl3e += l3_table_offset(vphysmap_start);
if ( !l3e_get_intpte(*pl3e) )
*pl3e = l3e_from_page(page, L3_PROT);
}
else
- pl2e = map_domain_page(_mfn(l3e_get_pfn(*pl3e)));
+ pl2e = map_l2t_from_l3e(*pl3e);
pl2e += l2_table_offset(vphysmap_start);
if ( !l2e_get_intpte(*pl2e) )
*pl2e = l2e_from_page(page, L2_PROT);
}
else
- pl1e = map_domain_page(_mfn(l2e_get_pfn(*pl2e)));
+ pl1e = map_l1t_from_l2e(*pl2e);
pl1e += l1_table_offset(vphysmap_start);
BUG_ON(l1e_get_intpte(*pl1e));