On 08/11/2016 16:39, Vincent Palatin wrote: > Move the generic cpu_synchronize_ functions to the common hw_accel.h header, > in order to prepare for the addition of a second hardware accelerator. > > Signed-off-by: Vincent Palatin <vpala...@chromium.org> > --- > cpus.c | 1 + > gdbstub.c | 1 + > hw/i386/kvm/apic.c | 1 + > hw/i386/kvmvapic.c | 1 + > hw/misc/vmport.c | 2 +- > include/sysemu/hw_accel.h | 39 +++++++++++++++++++++++++++++++++++++++ > include/sysemu/kvm.h | 23 ----------------------- > monitor.c | 2 +- > qom/cpu.c | 2 +- > target-arm/cpu.c | 2 +- > target-i386/helper.c | 1 + > target-i386/kvm.c | 1 + > 12 files changed, 49 insertions(+), 27 deletions(-) > create mode 100644 include/sysemu/hw_accel.h > > diff --git a/cpus.c b/cpus.c > index 5213351..fc78502 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -33,6 +33,7 @@ > #include "sysemu/block-backend.h" > #include "exec/gdbstub.h" > #include "sysemu/dma.h" > +#include "sysemu/hw_accel.h" > #include "sysemu/kvm.h" > #include "qmp-commands.h" > #include "exec/exec-all.h" > diff --git a/gdbstub.c b/gdbstub.c > index de62d26..de9b62b 100644 > --- a/gdbstub.c > +++ b/gdbstub.c > @@ -32,6 +32,7 @@ > #define MAX_PACKET_LENGTH 4096 > > #include "qemu/sockets.h" > +#include "sysemu/hw_accel.h" > #include "sysemu/kvm.h" > #include "exec/semihost.h" > #include "exec/exec-all.h" > diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c > index 01cbaa8..328f80c 100644 > --- a/hw/i386/kvm/apic.c > +++ b/hw/i386/kvm/apic.c > @@ -14,6 +14,7 @@ > #include "cpu.h" > #include "hw/i386/apic_internal.h" > #include "hw/pci/msi.h" > +#include "sysemu/hw_accel.h" > #include "sysemu/kvm.h" > #include "target-i386/kvm_i386.h" > > diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c > index b30d1b9..2f767b6 100644 > --- a/hw/i386/kvmvapic.c > +++ b/hw/i386/kvmvapic.c > @@ -14,6 +14,7 @@ > #include "exec/exec-all.h" > #include "sysemu/sysemu.h" > #include "sysemu/cpus.h" > +#include "sysemu/hw_accel.h" > #include "sysemu/kvm.h" > #include "hw/i386/apic_internal.h" > #include "hw/sysbus.h" > diff --git a/hw/misc/vmport.c b/hw/misc/vmport.c > index c763811..be40930 100644 > --- a/hw/misc/vmport.c > +++ b/hw/misc/vmport.c > @@ -25,7 +25,7 @@ > #include "hw/hw.h" > #include "hw/isa/isa.h" > #include "hw/i386/pc.h" > -#include "sysemu/kvm.h" > +#include "sysemu/hw_accel.h" > #include "hw/qdev.h" > > //#define VMPORT_DEBUG > diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h > new file mode 100644 > index 0000000..03812cf > --- /dev/null > +++ b/include/sysemu/hw_accel.h > @@ -0,0 +1,39 @@ > +/* > + * QEMU Hardware accelertors support > + * > + * Copyright 2016 Google, Inc. > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or later. > + * See the COPYING file in the top-level directory. > + * > + */ > + > +#ifndef QEMU_HW_ACCEL_H > +#define QEMU_HW_ACCEL_H > + > +#include "qom/cpu.h" > +#include "sysemu/hax.h" > +#include "sysemu/kvm.h" > + > +static inline void cpu_synchronize_state(CPUState *cpu) > +{ > + if (kvm_enabled()) { > + kvm_cpu_synchronize_state(cpu); > + } > +} > + > +static inline void cpu_synchronize_post_reset(CPUState *cpu) > +{ > + if (kvm_enabled()) { > + kvm_cpu_synchronize_post_reset(cpu); > + } > +} > + > +static inline void cpu_synchronize_post_init(CPUState *cpu) > +{ > + if (kvm_enabled()) { > + kvm_cpu_synchronize_post_init(cpu); > + } > +} > + > +#endif /* QEMU_HW_ACCEL_H */ > diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h > index df67cc0..3045ee7 100644 > --- a/include/sysemu/kvm.h > +++ b/include/sysemu/kvm.h > @@ -461,29 +461,6 @@ void kvm_cpu_synchronize_state(CPUState *cpu); > void kvm_cpu_synchronize_post_reset(CPUState *cpu); > void kvm_cpu_synchronize_post_init(CPUState *cpu); > > -/* generic hooks - to be moved/refactored once there are more users */ > - > -static inline void cpu_synchronize_state(CPUState *cpu) > -{ > - if (kvm_enabled()) { > - kvm_cpu_synchronize_state(cpu); > - } > -} > - > -static inline void cpu_synchronize_post_reset(CPUState *cpu) > -{ > - if (kvm_enabled()) { > - kvm_cpu_synchronize_post_reset(cpu); > - } > -} > - > -static inline void cpu_synchronize_post_init(CPUState *cpu) > -{ > - if (kvm_enabled()) { > - kvm_cpu_synchronize_post_init(cpu); > - } > -} > - > /** > * kvm_irqchip_add_msi_route - Add MSI route for specific vector > * @s: KVM state > diff --git a/monitor.c b/monitor.c > index 0841d43..d38956f 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -50,7 +50,7 @@ > #include "sysemu/balloon.h" > #include "qemu/timer.h" > #include "migration/migration.h" > -#include "sysemu/kvm.h" > +#include "sysemu/hw_accel.h" > #include "qemu/acl.h" > #include "sysemu/tpm.h" > #include "qapi/qmp/qerror.h" > diff --git a/qom/cpu.c b/qom/cpu.c > index 03d9190..2c5274f 100644 > --- a/qom/cpu.c > +++ b/qom/cpu.c > @@ -22,7 +22,7 @@ > #include "qapi/error.h" > #include "qemu-common.h" > #include "qom/cpu.h" > -#include "sysemu/kvm.h" > +#include "sysemu/hw_accel.h" > #include "qemu/notify.h" > #include "qemu/log.h" > #include "exec/log.h" > diff --git a/target-arm/cpu.c b/target-arm/cpu.c > index 99f0dbe..744cc11 100644 > --- a/target-arm/cpu.c > +++ b/target-arm/cpu.c > @@ -31,7 +31,7 @@ > #endif > #include "hw/arm/arm.h" > #include "sysemu/sysemu.h" > -#include "sysemu/kvm.h" > +#include "sysemu/hw_accel.h" > #include "kvm_arm.h" > > static void arm_cpu_set_pc(CPUState *cs, vaddr value) > diff --git a/target-i386/helper.c b/target-i386/helper.c > index 4ecc091..7530280 100644 > --- a/target-i386/helper.c > +++ b/target-i386/helper.c > @@ -24,6 +24,7 @@ > #include "kvm_i386.h" > #ifndef CONFIG_USER_ONLY > #include "sysemu/sysemu.h" > +#include "sysemu/hw_accel.h" > #include "monitor/monitor.h" > #include "hw/i386/apic_internal.h" > #endif > diff --git a/target-i386/kvm.c b/target-i386/kvm.c > index 1c0864e..d9ad69e 100644 > --- a/target-i386/kvm.c > +++ b/target-i386/kvm.c > @@ -23,6 +23,7 @@ > #include "qemu-common.h" > #include "cpu.h" > #include "sysemu/sysemu.h" > +#include "sysemu/hw_accel.h" > #include "sysemu/kvm_int.h" > #include "kvm_i386.h" > #include "hyperv.h" >
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>