From patchwork Mon Jun 20 11:05:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 9187245 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 655F36075E for ; Mon, 20 Jun 2016 11:07:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4F7CD2665D for ; Mon, 20 Jun 2016 11:07:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 43B0C26929; Mon, 20 Jun 2016 11:07:03 +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 8ACB72665D for ; Mon, 20 Jun 2016 11:07:02 +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 1bEx0y-0004jq-Vd; Mon, 20 Jun 2016 11:05:12 +0000 Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bEx0w-0004jY-Rd for xen-devel@lists.xenproject.org; Mon, 20 Jun 2016 11:05:10 +0000 Received: from [85.158.143.35] by server-1.bemta-6.messagelabs.com id C2/1E-09256-6EDC7675; Mon, 20 Jun 2016 11:05:10 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEIsWRWlGSWpSXmKPExsXS6fjDS/fp2fR wg7Mtchbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8bvG+wFy9UqGk6HNTDuV+xi5OQQEsiT+Pfs JCOIzStgJzFxz2JmEFtCwFBi3/xVbCA2i4CqRNvmjWA2m4C6RNuz7axdjBwcIgIGEueOJoGEm QVqJJqv32cFsYUFHCROTTzPCFLCKyAo8XeHMESJncSdW9PYJjByzULIzEKSgbC1JB7+usUCYW tLLFv4mhmknFlAWmL5Pw6IsKPEqn1LmFGVgNg+Eo//tTItYORYxahenFpUllqka6iXVJSZnlG Sm5iZo2toYKaXm1pcnJiempOYVKyXnJ+7iREYdgxAsINx53OnQ4ySHExKorw2xenhQnxJ+SmV GYnFGfFFpTmpxYcYZTg4lCR4w88A5QSLUtNTK9Iyc4ARAJOW4OBREuE9DJLmLS5IzC3OTIdIn WJUlBLnDQZJCIAkMkrz4NpgUXeJUVZKmJcR6BAhnoLUotzMElT5V4ziHIxKwryTQKbwZOaVwE 1/BbSYCWjxsn6wxSWJCCmpBkZOrZVxhdoZn21UxCtX6dwK1OZNFov+8fHS9r+fizwbKhSd9c1 iJ4a2vmW47q7r+KZU9f+vQykajGwb5gTNPPdL6rz3tU3X+1c9OLgjeZurt1/urtW7GksufzQX OZzIlx/1RaMh2UEgY/qSzz0enm4l+f2ORxul32ntjrrW9szkGNMZx3tlr5RYijMSDbWYi4oTA YYUbZ21AgAA X-Env-Sender: JBeulich@suse.com X-Msg-Ref: server-8.tower-21.messagelabs.com!1466420707!19753319!1 X-Originating-IP: [137.65.248.74] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 8.46; banners=-,-,- X-VirusChecked: Checked Received: (qmail 961 invoked from network); 20 Jun 2016 11:05:09 -0000 Received: from prv-mh.provo.novell.com (HELO prv-mh.provo.novell.com) (137.65.248.74) by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 20 Jun 2016 11:05:09 -0000 Received: from INET-PRV-MTA by prv-mh.provo.novell.com with Novell_GroupWise; Mon, 20 Jun 2016 05:05:07 -0600 Message-Id: <5767EA0002000078000F69D7@prv-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 14.2.0 Date: Mon, 20 Jun 2016 05:05:04 -0600 From: "Jan Beulich" To: "xen-devel" Mime-Version: 1.0 Cc: George Dunlap , Andrew Cooper , Tim Deegan Subject: [Xen-devel] [PATCH] x86: drop (mostly) unused guest_lNe_get_paddr() 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 The very few remaining uses don't make their presence really necessary: Simplify the two L2 ones, and open code the sole common code use. Signed-off-by: Jan Beulich x86: drop (mostly) unused guest_lNe_get_paddr() The very few remaining uses don't make their presence really necessary: Simplify the two L2 ones, and open code the sole common code use. Signed-off-by: Jan Beulich --- a/xen/include/asm-x86/guest_pt.h +++ b/xen/include/asm-x86/guest_pt.h @@ -66,15 +66,10 @@ typedef struct { guest_intpte_t l2; } gu #define PRI_gpte "08x" -static inline paddr_t guest_l1e_get_paddr(guest_l1e_t gl1e) -{ return ((paddr_t) gl1e.l1) & (PADDR_MASK & PAGE_MASK); } -static inline paddr_t guest_l2e_get_paddr(guest_l2e_t gl2e) -{ return ((paddr_t) gl2e.l2) & (PADDR_MASK & PAGE_MASK); } - static inline gfn_t guest_l1e_get_gfn(guest_l1e_t gl1e) -{ return _gfn(guest_l1e_get_paddr(gl1e) >> PAGE_SHIFT); } +{ return _gfn(gl1e.l1 >> PAGE_SHIFT); } static inline gfn_t guest_l2e_get_gfn(guest_l2e_t gl2e) -{ return _gfn(guest_l2e_get_paddr(gl2e) >> PAGE_SHIFT); } +{ return _gfn(gl2e.l2 >> PAGE_SHIFT); } static inline u32 guest_l1e_get_flags(guest_l1e_t gl1e) { return gl1e.l1 & 0xfff; } @@ -126,17 +121,6 @@ typedef intpte_t guest_intpte_t; #define PRI_gpte "016"PRIx64 -static inline paddr_t guest_l1e_get_paddr(guest_l1e_t gl1e) -{ return l1e_get_paddr(gl1e); } -static inline paddr_t guest_l2e_get_paddr(guest_l2e_t gl2e) -{ return l2e_get_paddr(gl2e); } -static inline paddr_t guest_l3e_get_paddr(guest_l3e_t gl3e) -{ return l3e_get_paddr(gl3e); } -#if GUEST_PAGING_LEVELS >= 4 -static inline paddr_t guest_l4e_get_paddr(guest_l4e_t gl4e) -{ return l4e_get_paddr(gl4e); } -#endif - static inline gfn_t guest_l1e_get_gfn(guest_l1e_t gl1e) { return _gfn(l1e_get_paddr(gl1e) >> PAGE_SHIFT); } static inline gfn_t guest_l2e_get_gfn(guest_l2e_t gl2e) @@ -278,7 +262,8 @@ guest_walk_to_gpa(walk_t *gw) { if ( !(guest_l1e_get_flags(gw->l1e) & _PAGE_PRESENT) ) return 0; - return guest_l1e_get_paddr(gw->l1e) + (gw->va & ~PAGE_MASK); + return ((paddr_t)gfn_x(guest_l1e_get_gfn(gw->l1e)) << PAGE_SHIFT) + + (gw->va & ~PAGE_MASK); } /* Given a walk_t from a successful walk, return the page-order of the Reviewed-by: Andrew Cooper Reviewed-by: Tim Deegan Acked-by: George Dunlap --- a/xen/include/asm-x86/guest_pt.h +++ b/xen/include/asm-x86/guest_pt.h @@ -66,15 +66,10 @@ typedef struct { guest_intpte_t l2; } gu #define PRI_gpte "08x" -static inline paddr_t guest_l1e_get_paddr(guest_l1e_t gl1e) -{ return ((paddr_t) gl1e.l1) & (PADDR_MASK & PAGE_MASK); } -static inline paddr_t guest_l2e_get_paddr(guest_l2e_t gl2e) -{ return ((paddr_t) gl2e.l2) & (PADDR_MASK & PAGE_MASK); } - static inline gfn_t guest_l1e_get_gfn(guest_l1e_t gl1e) -{ return _gfn(guest_l1e_get_paddr(gl1e) >> PAGE_SHIFT); } +{ return _gfn(gl1e.l1 >> PAGE_SHIFT); } static inline gfn_t guest_l2e_get_gfn(guest_l2e_t gl2e) -{ return _gfn(guest_l2e_get_paddr(gl2e) >> PAGE_SHIFT); } +{ return _gfn(gl2e.l2 >> PAGE_SHIFT); } static inline u32 guest_l1e_get_flags(guest_l1e_t gl1e) { return gl1e.l1 & 0xfff; } @@ -126,17 +121,6 @@ typedef intpte_t guest_intpte_t; #define PRI_gpte "016"PRIx64 -static inline paddr_t guest_l1e_get_paddr(guest_l1e_t gl1e) -{ return l1e_get_paddr(gl1e); } -static inline paddr_t guest_l2e_get_paddr(guest_l2e_t gl2e) -{ return l2e_get_paddr(gl2e); } -static inline paddr_t guest_l3e_get_paddr(guest_l3e_t gl3e) -{ return l3e_get_paddr(gl3e); } -#if GUEST_PAGING_LEVELS >= 4 -static inline paddr_t guest_l4e_get_paddr(guest_l4e_t gl4e) -{ return l4e_get_paddr(gl4e); } -#endif - static inline gfn_t guest_l1e_get_gfn(guest_l1e_t gl1e) { return _gfn(l1e_get_paddr(gl1e) >> PAGE_SHIFT); } static inline gfn_t guest_l2e_get_gfn(guest_l2e_t gl2e) @@ -278,7 +262,8 @@ guest_walk_to_gpa(walk_t *gw) { if ( !(guest_l1e_get_flags(gw->l1e) & _PAGE_PRESENT) ) return 0; - return guest_l1e_get_paddr(gw->l1e) + (gw->va & ~PAGE_MASK); + return ((paddr_t)gfn_x(guest_l1e_get_gfn(gw->l1e)) << PAGE_SHIFT) + + (gw->va & ~PAGE_MASK); } /* Given a walk_t from a successful walk, return the page-order of the