mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
target-s390x: simplify SCKC helper
The clock comparator and the QEMU timer work the same way, triggering at a given time, they just differ by the origin and the scale. It is therefore possible to go from one to another without using the current clock value. This spares two calls to qemu_clock_get_ns, which probably return slightly different values, possibly reducing the accuracy. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
9cb32c442e
commit
c941f07485
1 changed files with 4 additions and 3 deletions
|
@ -291,12 +291,13 @@ void HELPER(sckc)(CPUS390XState *env, uint64_t time)
|
|||
return;
|
||||
}
|
||||
|
||||
/* difference between now and then */
|
||||
time -= clock_value(env);
|
||||
/* difference between origins */
|
||||
time -= env->tod_offset;
|
||||
|
||||
/* nanoseconds */
|
||||
time = tod2time(time);
|
||||
|
||||
timer_mod(env->tod_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + time);
|
||||
timer_mod(env->tod_timer, env->tod_basetime + time);
|
||||
}
|
||||
|
||||
/* Store Clock Comparator */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue