hvf: Use cpu_synchronize_state()
There is no reason to call the hvf specific hvf_cpu_synchronize_state() when we can just use the generic cpu_synchronize_state() instead. This allows us to have less dependency on internal function definitions and allows us to make hvf_cpu_synchronize_state() static. Signed-off-by: Alexander Graf <agraf@csgraf.de> Reviewed-by: Sergio Lopez <slp@redhat.com> Message-id: 20210519202253.76782-9-agraf@csgraf.de Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
cfe58455f3
commit
65c725b520
@ -200,7 +200,7 @@ static void do_hvf_cpu_synchronize_state(CPUState *cpu, run_on_cpu_data arg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hvf_cpu_synchronize_state(CPUState *cpu)
|
static void hvf_cpu_synchronize_state(CPUState *cpu)
|
||||||
{
|
{
|
||||||
if (!cpu->vcpu_dirty) {
|
if (!cpu->vcpu_dirty) {
|
||||||
run_on_cpu(cpu, do_hvf_cpu_synchronize_state, RUN_ON_CPU_NULL);
|
run_on_cpu(cpu, do_hvf_cpu_synchronize_state, RUN_ON_CPU_NULL);
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
|
|
||||||
int hvf_vcpu_exec(CPUState *);
|
int hvf_vcpu_exec(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_cpu_synchronize_pre_loadvm(CPUState *);
|
||||||
|
@ -26,14 +26,13 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "x86_descr.h"
|
#include "x86_descr.h"
|
||||||
#include "x86_decode.h"
|
#include "x86_decode.h"
|
||||||
|
#include "sysemu/hw_accel.h"
|
||||||
|
|
||||||
#include "hw/i386/apic_internal.h"
|
#include "hw/i386/apic_internal.h"
|
||||||
|
|
||||||
#include <Hypervisor/hv.h>
|
#include <Hypervisor/hv.h>
|
||||||
#include <Hypervisor/hv_vmx.h>
|
#include <Hypervisor/hv_vmx.h>
|
||||||
|
|
||||||
#include "accel/hvf/hvf-accel-ops.h"
|
|
||||||
|
|
||||||
void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
|
void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
|
||||||
SegmentCache *qseg, bool is_tr)
|
SegmentCache *qseg, bool is_tr)
|
||||||
{
|
{
|
||||||
@ -437,7 +436,7 @@ int hvf_process_events(CPUState *cpu_state)
|
|||||||
env->eflags = rreg(cpu_state->hvf_fd, HV_X86_RFLAGS);
|
env->eflags = rreg(cpu_state->hvf_fd, HV_X86_RFLAGS);
|
||||||
|
|
||||||
if (cpu_state->interrupt_request & CPU_INTERRUPT_INIT) {
|
if (cpu_state->interrupt_request & CPU_INTERRUPT_INIT) {
|
||||||
hvf_cpu_synchronize_state(cpu_state);
|
cpu_synchronize_state(cpu_state);
|
||||||
do_cpu_init(cpu);
|
do_cpu_init(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,12 +450,12 @@ int hvf_process_events(CPUState *cpu_state)
|
|||||||
cpu_state->halted = 0;
|
cpu_state->halted = 0;
|
||||||
}
|
}
|
||||||
if (cpu_state->interrupt_request & CPU_INTERRUPT_SIPI) {
|
if (cpu_state->interrupt_request & CPU_INTERRUPT_SIPI) {
|
||||||
hvf_cpu_synchronize_state(cpu_state);
|
cpu_synchronize_state(cpu_state);
|
||||||
do_cpu_sipi(cpu);
|
do_cpu_sipi(cpu);
|
||||||
}
|
}
|
||||||
if (cpu_state->interrupt_request & CPU_INTERRUPT_TPR) {
|
if (cpu_state->interrupt_request & CPU_INTERRUPT_TPR) {
|
||||||
cpu_state->interrupt_request &= ~CPU_INTERRUPT_TPR;
|
cpu_state->interrupt_request &= ~CPU_INTERRUPT_TPR;
|
||||||
hvf_cpu_synchronize_state(cpu_state);
|
cpu_synchronize_state(cpu_state);
|
||||||
apic_handle_tpr_access_report(cpu->apic_state, env->eip,
|
apic_handle_tpr_access_report(cpu->apic_state, env->eip,
|
||||||
env->tpr_access_type);
|
env->tpr_access_type);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user