From patchwork Wed Aug 9 08:20:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergej Proskurin X-Patchwork-Id: 9889831 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 056EF60384 for ; Wed, 9 Aug 2017 08:23:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E88CF28A30 for ; Wed, 9 Aug 2017 08:23:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DD6A828A37; Wed, 9 Aug 2017 08:23:44 +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 4A05F28A30 for ; Wed, 9 Aug 2017 08:23: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 1dfMEz-0006O3-Vv; Wed, 09 Aug 2017 08:21:21 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfMEz-0006M0-C5 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2017 08:21:21 +0000 Received: from [193.109.254.147] by server-8.bemta-6.messagelabs.com id 74/6D-09901-006CA895; Wed, 09 Aug 2017 08:21:20 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCLMWRWlGSWpSXmKPExsXSPJ+BQ5fhWFe kweYZzBbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8a5jk6Wgtu2FW/XrmdqYHym08XIxSEksJFR YtuZLywQziZGiTV7DjF2MXJysAkYSEx5vZIVxBYRUJK4t2oyE0gRs0ATo8S9xgdsIAlhAW+JP QsmsYPYLAKqEn82zAdr4BWwkTjz9xBYjYSAvMTE3mlgQzmB4jvuQNhCAtYS046dY57AyL2AkW EVo0ZxalFZapGuoaFeUlFmekZJbmJmjq6hgZlebmpxcWJ6ak5iUrFecn7uJkagjxmAYAfjp2U BhxglOZiURHk3aXdGCvEl5adUZiQWZ8QXleakFh9ilOHgUJLgnXSkK1JIsCg1PbUiLTMHGGww aQkOHiUR3tsgad7igsTc4sx0iNQpRl2OVxP+f2MSYsnLz0uVEufdDFIkAFKUUZoHNwIW+JcYZ aWEeRmBjhLiKUgtys0sQZV/xSjOwagkzPsbZApPZl4J3KZXQEcwAR0R4dsJckRJIkJKqoHx1G PDgv/fTf+sVnomePTJkuf7rJPOCGYlBDOdfZ337pIjZ6+r037N+1qetSllUad4fFj9U8+dWjJ /6TKjNU3Z3l+OPQ5Ynb/q6II3qXVpMi7C+tsNFxm9YVFJkdq9e8eMjHk7rh5b9lY9dsJRo9t3 9nz7E/yw0SSV4bfJIRfr4087d62TNleSVGIpzkg01GIuKk4EAKjMwXV3AgAA X-Env-Sender: proskurin@sec.in.tum.de X-Msg-Ref: server-15.tower-27.messagelabs.com!1502266879!58127186!1 X-Originating-IP: [131.159.0.8] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 40184 invoked from network); 9 Aug 2017 08:21:20 -0000 Received: from mail-out1.informatik.tu-muenchen.de (HELO mail-out1.informatik.tu-muenchen.de) (131.159.0.8) by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 9 Aug 2017 08:21:19 -0000 Received: from files.sec.in.tum.de (files.sec.in.tum.de [131.159.50.1]) by services.sec.in.tum.de (Postfix) with ESMTP id 25D4910DD29F2; Wed, 9 Aug 2017 10:21:07 +0200 (CEST) Received: from thanatos.sec.in.tum.de (thanatos.sec.in.tum.de [131.159.50.57]) by files.sec.in.tum.de (Postfix) with ESMTP id 1930E1F047; Wed, 9 Aug 2017 10:21:07 +0200 (CEST) From: Sergej Proskurin To: xen-devel@lists.xenproject.org Date: Wed, 9 Aug 2017 10:20:34 +0200 Message-Id: <20170809082038.3236-10-proskurin@sec.in.tum.de> X-Mailer: git-send-email 2.13.3 In-Reply-To: <20170809082038.3236-1-proskurin@sec.in.tum.de> References: <20170809082038.3236-1-proskurin@sec.in.tum.de> Cc: Sergej Proskurin , Julien Grall , Stefano Stabellini Subject: [Xen-devel] [PATCH v8 09/13] arm/guest_access: Rename vgic_access_guest_memory 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: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP This commit renames the function vgic_access_guest_memory to access_guest_memory_by_ipa. As the function name suggests, the functions expects an IPA as argument. All invocations of this function have been adapted accordingly. Apart from that, we have adjusted all printk messages for cleanup and to eliminate artefacts of the function's previous location. Signed-off-by: Sergej Proskurin Acked-by: Julien Grall --- Cc: Stefano Stabellini Cc: Julien Grall --- v6: We added this patch to our patch series. v7: Renamed the function's argument ipa back to gpa. Removed any mentioning of "vITS" in the function's printk messages and adjusted the commit message accordingly. --- xen/arch/arm/guestcopy.c | 10 +++++----- xen/arch/arm/vgic-v3-its.c | 36 ++++++++++++++++++------------------ xen/include/asm-arm/guest_access.h | 4 ++-- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c index 938ffe2668..4ee07fcea3 100644 --- a/xen/arch/arm/guestcopy.c +++ b/xen/arch/arm/guestcopy.c @@ -123,8 +123,8 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from, unsigned le * Temporarily map one physical guest page and copy data to or from it. * The data to be copied cannot cross a page boundary. */ -int vgic_access_guest_memory(struct domain *d, paddr_t gpa, void *buf, - uint32_t size, bool is_write) +int access_guest_memory_by_ipa(struct domain *d, paddr_t gpa, void *buf, + uint32_t size, bool is_write) { struct page_info *page; uint64_t offset = gpa & ~PAGE_MASK; /* Offset within the mapped page */ @@ -134,7 +134,7 @@ int vgic_access_guest_memory(struct domain *d, paddr_t gpa, void *buf, /* Do not cross a page boundary. */ if ( size > (PAGE_SIZE - offset) ) { - printk(XENLOG_G_ERR "d%d: vITS: memory access would cross page boundary\n", + printk(XENLOG_G_ERR "d%d: guestcopy: memory access crosses page boundary.\n", d->domain_id); return -EINVAL; } @@ -142,7 +142,7 @@ int vgic_access_guest_memory(struct domain *d, paddr_t gpa, void *buf, page = get_page_from_gfn(d, paddr_to_pfn(gpa), &p2mt, P2M_ALLOC); if ( !page ) { - printk(XENLOG_G_ERR "d%d: vITS: Failed to get table entry\n", + printk(XENLOG_G_ERR "d%d: guestcopy: failed to get table entry.\n", d->domain_id); return -EINVAL; } @@ -150,7 +150,7 @@ int vgic_access_guest_memory(struct domain *d, paddr_t gpa, void *buf, if ( !p2m_is_ram(p2mt) ) { put_page(page); - printk(XENLOG_G_ERR "d%d: vITS: memory used by the ITS should be RAM.", + printk(XENLOG_G_ERR "d%d: guestcopy: guest memory should be RAM.\n", d->domain_id); return -EINVAL; } diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c index 1af6820cab..72a5c70656 100644 --- a/xen/arch/arm/vgic-v3-its.c +++ b/xen/arch/arm/vgic-v3-its.c @@ -131,9 +131,9 @@ static int its_set_collection(struct virt_its *its, uint16_t collid, if ( collid >= its->max_collections ) return -ENOENT; - return vgic_access_guest_memory(its->d, - addr + collid * sizeof(coll_table_entry_t), - &vcpu_id, sizeof(vcpu_id), true); + return access_guest_memory_by_ipa(its->d, + addr + collid * sizeof(coll_table_entry_t), + &vcpu_id, sizeof(vcpu_id), true); } /* Must be called with the ITS lock held. */ @@ -149,9 +149,9 @@ static struct vcpu *get_vcpu_from_collection(struct virt_its *its, if ( collid >= its->max_collections ) return NULL; - ret = vgic_access_guest_memory(its->d, - addr + collid * sizeof(coll_table_entry_t), - &vcpu_id, sizeof(coll_table_entry_t), false); + ret = access_guest_memory_by_ipa(its->d, + addr + collid * sizeof(coll_table_entry_t), + &vcpu_id, sizeof(coll_table_entry_t), false); if ( ret ) return NULL; @@ -171,9 +171,9 @@ static int its_set_itt_address(struct virt_its *its, uint32_t devid, if ( devid >= its->max_devices ) return -ENOENT; - return vgic_access_guest_memory(its->d, - addr + devid * sizeof(dev_table_entry_t), - &itt_entry, sizeof(itt_entry), true); + return access_guest_memory_by_ipa(its->d, + addr + devid * sizeof(dev_table_entry_t), + &itt_entry, sizeof(itt_entry), true); } /* @@ -189,9 +189,9 @@ static int its_get_itt(struct virt_its *its, uint32_t devid, if ( devid >= its->max_devices ) return -EINVAL; - return vgic_access_guest_memory(its->d, - addr + devid * sizeof(dev_table_entry_t), - itt, sizeof(*itt), false); + return access_guest_memory_by_ipa(its->d, + addr + devid * sizeof(dev_table_entry_t), + itt, sizeof(*itt), false); } /* @@ -236,7 +236,7 @@ static bool read_itte(struct virt_its *its, uint32_t devid, uint32_t evid, if ( addr == INVALID_PADDR ) return false; - if ( vgic_access_guest_memory(its->d, addr, &itte, sizeof(itte), false) ) + if ( access_guest_memory_by_ipa(its->d, addr, &itte, sizeof(itte), false) ) return false; vcpu = get_vcpu_from_collection(its, itte.collection); @@ -270,7 +270,7 @@ static bool write_itte(struct virt_its *its, uint32_t devid, itte.collection = collid; itte.vlpi = vlpi; - if ( vgic_access_guest_memory(its->d, addr, &itte, sizeof(itte), true) ) + if ( access_guest_memory_by_ipa(its->d, addr, &itte, sizeof(itte), true) ) return false; return true; @@ -415,8 +415,8 @@ static int update_lpi_property(struct domain *d, struct pending_irq *p) addr = d->arch.vgic.rdist_propbase & GENMASK(51, 12); - ret = vgic_access_guest_memory(d, addr + p->irq - LPI_OFFSET, - &property, sizeof(property), false); + ret = access_guest_memory_by_ipa(d, addr + p->irq - LPI_OFFSET, + &property, sizeof(property), false); if ( ret ) return ret; @@ -920,8 +920,8 @@ static int vgic_its_handle_cmds(struct domain *d, struct virt_its *its) { int ret; - ret = vgic_access_guest_memory(d, addr + its->creadr, - command, sizeof(command), false); + ret = access_guest_memory_by_ipa(d, addr + its->creadr, + command, sizeof(command), false); if ( ret ) return ret; diff --git a/xen/include/asm-arm/guest_access.h b/xen/include/asm-arm/guest_access.h index 49716501a4..e321c8a144 100644 --- a/xen/include/asm-arm/guest_access.h +++ b/xen/include/asm-arm/guest_access.h @@ -10,8 +10,8 @@ unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from, unsigned long raw_copy_from_guest(void *to, const void *from, unsigned len); unsigned long raw_clear_guest(void *to, unsigned len); -int vgic_access_guest_memory(struct domain *d, paddr_t gpa, void *buf, - uint32_t size, bool_t is_write); +int access_guest_memory_by_ipa(struct domain *d, paddr_t ipa, void *buf, + uint32_t size, bool_t is_write); #define __raw_copy_to_guest raw_copy_to_guest #define __raw_copy_from_guest raw_copy_from_guest