From: Andrew Cooper Date: Wed, 27 Sep 2017 14:30:13 +0000 (+0000) Subject: x86: Make use of pagetable_get_mfn() where appropriate X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~1189 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=04d03973926db34c3c16a32c763f6ccb78a84d01;p=xen.git x86: Make use of pagetable_get_mfn() where appropriate ... instead of the opencoded _mfn(pagetable_get_pfn(...)) construct. Fix two overly long lines; no functional change. Signed-off-by: Andrew Cooper Reviewed-by: George Dunlap Release-acked-by: Julien Grall Reviewed-by: Wei Liu Acked-by: Jan Beulich Acked-by: Tim Deegan Acked-by: Kevin Tian --- diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 6dfd0db1a8..2515c2aad9 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1113,7 +1113,7 @@ int arch_set_info_guest( { l4_pgentry_t *l4tab; - l4tab = map_domain_page(_mfn(pagetable_get_pfn(v->arch.guest_table))); + l4tab = map_domain_page(pagetable_get_mfn(v->arch.guest_table)); *l4tab = l4e_from_pfn(page_to_mfn(cr3_page), _PAGE_PRESENT|_PAGE_RW|_PAGE_USER|_PAGE_ACCESSED); unmap_domain_page(l4tab); diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index 1b208f9f95..80b4df9ec9 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -1638,7 +1638,7 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c) else { const l4_pgentry_t *l4e = - map_domain_page(_mfn(pagetable_get_pfn(v->arch.guest_table))); + map_domain_page(pagetable_get_mfn(v->arch.guest_table)); c.cmp->ctrlreg[3] = compat_pfn_to_cr3(l4e_get_pfn(*l4e)); unmap_domain_page(l4e); diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c index 054827aa88..b4996ce658 100644 --- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -434,7 +434,7 @@ static int ept_invalidate_emt_range(struct p2m_domain *p2m, unsigned int i, index; int wrc, rc = 0, ret = GUEST_TABLE_MAP_FAILED; - table = map_domain_page(_mfn(pagetable_get_pfn(p2m_get_pagetable(p2m)))); + table = map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); for ( i = p2m->ept.wl; i > target; --i ) { ret = ept_next_level(p2m, 1, &table, &gfn_remainder, i); @@ -718,7 +718,7 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn, (target == 0)); ASSERT(!p2m_is_foreign(p2mt) || target == 0); - table = map_domain_page(_mfn(pagetable_get_pfn(p2m_get_pagetable(p2m)))); + table = map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); ret = GUEST_TABLE_MAP_FAILED; for ( i = ept->wl; i > target; i-- ) @@ -915,7 +915,8 @@ static mfn_t ept_get_entry(struct p2m_domain *p2m, p2m_query_t q, unsigned int *page_order, bool_t *sve) { - ept_entry_t *table = map_domain_page(_mfn(pagetable_get_pfn(p2m_get_pagetable(p2m)))); + ept_entry_t *table = + map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); unsigned long gfn = gfn_x(gfn_); unsigned long gfn_remainder = gfn; ept_entry_t *ept_entry; @@ -1025,7 +1026,8 @@ void ept_walk_table(struct domain *d, unsigned long gfn) { struct p2m_domain *p2m = p2m_get_hostp2m(d); struct ept_data *ept = &p2m->ept; - ept_entry_t *table = map_domain_page(_mfn(pagetable_get_pfn(p2m_get_pagetable(p2m)))); + ept_entry_t *table = + map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); unsigned long gfn_remainder = gfn; int i; @@ -1324,7 +1326,7 @@ static void ept_dump_p2m_table(unsigned char key) char c = 0; gfn_remainder = gfn; - table = map_domain_page(_mfn(pagetable_get_pfn(p2m_get_pagetable(p2m)))); + table = map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); for ( i = ept->wl; i > 0; i-- ) { diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index 1e42e1d8ab..e44fbb2f67 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -3391,7 +3391,8 @@ static int sh_page_fault(struct vcpu *v, int i; for ( i = 0; i < 4; i++ ) { - mfn_t smfn = _mfn(pagetable_get_pfn(v->arch.shadow_table[i])); + mfn_t smfn = pagetable_get_mfn(v->arch.shadow_table[i]); + if ( mfn_valid(smfn) && (mfn_x(smfn) != 0) ) { used |= (mfn_to_page(smfn)->v.sh.back == mfn_x(gmfn)); @@ -4645,7 +4646,7 @@ static void sh_pagetable_dying(struct vcpu *v, paddr_t gpa) if ( pagetable_is_null(v->arch.shadow_table[i]) ) smfn = INVALID_MFN; else - smfn = _mfn(pagetable_get_pfn(v->arch.shadow_table[i])); + smfn = pagetable_get_mfn(v->arch.shadow_table[i]); } else {