2 * Stubs for the ptimer-test
4 * Copyright (c) 2016 Dmitry Osipenko <digetx@gmail.com>
6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
7 * See the COPYING file in the top-level directory.
11 #include "qemu/osdep.h"
12 #include "qemu/main-loop.h"
13 #include "sysemu/replay.h"
14 #include "migration/vmstate.h"
16 #include "ptimer-test.h"
18 const VMStateInfo vmstate_info_uint8
;
19 const VMStateInfo vmstate_info_uint32
;
20 const VMStateInfo vmstate_info_uint64
;
21 const VMStateInfo vmstate_info_int64
;
22 const VMStateInfo vmstate_info_timer
;
29 QEMUTimerListGroup main_loop_tlg
;
31 int64_t ptimer_test_time_ns
;
33 void timer_init_tl(QEMUTimer
*ts
,
34 QEMUTimerList
*timer_list
, int scale
,
35 QEMUTimerCB
*cb
, void *opaque
)
37 ts
->timer_list
= timer_list
;
44 void timer_mod(QEMUTimer
*ts
, int64_t expire_time
)
46 QEMUTimerList
*timer_list
= ts
->timer_list
;
47 QEMUTimer
*t
= &timer_list
->active_timers
;
49 while (t
->next
!= NULL
) {
57 ts
->expire_time
= MAX(expire_time
* ts
->scale
, 0);
62 void timer_del(QEMUTimer
*ts
)
64 QEMUTimerList
*timer_list
= ts
->timer_list
;
65 QEMUTimer
*t
= &timer_list
->active_timers
;
67 while (t
->next
!= NULL
) {
77 int64_t qemu_clock_get_ns(QEMUClockType type
)
79 return ptimer_test_time_ns
;
82 int64_t qemu_clock_deadline_ns_all(QEMUClockType type
)
84 QEMUTimerList
*timer_list
= main_loop_tlg
.tl
[type
];
85 QEMUTimer
*t
= timer_list
->active_timers
.next
;
86 int64_t deadline
= -1;
90 deadline
= t
->expire_time
;
92 deadline
= MIN(deadline
, t
->expire_time
);
101 QEMUBH
*qemu_bh_new(QEMUBHFunc
*cb
, void *opaque
)
103 QEMUBH
*bh
= g_new(QEMUBH
, 1);
111 void qemu_bh_delete(QEMUBH
*bh
)
116 void replay_bh_schedule_event(QEMUBH
*bh
)