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