xref: /openbmc/qemu/include/sysemu/cpus.h (revision 438c78da)
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 void cpu_synchronize_all_pre_loadvm(void);
31 
32 void qtest_clock_warp(int64_t dest);
33 
34 #ifndef CONFIG_USER_ONLY
35 /* vl.c */
36 /* *-user doesn't have configurable SMP topology */
37 extern int smp_cores;
38 extern int smp_threads;
39 #endif
40 
41 void list_cpus(FILE *f, fprintf_function cpu_fprintf, const char *optarg);
42 
43 void qemu_tcg_configure(QemuOpts *opts, Error **errp);
44 
45 #endif
46