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 WHPX_CPUS_H 11 #define WHPX_CPUS_H 12 13 #include "sysemu/cpus.h" 14 15 int whpx_init_vcpu(CPUState *cpu); 16 int whpx_vcpu_exec(CPUState *cpu); 17 void whpx_destroy_vcpu(CPUState *cpu); 18 void whpx_vcpu_kick(CPUState *cpu); 19 20 void whpx_cpu_synchronize_state(CPUState *cpu); 21 void whpx_cpu_synchronize_post_reset(CPUState *cpu); 22 void whpx_cpu_synchronize_post_init(CPUState *cpu); 23 void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu); 24 void whpx_cpu_synchronize_pre_resume(bool step_pending); 25 26 /* state subset only touched by the VCPU itself during runtime */ 27 #define WHPX_SET_RUNTIME_STATE 1 28 /* state subset modified during VCPU reset */ 29 #define WHPX_SET_RESET_STATE 2 30 /* full state set, modified during initialization or on vmload */ 31 #define WHPX_SET_FULL_STATE 3 32 33 #endif /* WHPX_CPUS_H */ 34