xref: /qemu/target/i386/whpx/whpx-accel-ops.h (revision d7482ffe9756919531307330fd1c6dbec66e8c32)
18ef39ecfSClaudio Fontana /*
28ef39ecfSClaudio Fontana  * Accelerator CPUS Interface
38ef39ecfSClaudio Fontana  *
48ef39ecfSClaudio Fontana  * Copyright 2020 SUSE LLC
58ef39ecfSClaudio Fontana  *
68ef39ecfSClaudio Fontana  * This work is licensed under the terms of the GNU GPL, version 2 or later.
78ef39ecfSClaudio Fontana  * See the COPYING file in the top-level directory.
88ef39ecfSClaudio Fontana  */
98ef39ecfSClaudio Fontana 
108ef39ecfSClaudio Fontana #ifndef WHPX_CPUS_H
118ef39ecfSClaudio Fontana #define WHPX_CPUS_H
128ef39ecfSClaudio Fontana 
138ef39ecfSClaudio Fontana #include "sysemu/cpus.h"
148ef39ecfSClaudio Fontana 
1577c050b5SClaudio Fontana int whpx_init_vcpu(CPUState *cpu);
1677c050b5SClaudio Fontana int whpx_vcpu_exec(CPUState *cpu);
1777c050b5SClaudio Fontana void whpx_destroy_vcpu(CPUState *cpu);
1877c050b5SClaudio Fontana void whpx_vcpu_kick(CPUState *cpu);
1977c050b5SClaudio Fontana 
2077c050b5SClaudio Fontana void whpx_cpu_synchronize_state(CPUState *cpu);
2177c050b5SClaudio Fontana void whpx_cpu_synchronize_post_reset(CPUState *cpu);
2277c050b5SClaudio Fontana void whpx_cpu_synchronize_post_init(CPUState *cpu);
2377c050b5SClaudio Fontana void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu);
24*d7482ffeSIvan Shcherbakov void whpx_cpu_synchronize_pre_resume(bool step_pending);
2577c050b5SClaudio Fontana 
2677c050b5SClaudio Fontana /* state subset only touched by the VCPU itself during runtime */
2777c050b5SClaudio Fontana #define WHPX_SET_RUNTIME_STATE   1
2877c050b5SClaudio Fontana /* state subset modified during VCPU reset */
2977c050b5SClaudio Fontana #define WHPX_SET_RESET_STATE     2
3077c050b5SClaudio Fontana /* full state set, modified during initialization or on vmload */
3177c050b5SClaudio Fontana #define WHPX_SET_FULL_STATE      3
3277c050b5SClaudio Fontana 
338ef39ecfSClaudio Fontana #endif /* WHPX_CPUS_H */
34