From patchwork Wed Dec 7 12:33:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 87090 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp291067qgi; Wed, 7 Dec 2016 04:36:06 -0800 (PST) X-Received: by 10.36.139.4 with SMTP id g4mr1946953ite.35.1481114166405; Wed, 07 Dec 2016 04:36:06 -0800 (PST) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id c85si17236337ioj.21.2016.12.07.04.36.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Dec 2016 04:36:06 -0800 (PST) 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 1cEbQD-00066E-Sf; Wed, 07 Dec 2016 12:34:05 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEbQC-00065f-2H for xen-devel@lists.xen.org; Wed, 07 Dec 2016 12:34:04 +0000 Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id C6/5F-12362-BB108485; Wed, 07 Dec 2016 12:34:03 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRWlGSWpSXmKPExsVysyfVTXcXo0e EweYd2hZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8aFI//YC+abVXxffYWxgfGARhcjJ4eQwGZG iR33wiDs04wS+6fGgNhsApoSdz5/YgKxRQSkJa59vswIYjMLOEi8+XiPBcQWFoiT+Lz9PRuIz SKgKnGr9xw7iM0r4CLxeMYysLiEgJzEyWOTWUFsTgFXiVtf/7JA7HKR+Nq0jGUCI/cCRoZVjO rFqUVlqUW6pnpJRZnpGSW5iZk5uoYGxnq5qcXFiempOYlJxXrJ+bmbGIG+rWdgYNzBePmr0yF GSQ4mJVHeXRPcI4T4kvJTKjMSizPii0pzUosPMcpwcChJ8C5i8IgQEixKTU+tSMvMAQYZTFqC g0dJhHfff6BW3uKCxNzizHSI1ClGRSlx3rkgfQIgiYzSPLg2WGBfYpSVEuZlZGBgEOIpSC3Kz SxBlX/FKM7BqCTM+xtkCk9mXgnc9FdAi5mAFs+7Aba4JBEhJdXAaG5mWvx6M1vqz6X3738OYp y96civ7TqRZYuafC5OCHjF4RnvVLWg7XvajYouzeS/747Zq7WkxK8Py1rx6vk2pwX/1p50yTh 0KHiyxlUl4X7hlXNuiKxWbfrbtVfAPla74cjFpt2cP+3UOjkbGGVm72u7KL0mZvuJGT4Cnv7m k+VPiq93mC45WYmlOCPRUIu5qDgRALqQ93FnAgAA X-Env-Sender: julien.grall@arm.com X-Msg-Ref: server-13.tower-31.messagelabs.com!1481114042!74272191!1 X-Originating-IP: [217.140.101.70] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.0.16; banners=-,-,- X-VirusChecked: Checked Received: (qmail 27381 invoked from network); 7 Dec 2016 12:34:02 -0000 Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by server-13.tower-31.messagelabs.com with SMTP; 7 Dec 2016 12:34:02 -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 C394F152D; Wed, 7 Dec 2016 04:34:01 -0800 (PST) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.218.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 31CAF3F477; Wed, 7 Dec 2016 04:34:01 -0800 (PST) From: Julien Grall To: xen-devel@lists.xen.org Date: Wed, 7 Dec 2016 12:33:41 +0000 Message-Id: <1481114033-11024-2-git-send-email-julien.grall@arm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1481114033-11024-1-git-send-email-julien.grall@arm.com> References: <1481114033-11024-1-git-send-email-julien.grall@arm.com> Cc: Julien Grall , sstabellini@kernel.org Subject: [Xen-devel] [PATCH 01/13] xen/arm: vtimer: Switch the emulation functions return from int to bool 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" The emulation functions are always returning 0 or 1. Use bool instead to make clear only two possible values exist. Signed-off-by: Julien Grall Reviewed-by: Stefano Stabellini --- xen/arch/arm/vtimer.c | 60 +++++++++++++++++++++++++-------------------------- xen/arch/arm/vtimer.h | 2 +- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c index f636705..f8d3295 100644 --- a/xen/arch/arm/vtimer.c +++ b/xen/arch/arm/vtimer.c @@ -164,12 +164,12 @@ int virt_timer_restore(struct vcpu *v) return 0; } -static int vtimer_cntp_ctl(struct cpu_user_regs *regs, uint32_t *r, int read) +static bool vtimer_cntp_ctl(struct cpu_user_regs *regs, uint32_t *r, int read) { struct vcpu *v = current; if ( !ACCESS_ALLOWED(regs, EL0PTEN) ) - return 0; + return false; if ( read ) { @@ -190,16 +190,16 @@ static int vtimer_cntp_ctl(struct cpu_user_regs *regs, uint32_t *r, int read) else stop_timer(&v->arch.phys_timer.timer); } - return 1; + return true; } -static int vtimer_cntp_tval(struct cpu_user_regs *regs, uint32_t *r, int read) +static bool vtimer_cntp_tval(struct cpu_user_regs *regs, uint32_t *r, int read) { struct vcpu *v = current; s_time_t now; if ( !ACCESS_ALLOWED(regs, EL0PTEN) ) - return 0; + return false; now = NOW() - v->domain->arch.phys_timer_base.offset; @@ -218,15 +218,15 @@ static int vtimer_cntp_tval(struct cpu_user_regs *regs, uint32_t *r, int read) v->domain->arch.phys_timer_base.offset); } } - return 1; + return true; } -static int vtimer_cntp_cval(struct cpu_user_regs *regs, uint64_t *r, int read) +static bool vtimer_cntp_cval(struct cpu_user_regs *regs, uint64_t *r, int read) { struct vcpu *v = current; if ( !ACCESS_ALLOWED(regs, EL0PTEN) ) - return 0; + return false; if ( read ) { @@ -243,10 +243,10 @@ static int vtimer_cntp_cval(struct cpu_user_regs *regs, uint64_t *r, int read) v->domain->arch.phys_timer_base.offset); } } - return 1; + return true; } -static int vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr) +static bool vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr) { struct hsr_cp32 cp32 = hsr.cp32; /* @@ -255,7 +255,7 @@ static int vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr) * setting r). */ uint32_t r = 0; - int res; + bool res; if ( cp32.read ) @@ -277,7 +277,7 @@ static int vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr) break; default: - return 0; + return false; } if ( res && cp32.read ) @@ -286,7 +286,7 @@ static int vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr) return res; } -static int vtimer_emulate_cp64(struct cpu_user_regs *regs, union hsr hsr) +static bool vtimer_emulate_cp64(struct cpu_user_regs *regs, union hsr hsr) { struct hsr_cp64 cp64 = hsr.cp64; uint32_t r1 = get_user_reg(regs, cp64.reg1); @@ -302,11 +302,11 @@ static int vtimer_emulate_cp64(struct cpu_user_regs *regs, union hsr hsr) { case HSR_CPREG64(CNTP_CVAL): if ( !vtimer_cntp_cval(regs, &x, cp64.read) ) - return 0; + return false; break; default: - return 0; + return false; } if ( cp64.read ) @@ -315,21 +315,21 @@ static int vtimer_emulate_cp64(struct cpu_user_regs *regs, union hsr hsr) set_user_reg(regs, cp64.reg2, x >> 32); } - return 1; + return true; } #ifdef CONFIG_ARM_64 -typedef int (*vtimer_sysreg32_fn_t)(struct cpu_user_regs *regs, uint32_t *r, - int read); -typedef int (*vtimer_sysreg64_fn_t)(struct cpu_user_regs *regs, uint64_t *r, - int read); +typedef bool (*vtimer_sysreg32_fn_t)(struct cpu_user_regs *regs, uint32_t *r, + int read); +typedef bool (*vtimer_sysreg64_fn_t)(struct cpu_user_regs *regs, uint64_t *r, + int read); -static int vtimer_emulate_sysreg32(struct cpu_user_regs *regs, union hsr hsr, - vtimer_sysreg32_fn_t fn) +static bool vtimer_emulate_sysreg32(struct cpu_user_regs *regs, union hsr hsr, + vtimer_sysreg32_fn_t fn) { struct hsr_sysreg sysreg = hsr.sysreg; uint32_t r = 0; - int ret; + bool ret; if ( !sysreg.read ) r = get_user_reg(regs, sysreg.reg); @@ -342,8 +342,8 @@ static int vtimer_emulate_sysreg32(struct cpu_user_regs *regs, union hsr hsr, return ret; } -static int vtimer_emulate_sysreg64(struct cpu_user_regs *regs, union hsr hsr, - vtimer_sysreg64_fn_t fn) +static bool vtimer_emulate_sysreg64(struct cpu_user_regs *regs, union hsr hsr, + vtimer_sysreg64_fn_t fn) { struct hsr_sysreg sysreg = hsr.sysreg; /* @@ -352,7 +352,7 @@ static int vtimer_emulate_sysreg64(struct cpu_user_regs *regs, union hsr hsr, * setting x). */ uint64_t x = 0; - int ret; + bool ret; if ( !sysreg.read ) x = get_user_reg(regs, sysreg.reg); @@ -365,7 +365,7 @@ static int vtimer_emulate_sysreg64(struct cpu_user_regs *regs, union hsr hsr, return ret; } -static int vtimer_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr) +static bool vtimer_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr) { struct hsr_sysreg sysreg = hsr.sysreg; @@ -384,13 +384,13 @@ static int vtimer_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr) return vtimer_emulate_sysreg64(regs, hsr, vtimer_cntp_cval); default: - return 0; + return false; } } #endif -int vtimer_emulate(struct cpu_user_regs *regs, union hsr hsr) +bool vtimer_emulate(struct cpu_user_regs *regs, union hsr hsr) { switch (hsr.ec) { @@ -403,7 +403,7 @@ int vtimer_emulate(struct cpu_user_regs *regs, union hsr hsr) return vtimer_emulate_sysreg(regs, hsr); #endif default: - return 0; + return false; } } diff --git a/xen/arch/arm/vtimer.h b/xen/arch/arm/vtimer.h index 99e8145..5aaddc6 100644 --- a/xen/arch/arm/vtimer.h +++ b/xen/arch/arm/vtimer.h @@ -23,7 +23,7 @@ extern int domain_vtimer_init(struct domain *d, struct xen_arch_domainconfig *config); extern int vcpu_vtimer_init(struct vcpu *v); -extern int vtimer_emulate(struct cpu_user_regs *regs, union hsr hsr); +extern bool vtimer_emulate(struct cpu_user_regs *regs, union hsr hsr); extern int virt_timer_save(struct vcpu *v); extern int virt_timer_restore(struct vcpu *v); extern void vcpu_timer_destroy(struct vcpu *v);