From patchwork Mon Jun 20 13:37:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 70448 Delivered-To: patch@linaro.org Received: by 10.140.28.4 with SMTP id 4csp1516331qgy; Mon, 20 Jun 2016 06:39:44 -0700 (PDT) X-Received: by 10.36.144.198 with SMTP id x189mr16761228itd.69.1466429980608; Mon, 20 Jun 2016 06:39:40 -0700 (PDT) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id e128si5318840ith.4.2016.06.20.06.39.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Jun 2016 06:39:40 -0700 (PDT) Received-SPF: neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) smtp.mailfrom=xen-devel-bounces@lists.xen.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bEzOf-0005KR-CE; Mon, 20 Jun 2016 13:37:49 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bEzOe-0005IN-1v for xen-devel@lists.xen.org; Mon, 20 Jun 2016 13:37:48 +0000 Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id B5/36-31810-BA1F7675; Mon, 20 Jun 2016 13:37:47 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGLMWRWlGSWpSXmKPExsVysyfVTXfVx/R wgzU3jS2WfFzM4sDocXT3b6YAxijWzLyk/IoE1ozzK5pYCpaLVLxqnsDewHiYv4uRi0NIYBOj xMzfaxkhnNOMEnNPrGXrYuTkYBPQlLjz+RMTiC0iIC1x7fNlRhCbWcBB4s3HeywgtrBAnMSZP /9YQWwWAVWJH73v2EFsXgEXiXkn74L1SgjISZw8NhmshlPAVeLgsx9gNUJANf2/djFNYORewM iwilG9OLWoLLVI10IvqSgzPaMkNzEzR9fQwFgvN7W4ODE9NScxqVgvOT93EyPQvwxAsIPxQrv zIUZJDiYlUd7pT9LDhfiS8lMqMxKLM+KLSnNSiw8xynBwKEnwPnsLlBMsSk1PrUjLzAEGGkxa goNHSYTX7B1Qmre4IDG3ODMdInWKUVFKnFcKJCEAksgozYNrgwX3JUZZKWFeRqBDhHgKUotyM 0tQ5V8xinMwKgnzWoJM4cnMK4Gb/gpoMRPQ4mX9YItLEhFSUg2MbBurZm23i9B/ITVRbm76xt aO1WvWH9/wewevbp6BRPblZAPF0KvdbwJ/bV175HlTy78P3UUZE7a5r/YMWswku3z/9Sdrdvu UVWZZ3144ec/WbJn6slijpji3wMTLh3Ok3i7gbtm/nyduv4jDW5OMBYIMe7TX9Zh1fF2tP3s/ x4kupaz7l2x8lViKMxINtZiLihMBRpxE5GkCAAA= X-Env-Sender: julien.grall@arm.com X-Msg-Ref: server-7.tower-31.messagelabs.com!1466429863!38763529!4 X-Originating-IP: [217.140.101.70] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 8.46; banners=-,-,- X-VirusChecked: Checked Received: (qmail 25996 invoked from network); 20 Jun 2016 13:37:46 -0000 Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by server-7.tower-31.messagelabs.com with SMTP; 20 Jun 2016 13:37:46 -0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C3DF5BB0; Mon, 20 Jun 2016 06:38:31 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.215.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D11543F246; Mon, 20 Jun 2016 06:37:45 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xen.org Date: Mon, 20 Jun 2016 14:37:25 +0100 Message-Id: <1466429845-28240-9-git-send-email-julien.grall@arm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1466429845-28240-1-git-send-email-julien.grall@arm.com> References: <1466429845-28240-1-git-send-email-julien.grall@arm.com> Cc: Julien Grall , sstabellini@kernel.org Subject: [Xen-devel] [PATCH v2 8/8] xen/arm: p2m_cache_flush: Use the correct terminology and typesafe gfn 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" p2m_cache_flush is expecting GFNs in parameter and not MFNs. Rename the variable to *gfn* and use typesafe to avoid possible misusage. Signed-off-by: Julien Grall --- Changes in v2: - Drop _gfn suffix --- xen/arch/arm/domctl.c | 2 +- xen/arch/arm/p2m.c | 10 +++++----- xen/include/asm-arm/p2m.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c index 30453d8..b94e97c 100644 --- a/xen/arch/arm/domctl.c +++ b/xen/arch/arm/domctl.c @@ -30,7 +30,7 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d, if ( e < s ) return -EINVAL; - return p2m_cache_flush(d, s, e); + return p2m_cache_flush(d, _gfn(s), _gfn(e)); } case XEN_DOMCTL_bind_pt_irq: { diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index f3330dd..9149981 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -1469,16 +1469,16 @@ int relinquish_p2m_mapping(struct domain *d) d->arch.p2m.default_access); } -int p2m_cache_flush(struct domain *d, xen_pfn_t start_mfn, xen_pfn_t end_mfn) +int p2m_cache_flush(struct domain *d, gfn_t start, gfn_t end) { struct p2m_domain *p2m = &d->arch.p2m; - start_mfn = MAX(start_mfn, p2m->lowest_mapped_gfn); - end_mfn = MIN(end_mfn, p2m->max_mapped_gfn); + start = gfn_max(start, _gfn(p2m->lowest_mapped_gfn)); + end = gfn_min(end, _gfn(p2m->max_mapped_gfn)); return apply_p2m_changes(d, CACHEFLUSH, - pfn_to_paddr(start_mfn), - pfn_to_paddr(end_mfn), + pfn_to_paddr(gfn_x(start)), + pfn_to_paddr(gfn_x(end)), pfn_to_paddr(INVALID_MFN), MATTR_MEM, 0, p2m_invalid, d->arch.p2m.default_access); diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h index f204482..976e51e 100644 --- a/xen/include/asm-arm/p2m.h +++ b/xen/include/asm-arm/p2m.h @@ -139,7 +139,7 @@ void p2m_dump_info(struct domain *d); mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t); /* Clean & invalidate caches corresponding to a region of guest address space */ -int p2m_cache_flush(struct domain *d, xen_pfn_t start_mfn, xen_pfn_t end_mfn); +int p2m_cache_flush(struct domain *d, gfn_t start, gfn_t end); /* Setup p2m RAM mapping for domain d from start-end. */ int p2m_populate_ram(struct domain *d, paddr_t start, paddr_t end);