1#ifndef QEMU_CPUS_H 2#define QEMU_CPUS_H 3 4#include "qemu/timer.h" 5 6/* cpus.c */ 7bool qemu_in_vcpu_thread(void); 8void qemu_init_cpu_loop(void); 9void resume_all_vcpus(void); 10void pause_all_vcpus(void); 11void cpu_stop_current(void); 12bool all_cpu_threads_idle(void); 13void cpu_ticks_init(void); 14 15void configure_icount(QemuOpts *opts, Error **errp); 16extern int use_icount; 17extern int icount_align_option; 18 19/* drift information for info jit command */ 20extern int64_t max_delay; 21extern int64_t max_advance; 22void dump_drift_info(FILE *f, fprintf_function cpu_fprintf); 23 24/* Unblock cpu */ 25void qemu_cpu_kick_self(void); 26void qemu_timer_notify_cb(void *opaque, QEMUClockType type); 27 28void cpu_synchronize_all_states(void); 29void cpu_synchronize_all_post_reset(void); 30void cpu_synchronize_all_post_init(void); 31void cpu_synchronize_all_pre_loadvm(void); 32 33void tcg_clock_warp(int64_t dest); 34bool tcg_idle_clock_warp(int64_t dest); 35void qtest_clock_warp(int64_t dest); 36 37void qemu_icount_enable_idle_timewarps(bool enable); 38 39#ifndef CONFIG_USER_ONLY 40/* vl.c */ 41/* *-user doesn't have configurable SMP topology */ 42extern int smp_cores; 43extern int smp_threads; 44#endif 45 46void list_cpus(FILE *f, fprintf_function cpu_fprintf, const char *optarg); 47 48void qemu_tcg_configure(QemuOpts *opts, Error **errp); 49 50#endif 51