From patchwork Mon May 18 21:42:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 473611 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5A7341401B5 for ; Tue, 19 May 2015 07:43:27 +1000 (AEST) Received: from localhost ([::1]:43089 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSon-00042p-DU for incoming@patchwork.ozlabs.org; Mon, 18 May 2015 17:43:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44815) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSoB-0002mj-J5 for qemu-devel@nongnu.org; Mon, 18 May 2015 17:42:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YuSo6-0008Qa-Fw for qemu-devel@nongnu.org; Mon, 18 May 2015 17:42:46 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:101::1]:33729) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSo6-0008Q5-9r for qemu-devel@nongnu.org; Mon, 18 May 2015 17:42:42 -0400 Received: from 191.red-80-33-14.staticip.rima-tde.net ([80.33.14.191] helo=ohm.rr44.fr) by hall.aurel32.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1YuSo4-0007qb-7F; Mon, 18 May 2015 23:42:40 +0200 Received: from aurel32 by ohm.rr44.fr with local (Exim 4.84) (envelope-from ) id 1YuSnx-0002vw-I1; Mon, 18 May 2015 23:42:33 +0200 From: Aurelien Jarno To: qemu-devel@nongnu.org Date: Mon, 18 May 2015 23:42:25 +0200 Message-Id: <1431985349-11226-2-git-send-email-aurelien@aurel32.net> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1431985349-11226-1-git-send-email-aurelien@aurel32.net> References: <1431985349-11226-1-git-send-email-aurelien@aurel32.net> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:bc8:30d7:101::1 Cc: Alexander Graf , Aurelien Jarno , Richard Henderson Subject: [Qemu-devel] [PATCH 1/5] target-s390x: add a tod2time function X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Add a tod2time function similar to the time2tod one, instead of open coding the conversion. Cc: Alexander Graf Cc: Richard Henderson Signed-off-by: Aurelien Jarno --- 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 8135dda..28aa39d 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -970,6 +970,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); }