@@ -506,11 +506,9 @@ static void qemu_run_timers(QEMUClock *clock)
}
}
-int64_t qemu_get_clock(QEMUClock *clock)
+static int64_t get_clock_common(QEMUClock *clock)
{
switch(clock->type) {
- case QEMU_CLOCK_REALTIME:
- return get_clock() / 1000000;
default:
case QEMU_CLOCK_VIRTUAL:
if (use_icount) {
@@ -523,20 +521,21 @@ int64_t qemu_get_clock(QEMUClock *clock)
}
}
+int64_t qemu_get_clock(QEMUClock *clock)
+{
+ if (clock->type == QEMU_CLOCK_REALTIME) {
+ return get_clock() / 1000000;
+ } else {
+ return get_clock_common(clock);
+ }
+}
+
int64_t qemu_get_clock_ns(QEMUClock *clock)
{
- switch(clock->type) {
- case QEMU_CLOCK_REALTIME:
+ if (clock->type == QEMU_CLOCK_REALTIME) {
return get_clock();
- default:
- case QEMU_CLOCK_VIRTUAL:
- if (use_icount) {
- return cpu_get_icount();
- } else {
- return cpu_get_clock();
- }
- case QEMU_CLOCK_HOST:
- return get_clock_realtime();
+ } else {
+ return get_clock_common(clock);
}
}
Both functions have a lot in common, push those bits into a shared helper. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- qemu-timer.c | 27 +++++++++++++-------------- 1 files changed, 13 insertions(+), 14 deletions(-)