Message ID | 93648562ac4ee6eccf2425bb23b22dd7289ebc91.1478619442.git.vpalatin@chromium.org |
---|---|
State | New |
Headers | show |
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 <vpalatin@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 <pbonzini@redhat.com>
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"
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 <vpalatin@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