From: Wei Liu Date: Tue, 22 Jan 2019 18:36:03 +0000 (+0000) Subject: WIP use new virt_to_xen_l1e X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=78b9f0ee94ded42c41f29d941fa03c459b64724c;p=people%2Fliuw%2Fxen.git WIP use new virt_to_xen_l1e --- diff --git a/xen/arch/x86/domain_page.c b/xen/arch/x86/domain_page.c index 4a07cfb18e..dbc0cff0f3 100644 --- a/xen/arch/x86/domain_page.c +++ b/xen/arch/x86/domain_page.c @@ -333,21 +333,23 @@ void unmap_domain_page_global(const void *ptr) mfn_t domain_page_map_to_mfn(const void *ptr) { unsigned long va = (unsigned long)ptr; - const l1_pgentry_t *pl1e; + l1_pgentry_t l1e; if ( va >= DIRECTMAP_VIRT_START ) return _mfn(virt_to_mfn(ptr)); if ( va >= VMAP_VIRT_START && va < VMAP_VIRT_END ) { - pl1e = virt_to_xen_l1e(va); + const l1_pgentry_t *pl1e = virt_to_xen_l1e(va); BUG_ON(!pl1e); + l1e = *pl1e; + unmap_xen_pagetable(pl1e); } else { ASSERT(va >= MAPCACHE_VIRT_START && va < MAPCACHE_VIRT_END); - pl1e = &__linear_l1_table[l1_linear_offset(va)]; + l1e = __linear_l1_table[l1_linear_offset(va)]; } - return l1e_get_mfn(*pl1e); + return l1e_get_mfn(l1e); }