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