]>
Commit | Line | Data |
---|---|---|
296af7c9 BS |
1 | #ifndef QEMU_CPUS_H |
2 | #define QEMU_CPUS_H | |
3 | ||
b86f59c7 | 4 | #include "sysemu/accel-ops.h" |
d2528bdc | 5 | |
b86f59c7 CF |
6 | /* register accel-specific operations */ |
7 | void cpus_register_accel(const AccelOpsClass *i); | |
430065da | 8 | |
ae7467b1 AB |
9 | /* return registers ops */ |
10 | const AccelOpsClass *cpus_get_accel(void); | |
11 | ||
b86f59c7 | 12 | /* accel/dummy-cpus.c */ |
430065da | 13 | |
b86f59c7 | 14 | /* Create a dummy vcpu for AccelOpsClass->create_vcpu_thread */ |
9ce84a0d JA |
15 | void dummy_start_vcpu_thread(CPUState *); |
16 | ||
430065da CF |
17 | /* interface available for cpus accelerator threads */ |
18 | ||
19 | /* For temporary buffers for forming a name */ | |
20 | #define VCPU_THREAD_NAME_SIZE 16 | |
21 | ||
22 | void cpus_kick_thread(CPUState *cpu); | |
23 | bool cpu_work_list_empty(CPUState *cpu); | |
24 | bool cpu_thread_is_idle(CPUState *cpu); | |
740b1759 | 25 | bool all_cpu_threads_idle(void); |
430065da CF |
26 | bool cpu_can_run(CPUState *cpu); |
27 | void qemu_wait_io_event_common(CPUState *cpu); | |
28 | void qemu_wait_io_event(CPUState *cpu); | |
29 | void cpu_thread_signal_created(CPUState *cpu); | |
30 | void cpu_thread_signal_destroyed(CPUState *cpu); | |
31 | void cpu_handle_guest_debug(CPUState *cpu); | |
32 | ||
33 | /* end interface for cpus accelerator threads */ | |
34 | ||
88401cbc | 35 | bool qemu_in_vcpu_thread(void); |
d3b12f5d | 36 | void qemu_init_cpu_loop(void); |
296af7c9 BS |
37 | void resume_all_vcpus(void); |
38 | void pause_all_vcpus(void); | |
b4a3d965 | 39 | void cpu_stop_current(void); |
4b4629d9 | 40 | |
4b4629d9 PB |
41 | extern int icount_align_option; |
42 | ||
4b4629d9 PB |
43 | /* Unblock cpu */ |
44 | void qemu_cpu_kick_self(void); | |
296af7c9 | 45 | |
92a5199b TL |
46 | bool cpus_are_resettable(void); |
47 | ||
17a4663e BS |
48 | void cpu_synchronize_all_states(void); |
49 | void cpu_synchronize_all_post_reset(void); | |
50 | void cpu_synchronize_all_post_init(void); | |
75e972da | 51 | void cpu_synchronize_all_pre_loadvm(void); |
17a4663e | 52 | |
296af7c9 | 53 | #endif |