From patchwork Mon May 18 21:42:29 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 473613 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 ED3961401B5 for ; Tue, 19 May 2015 07:45:44 +1000 (AEST) Received: from localhost ([::1]:43113 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSr1-00083o-2U for incoming@patchwork.ozlabs.org; Mon, 18 May 2015 17:45:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSoB-0002mk-JL 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 1YuSo7-0008Qw-1Q for qemu-devel@nongnu.org; Mon, 18 May 2015 17:42:46 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:101::1]:33739) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuSo6-0008Qo-SB 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 1YuSo5-0007qm-Rz; Mon, 18 May 2015 23:42:42 +0200 Received: from aurel32 by ohm.rr44.fr with local (Exim 4.84) (envelope-from ) id 1YuSny-0002wF-GS; Mon, 18 May 2015 23:42:34 +0200 From: Aurelien Jarno To: qemu-devel@nongnu.org Date: Mon, 18 May 2015 23:42:29 +0200 Message-Id: <1431985349-11226-6-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 5/5] target-s390x: implement STPT helper 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 Save the timer target value in the SPT helper, so that the STPT helper can compute the remaining time. This allow the Linux kernel to correctly do time accounting. Cc: Alexander Graf Cc: Richard Henderson Signed-off-by: Aurelien Jarno --- target-s390x/misc_helper.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c index 57aee95..3ec7268 100644 --- a/target-s390x/misc_helper.c +++ b/target-s390x/misc_helper.c @@ -313,14 +313,15 @@ void HELPER(spt)(CPUS390XState *env, uint64_t time) /* nanoseconds */ time = tod2time(time); - timer_mod(env->cpu_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + time); + env->cputm = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + time; + + timer_mod(env->cpu_timer, env->cputm); } /* Store CPU Timer */ uint64_t HELPER(stpt)(CPUS390XState *env) { - /* XXX implement */ - return 0; + return time2tod(env->cputm - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)); } /* Store System Information */