i386: hvf: Add hvf_cpu_synchronize_pre_loadvm()
hvf lacks an implementation of cpu_synchronize_pre_loadvm(). Cc: Cameron Esfahani <dirty@apple.com> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Message-Id: <20200630102824.77604-4-r.bolshakov@yadro.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4bb19f98d3
commit
5536c98e44
|
@ -28,6 +28,7 @@ int hvf_vcpu_exec(CPUState *);
|
||||||
void hvf_cpu_synchronize_state(CPUState *);
|
void hvf_cpu_synchronize_state(CPUState *);
|
||||||
void hvf_cpu_synchronize_post_reset(CPUState *);
|
void hvf_cpu_synchronize_post_reset(CPUState *);
|
||||||
void hvf_cpu_synchronize_post_init(CPUState *);
|
void hvf_cpu_synchronize_post_init(CPUState *);
|
||||||
|
void hvf_cpu_synchronize_pre_loadvm(CPUState *);
|
||||||
void hvf_vcpu_destroy(CPUState *);
|
void hvf_vcpu_destroy(CPUState *);
|
||||||
void hvf_reset_vcpu(CPUState *);
|
void hvf_reset_vcpu(CPUState *);
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,9 @@ static inline void cpu_synchronize_pre_loadvm(CPUState *cpu)
|
||||||
if (hax_enabled()) {
|
if (hax_enabled()) {
|
||||||
hax_cpu_synchronize_pre_loadvm(cpu);
|
hax_cpu_synchronize_pre_loadvm(cpu);
|
||||||
}
|
}
|
||||||
|
if (hvf_enabled()) {
|
||||||
|
hvf_cpu_synchronize_pre_loadvm(cpu);
|
||||||
|
}
|
||||||
if (whpx_enabled()) {
|
if (whpx_enabled()) {
|
||||||
whpx_cpu_synchronize_pre_loadvm(cpu);
|
whpx_cpu_synchronize_pre_loadvm(cpu);
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,6 +325,17 @@ void hvf_cpu_synchronize_post_init(CPUState *cpu_state)
|
||||||
run_on_cpu(cpu_state, do_hvf_cpu_synchronize_post_init, RUN_ON_CPU_NULL);
|
run_on_cpu(cpu_state, do_hvf_cpu_synchronize_post_init, RUN_ON_CPU_NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void do_hvf_cpu_synchronize_pre_loadvm(CPUState *cpu,
|
||||||
|
run_on_cpu_data arg)
|
||||||
|
{
|
||||||
|
cpu->vcpu_dirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void hvf_cpu_synchronize_pre_loadvm(CPUState *cpu)
|
||||||
|
{
|
||||||
|
run_on_cpu(cpu, do_hvf_cpu_synchronize_pre_loadvm, RUN_ON_CPU_NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static bool ept_emulation_fault(hvf_slot *slot, uint64_t gpa, uint64_t ept_qual)
|
static bool ept_emulation_fault(hvf_slot *slot, uint64_t gpa, uint64_t ept_qual)
|
||||||
{
|
{
|
||||||
int read, write;
|
int read, write;
|
||||||
|
|
Loading…
Reference in New Issue