Lines Matching refs:timer

146     CPUTimer *timer = g_malloc0(sizeof(CPUTimer));  in cpu_timer_create()  local
148 timer->name = name; in cpu_timer_create()
149 timer->frequency = frequency; in cpu_timer_create()
150 timer->disabled_mask = disabled_mask; in cpu_timer_create()
151 timer->npt_mask = npt_mask; in cpu_timer_create()
153 timer->disabled = 1; in cpu_timer_create()
154 timer->npt = 1; in cpu_timer_create()
155 timer->clock_offset = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); in cpu_timer_create()
157 timer->qtimer = timer_new_ns(QEMU_CLOCK_VIRTUAL, cb, cpu); in cpu_timer_create()
159 return timer; in cpu_timer_create()
162 static void cpu_timer_reset(CPUTimer *timer) in cpu_timer_reset() argument
164 timer->disabled = 1; in cpu_timer_reset()
165 timer->clock_offset = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); in cpu_timer_reset()
167 timer_del(timer->qtimer); in cpu_timer_reset()
199 CPUTimer *timer = env->tick; in tick_irq() local
201 if (timer->disabled) { in tick_irq()
217 CPUTimer *timer = env->stick; in stick_irq() local
219 if (timer->disabled) { in stick_irq()
235 CPUTimer *timer = env->hstick; in hstick_irq() local
237 if (timer->disabled) { in hstick_irq()
258 void cpu_tick_set_count(CPUTimer *timer, uint64_t count) in cpu_tick_set_count() argument
260 uint64_t real_count = count & ~timer->npt_mask; in cpu_tick_set_count()
261 uint64_t npt_bit = count & timer->npt_mask; in cpu_tick_set_count()
264 cpu_to_timer_ticks(real_count, timer->frequency); in cpu_tick_set_count()
266 trace_sparc64_cpu_tick_set_count(timer->name, real_count, in cpu_tick_set_count()
267 timer->npt ? "disabled" : "enabled", in cpu_tick_set_count()
268 timer); in cpu_tick_set_count()
270 timer->npt = npt_bit ? 1 : 0; in cpu_tick_set_count()
271 timer->clock_offset = vm_clock_offset; in cpu_tick_set_count()
274 uint64_t cpu_tick_get_count(CPUTimer *timer) in cpu_tick_get_count() argument
277 qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - timer->clock_offset, in cpu_tick_get_count()
278 timer->frequency); in cpu_tick_get_count()
280 trace_sparc64_cpu_tick_get_count(timer->name, real_count, in cpu_tick_get_count()
281 timer->npt ? "disabled" : "enabled", in cpu_tick_get_count()
282 timer); in cpu_tick_get_count()
284 if (timer->npt) { in cpu_tick_get_count()
285 real_count |= timer->npt_mask; in cpu_tick_get_count()
291 void cpu_tick_set_limit(CPUTimer *timer, uint64_t limit) in cpu_tick_set_limit() argument
295 uint64_t real_limit = limit & ~timer->disabled_mask; in cpu_tick_set_limit()
296 timer->disabled = (limit & timer->disabled_mask) ? 1 : 0; in cpu_tick_set_limit()
298 int64_t expires = cpu_to_timer_ticks(real_limit, timer->frequency) + in cpu_tick_set_limit()
299 timer->clock_offset; in cpu_tick_set_limit()
305 trace_sparc64_cpu_tick_set_limit(timer->name, real_limit, in cpu_tick_set_limit()
306 timer->disabled ? "disabled" : "enabled", in cpu_tick_set_limit()
307 timer, limit, in cpu_tick_set_limit()
309 now - timer->clock_offset, in cpu_tick_set_limit()
310 timer->frequency in cpu_tick_set_limit()
313 expires - now, timer->frequency in cpu_tick_set_limit()
317 trace_sparc64_cpu_tick_set_limit_zero(timer->name); in cpu_tick_set_limit()
318 timer_del(timer->qtimer); in cpu_tick_set_limit()
319 } else if (timer->disabled) { in cpu_tick_set_limit()
320 timer_del(timer->qtimer); in cpu_tick_set_limit()
322 timer_mod(timer->qtimer, expires); in cpu_tick_set_limit()