From patchwork Thu Sep 28 18:36:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Cooper X-Patchwork-Id: 9976659 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A6FCD60365 for ; Thu, 28 Sep 2017 18:41:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 99D3C296F8 for ; Thu, 28 Sep 2017 18:41:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8EAE2296FE; Thu, 28 Sep 2017 18:41:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 17EFF296F8 for ; Thu, 28 Sep 2017 18:41:44 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxdhq-0002sp-8Z; Thu, 28 Sep 2017 18:38:42 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxdhp-0002sj-HQ for xen-devel@lists.xen.org; Thu, 28 Sep 2017 18:38:41 +0000 Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id 70/90-02046-0B14DC95; Thu, 28 Sep 2017 18:38:40 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJLMWRWlGSWpSXmKPExsXitHRDpO4Gx7O RBtM6uC2WfFzM4sDocXT3b6YAxijWzLyk/IoE1ozlt5cxFzSpVUzvO8HWwLhOtouRk0NCwF/i X8sBdhCbTUBfYveLT0wgtoiAusTpjousXYxcHMwC0xkl1ncsYgRJCAu4S1y6cResiEVAVeLk3 S5mEJtXwFPi/qVXTBBD5STOH/8JFhcSUJO41n+JHaJGUOLkzCcsIDazgITEwRcvmCcwcs9Ckp qFJLWAkWkVo3pxalFZapGusV5SUWZ6RkluYmaOrqGBsV5uanFxYnpqTmJSsV5yfu4mRmAwMAD BDsbmL06HGCU5mJREeb1sz0YK8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuB97ACUEyxKTU+tSMvM AYYlTFqCg0dJhNcdJM1bXJCYW5yZDpE6xajL0XHz7h8mIZa8/LxUKXFedmCQCwmAFGWU5sGNg MXIJUZZKWFeRqCjhHgKUotyM0tQ5V8xinMwKgnzpoCs4snMK4Hb9AroCCagIyZPPANyREkiQk qqgdHtzC+bCevX7S25ebPnxqklm1VYuaWbzrApt2xybtrDfHMSy86Zcc/PeO+7cfzfrXtJi9j tza4yRyVM/+8T6dkofrff23LWo0c2p+ZtMLy8sCB5e4o0m2DU5PWiSy/XS3ttyfvRafdBTDzn 1YQPSa8ftx35uGAH6703Ekc+9l9o9Iqaznnhwf8NSizFGYmGWsxFxYkAAlqJ34wCAAA= X-Env-Sender: prvs=4374dee92=Andrew.Cooper3@citrix.com X-Msg-Ref: server-15.tower-31.messagelabs.com!1506623917!112967225!1 X-Originating-IP: [66.165.176.89] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 52758 invoked from network); 28 Sep 2017 18:38:39 -0000 Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89) by server-15.tower-31.messagelabs.com with RC4-SHA encrypted SMTP; 28 Sep 2017 18:38:39 -0000 X-IronPort-AV: E=Sophos;i="5.42,450,1500940800"; d="scan'208";a="441671092" From: Andrew Cooper To: Xen-devel Date: Thu, 28 Sep 2017 19:36:40 +0100 Message-ID: <1506623800-15662-1-git-send-email-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich Subject: [Xen-devel] [PATCH] x86: Make use of pagetable_get_mfn() where appropriate X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP ... 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 Reviewed-by: Wei Liu Acked-by: Jan Beulich Acked-by: Tim Deegan Acked-by: Kevin Tian --- CC: Jan Beulich CC: Tim Deegan CC: George Dunlap --- xen/arch/x86/domain.c | 2 +- xen/arch/x86/domctl.c | 2 +- xen/arch/x86/mm/p2m-ept.c | 12 +++++++----- xen/arch/x86/mm/shadow/multi.c | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 466a1a2..c399b3e 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 540ba08..dfda274 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -1640,7 +1640,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 23c0518..2cca0d0 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); @@ -717,7 +717,7 @@ ept_set_entry(struct p2m_domain *p2m, unsigned long 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-- ) @@ -914,7 +914,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_remainder = gfn; ept_entry_t *ept_entry; u32 index; @@ -1024,7 +1025,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; @@ -1323,7 +1325,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 8d4f244..a057f2d 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 {