mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
timer: introduce new QEMU_CLOCK_VIRTUAL_RT clock
This patch introduces new QEMU_CLOCK_VIRTUAL_RT clock, which should be used for icount warping. In the next patch, it will be used to avoid a huge icount warp when a virtual machine is stopped for a long time. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d8a499f17e
commit
4e7fa73ec2
@ -36,12 +36,19 @@
|
||||
* is suspended, and it will reflect system time changes the host may
|
||||
* undergo (e.g. due to NTP). The host clock has the same precision as
|
||||
* the virtual clock.
|
||||
*
|
||||
* @QEMU_CLOCK_VIRTUAL_RT: realtime clock used for icount warp
|
||||
*
|
||||
* Outside icount mode, this clock is the same as @QEMU_CLOCK_VIRTUAL.
|
||||
* In icount mode, this clock counts nanoseconds while the virtual
|
||||
* machine is running.
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
QEMU_CLOCK_REALTIME = 0,
|
||||
QEMU_CLOCK_VIRTUAL = 1,
|
||||
QEMU_CLOCK_HOST = 2,
|
||||
QEMU_CLOCK_VIRTUAL_RT = 3,
|
||||
QEMU_CLOCK_MAX
|
||||
} QEMUClockType;
|
||||
|
||||
|
@ -566,6 +566,8 @@ int64_t qemu_clock_get_ns(QEMUClockType type)
|
||||
notifier_list_notify(&clock->reset_notifiers, &now);
|
||||
}
|
||||
return now;
|
||||
case QEMU_CLOCK_VIRTUAL_RT:
|
||||
return cpu_get_clock();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user