2020-07-07 12:39:12 +03:00
|
|
|
/*
|
|
|
|
* Accelerator CPUS Interface
|
|
|
|
*
|
|
|
|
* Copyright 2020 SUSE LLC
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
|
|
|
|
2022-05-06 16:49:08 +03:00
|
|
|
#ifndef TARGET_I386_WHPX_ACCEL_OPS_H
|
|
|
|
#define TARGET_I386_WHPX_ACCEL_OPS_H
|
2020-07-07 12:39:12 +03:00
|
|
|
|
|
|
|
#include "sysemu/cpus.h"
|
|
|
|
|
2020-08-11 19:32:18 +03:00
|
|
|
int whpx_init_vcpu(CPUState *cpu);
|
|
|
|
int whpx_vcpu_exec(CPUState *cpu);
|
|
|
|
void whpx_destroy_vcpu(CPUState *cpu);
|
|
|
|
void whpx_vcpu_kick(CPUState *cpu);
|
|
|
|
|
|
|
|
void whpx_cpu_synchronize_state(CPUState *cpu);
|
|
|
|
void whpx_cpu_synchronize_post_reset(CPUState *cpu);
|
|
|
|
void whpx_cpu_synchronize_post_init(CPUState *cpu);
|
|
|
|
void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu);
|
2022-03-03 04:28:33 +03:00
|
|
|
void whpx_cpu_synchronize_pre_resume(bool step_pending);
|
2020-08-11 19:32:18 +03:00
|
|
|
|
|
|
|
/* state subset only touched by the VCPU itself during runtime */
|
|
|
|
#define WHPX_SET_RUNTIME_STATE 1
|
|
|
|
/* state subset modified during VCPU reset */
|
|
|
|
#define WHPX_SET_RESET_STATE 2
|
|
|
|
/* full state set, modified during initialization or on vmload */
|
|
|
|
#define WHPX_SET_FULL_STATE 3
|
|
|
|
|
2022-05-06 16:49:08 +03:00
|
|
|
#endif /* TARGET_I386_WHPX_ACCEL_OPS_H */
|