From: Aurelien Jarno Date: Mon, 18 May 2015 21:42:29 +0000 (+0200) Subject: target-s390x: implement STPT helper X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b8ae94bd398ff772f40fb232887ecbcbd244c3d4;p=qemu.git target-s390x: implement STPT helper 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. Signed-off-by: Aurelien Jarno Signed-off-by: Alexander Graf --- diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c index 57aee9589c..3ec7268b72 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 */