1 /*
2  * Accelerator CPUS Interface
3  *
4  * Copyright 2020 SUSE LLC
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7  * See the COPYING file in the top-level directory.
8  */
9 
10 #ifndef HAX_CPUS_H
11 #define HAX_CPUS_H
12 
13 #include "sysemu/cpus.h"
14 
15 extern const CpusAccel hax_cpus;
16 
17 #include "hax-interface.h"
18 #include "hax-i386.h"
19 
20 int hax_init_vcpu(CPUState *cpu);
21 int hax_smp_cpu_exec(CPUState *cpu);
22 int hax_populate_ram(uint64_t va, uint64_t size);
23 
24 void hax_cpu_synchronize_state(CPUState *cpu);
25 void hax_cpu_synchronize_post_reset(CPUState *cpu);
26 void hax_cpu_synchronize_post_init(CPUState *cpu);
27 void hax_cpu_synchronize_pre_loadvm(CPUState *cpu);
28 
29 int hax_vcpu_destroy(CPUState *cpu);
30 void hax_raise_event(CPUState *cpu);
31 void hax_reset_vcpu_state(void *opaque);
32 
33 #endif /* HAX_CPUS_H */
34