mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00

Split icount stuff from system/cpu-timers.h. There are 17 files which only require icount.h, 7 that only require cpu-timers.h, and 7 that require both. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
/*
|
|
* CPU timers state API
|
|
*
|
|
* Copyright 2020 SUSE LLC
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
#ifndef SYSTEM_CPU_TIMERS_H
|
|
#define SYSTEM_CPU_TIMERS_H
|
|
|
|
#include "qemu/timer.h"
|
|
|
|
/* init the whole cpu timers API, including icount, ticks, and cpu_throttle */
|
|
void cpu_timers_init(void);
|
|
|
|
/*
|
|
* CPU Ticks and Clock
|
|
*/
|
|
|
|
/* Caller must hold BQL */
|
|
void cpu_enable_ticks(void);
|
|
/* Caller must hold BQL */
|
|
void cpu_disable_ticks(void);
|
|
|
|
/*
|
|
* return the time elapsed in VM between vm_start and vm_stop.
|
|
* cpu_get_ticks() uses units of the host CPU cycle counter.
|
|
*/
|
|
int64_t cpu_get_ticks(void);
|
|
|
|
/*
|
|
* Returns the monotonic time elapsed in VM, i.e.,
|
|
* the time between vm_start and vm_stop
|
|
*/
|
|
int64_t cpu_get_clock(void);
|
|
|
|
void qemu_timer_notify_cb(void *opaque, QEMUClockType type);
|
|
|
|
/* get/set VIRTUAL clock and VM elapsed ticks via the cpus accel interface */
|
|
int64_t cpus_get_virtual_clock(void);
|
|
void cpus_set_virtual_clock(int64_t new_time);
|
|
int64_t cpus_get_elapsed_ticks(void);
|
|
|
|
#endif /* SYSTEM_CPU_TIMERS_H */
|