From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0em3-0003Xw-OA for qemu-devel@nongnu.org; Thu, 04 Jun 2015 19:42:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0elz-0001wu-Hz for qemu-devel@nongnu.org; Thu, 04 Jun 2015 19:42:11 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48722 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0elz-0001wH-B9 for qemu-devel@nongnu.org; Thu, 04 Jun 2015 19:42:07 -0400 From: Alexander Graf Date: Fri, 5 Jun 2015 01:41:35 +0200 Message-Id: <1433461324-23584-6-git-send-email-agraf@suse.de> In-Reply-To: <1433461324-23584-1-git-send-email-agraf@suse.de> References: <1433461324-23584-1-git-send-email-agraf@suse.de> Subject: [Qemu-devel] [PULL 05/34] target-s390x: add a tod2time function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, aurel@aurel32.net, Aurelien Jarno , rth@twiddle.net From: Aurelien Jarno Add a tod2time function similar to the time2tod one, instead of open coding the conversion. Signed-off-by: Aurelien Jarno Signed-off-by: Alexander Graf --- target-s390x/cpu.h | 5 +++++ target-s390x/misc_helper.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h index a71abae..3140f75 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -995,6 +995,11 @@ static inline uint64_t time2tod(uint64_t ns) { return (ns << 9) / 125; } +/* Converts s390's clock format to ns */ +static inline uint64_t tod2time(uint64_t t) { + return (t * 125) >> 9; +} + static inline void cpu_inject_ext(S390CPU *cpu, uint32_t code, uint32_t param, uint64_t param64) { diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c index e1007fa..230bafd 100644 --- a/target-s390x/misc_helper.c +++ b/target-s390x/misc_helper.c @@ -294,7 +294,7 @@ void HELPER(sckc)(CPUS390XState *env, uint64_t time) /* difference between now and then */ time -= clock_value(env); /* nanoseconds */ - time = (time * 125) >> 9; + time = tod2time(time); timer_mod(env->tod_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + time); } @@ -314,7 +314,7 @@ void HELPER(spt)(CPUS390XState *env, uint64_t time) } /* nanoseconds */ - time = (time * 125) >> 9; + time = tod2time(time); timer_mod(env->cpu_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + time); } -- 1.7.12.4