[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry ty
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h |
Date: |
Mon, 12 Aug 2019 11:08:12 +0100 |
User-agent: |
mu4e 1.3.4; emacs 27.0.50 |
Markus Armbruster <address@hidden> writes:
> In my "build everything" tree, changing sysemu/sysemu.h triggers a
> recompile of some 1800 out of 6600 objects (not counting tests and
> objects that don't depend on qemu/osdep.h, down from 5400 due to the
> previous commit).
>
> Several headers include sysemu/sysemu.h just to get typedef
> VMChangeStateEntry. Move it from sysemu/sysemu.h to qemu/typedefs.h.
> Spell its structure tag the same while there. Drop the now
> superfluous includes of sysemu/sysemu.h from headers.
You should probably mention you also fix the struct definition to meet
our coding style. Otherwise:
Reviewed-by: Alex Bennée <address@hidden>
>
> Touching sysemu/sysemu.h now recompiles some 1100 objects.
> qemu/uuid.h also drops from 1800 to 1100, and
> qapi/qapi-types-run-state.h from 5000 to 4400.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> hw/usb/hcd-ehci.h | 1 -
> include/hw/ide/internal.h | 3 ++-
> include/hw/ppc/spapr_xive.h | 1 -
> include/hw/scsi/scsi.h | 1 -
> include/hw/virtio/virtio.h | 1 -
> include/qemu/typedefs.h | 1 +
> include/sysemu/sysemu.h | 1 -
> hw/block/vhost-user-blk.c | 1 +
> hw/block/virtio-blk.c | 1 +
> hw/display/virtio-gpu.c | 1 +
> hw/misc/macio/macio.c | 1 +
> hw/net/virtio-net.c | 1 +
> hw/s390x/s390-ccw.c | 1 +
> hw/s390x/s390-virtio-ccw.c | 1 +
> hw/scsi/scsi-bus.c | 1 +
> hw/scsi/vhost-scsi.c | 1 +
> hw/scsi/vhost-user-scsi.c | 1 +
> hw/usb/hcd-ehci.c | 1 +
> hw/virtio/virtio-rng.c | 1 +
> hw/virtio/virtio.c | 1 +
> vl.c | 6 +++---
> 21 files changed, 19 insertions(+), 9 deletions(-)
>
> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
> index fdbcfdcbeb..0298238f0b 100644
> --- a/hw/usb/hcd-ehci.h
> +++ b/hw/usb/hcd-ehci.h
> @@ -21,7 +21,6 @@
> #include "qemu/timer.h"
> #include "hw/usb.h"
> #include "sysemu/dma.h"
> -#include "sysemu/sysemu.h"
> #include "hw/pci/pci.h"
> #include "hw/sysbus.h"
>
> diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h
> index c6954c1d56..52ec197da0 100644
> --- a/include/hw/ide/internal.h
> +++ b/include/hw/ide/internal.h
> @@ -6,11 +6,12 @@
> * only files in hw/ide/ are supposed to include this file.
> * non-internal declarations are in hw/ide.h
> */
> +
> +#include "qapi/qapi-types-run-state.h"
> #include "hw/ide.h"
> #include "hw/irq.h"
> #include "hw/isa/isa.h"
> #include "sysemu/dma.h"
> -#include "sysemu/sysemu.h"
> #include "hw/block/block.h"
> #include "scsi/constants.h"
>
> diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h
> index a39e672f27..bfd40f01d8 100644
> --- a/include/hw/ppc/spapr_xive.h
> +++ b/include/hw/ppc/spapr_xive.h
> @@ -12,7 +12,6 @@
>
> #include "hw/ppc/spapr_irq.h"
> #include "hw/ppc/xive.h"
> -#include "sysemu/sysemu.h"
>
> #define TYPE_SPAPR_XIVE "spapr-xive"
> #define SPAPR_XIVE(obj) OBJECT_CHECK(SpaprXive, (obj), TYPE_SPAPR_XIVE)
> diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
> index 2bfaad0fe9..d77a92361b 100644
> --- a/include/hw/scsi/scsi.h
> +++ b/include/hw/scsi/scsi.h
> @@ -4,7 +4,6 @@
> #include "block/aio.h"
> #include "hw/block/block.h"
> #include "hw/qdev-core.h"
> -#include "sysemu/sysemu.h"
> #include "scsi/utils.h"
> #include "qemu/notify.h"
>
> diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> index df40a46d60..48e8d04ff6 100644
> --- a/include/hw/virtio/virtio.h
> +++ b/include/hw/virtio/virtio.h
> @@ -17,7 +17,6 @@
> #include "exec/memory.h"
> #include "hw/qdev-core.h"
> #include "net/net.h"
> -#include "sysemu/sysemu.h"
> #include "migration/vmstate.h"
> #include "qemu/event_notifier.h"
> #include "standard-headers/linux/virtio_config.h"
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index f569f5f270..3fcdde8bfc 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -102,6 +102,7 @@ typedef struct SHPCDevice SHPCDevice;
> typedef struct SSIBus SSIBus;
> typedef struct VirtIODevice VirtIODevice;
> typedef struct Visitor Visitor;
> +typedef struct VMChangeStateEntry VMChangeStateEntry;
> typedef struct VMStateDescription VMStateDescription;
>
> /*
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 908f158677..7606eaaf2a 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -22,7 +22,6 @@ void runstate_set(RunState new_state);
> int runstate_is_running(void);
> bool runstate_needs_reset(void);
> bool runstate_store(char *str, size_t size);
> -typedef struct vm_change_state_entry VMChangeStateEntry;
> typedef void VMChangeStateHandler(void *opaque, int running, RunState state);
>
> VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler
> *cb,
> diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
> index 7b44cca6d9..6b6cd07362 100644
> --- a/hw/block/vhost-user-blk.c
> +++ b/hw/block/vhost-user-blk.c
> @@ -28,6 +28,7 @@
> #include "hw/virtio/virtio.h"
> #include "hw/virtio/virtio-bus.h"
> #include "hw/virtio/virtio-access.h"
> +#include "sysemu/sysemu.h"
>
> static const int user_feature_bits[] = {
> VIRTIO_BLK_F_SIZE_MAX,
> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> index 8cc2a232e0..78ac371eba 100644
> --- a/hw/block/virtio-blk.c
> +++ b/hw/block/virtio-blk.c
> @@ -20,6 +20,7 @@
> #include "hw/block/block.h"
> #include "hw/qdev-properties.h"
> #include "sysemu/blockdev.h"
> +#include "sysemu/sysemu.h"
> #include "hw/virtio/virtio-blk.h"
> #include "dataplane/virtio-blk.h"
> #include "scsi/constants.h"
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 6de9689a30..28e868c021 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -17,6 +17,7 @@
> #include "ui/console.h"
> #include "trace.h"
> #include "sysemu/dma.h"
> +#include "sysemu/sysemu.h"
> #include "hw/virtio/virtio.h"
> #include "migration/qemu-file-types.h"
> #include "hw/virtio/virtio-gpu.h"
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index b59df4e3b8..50f20d8206 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -35,6 +35,7 @@
> #include "hw/char/escc.h"
> #include "hw/misc/macio/macio.h"
> #include "hw/intc/heathrow_pic.h"
> +#include "sysemu/sysemu.h"
> #include "trace.h"
>
> /* Note: this code is strongly inspirated from the corresponding code
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4113729fcf..9f11422337 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -31,6 +31,7 @@
> #include "hw/virtio/virtio-access.h"
> #include "migration/misc.h"
> #include "standard-headers/linux/ethtool.h"
> +#include "sysemu/sysemu.h"
> #include "trace.h"
>
> #define VIRTIO_NET_VM_VERSION 11
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 22c6878b84..0c5a5b60bd 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -19,6 +19,7 @@
> #include "hw/s390x/css.h"
> #include "hw/s390x/css-bridge.h"
> #include "hw/s390x/s390-ccw.h"
> +#include "sysemu/sysemu.h"
>
> IOInstEnding s390_ccw_cmd_request(SubchDev *sch)
> {
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index a543b64e56..434d933ec9 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -40,6 +40,7 @@
> #include "hw/nmi.h"
> #include "hw/qdev-properties.h"
> #include "hw/s390x/tod.h"
> +#include "sysemu/sysemu.h"
>
> S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
> {
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index db785e6001..cb8e8d1f36 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -10,6 +10,7 @@
> #include "scsi/constants.h"
> #include "sysemu/block-backend.h"
> #include "sysemu/blockdev.h"
> +#include "sysemu/sysemu.h"
> #include "trace.h"
> #include "sysemu/dma.h"
> #include "qemu/cutils.h"
> diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
> index cd5cf1679d..c693fc748a 100644
> --- a/hw/scsi/vhost-scsi.c
> +++ b/hw/scsi/vhost-scsi.c
> @@ -30,6 +30,7 @@
> #include "hw/fw-path-provider.h"
> #include "hw/qdev-properties.h"
> #include "qemu/cutils.h"
> +#include "sysemu/sysemu.h"
>
> /* Features supported by host kernel. */
> static const int kernel_feature_bits[] = {
> diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c
> index a5be128b54..31c9d34637 100644
> --- a/hw/scsi/vhost-user-scsi.c
> +++ b/hw/scsi/vhost-user-scsi.c
> @@ -28,6 +28,7 @@
> #include "hw/virtio/virtio.h"
> #include "hw/virtio/virtio-access.h"
> #include "chardev/char-fe.h"
> +#include "sysemu/sysemu.h"
>
> /* Features supported by the host application */
> static const int user_feature_bits[] = {
> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
> index d7d1ecd45d..e76c939751 100644
> --- a/hw/usb/hcd-ehci.c
> +++ b/hw/usb/hcd-ehci.c
> @@ -35,6 +35,7 @@
> #include "trace.h"
> #include "qemu/error-report.h"
> #include "qemu/main-loop.h"
> +#include "sysemu/sysemu.h"
>
> #define FRAME_TIMER_FREQ 1000
> #define FRAME_TIMER_NS (NANOSECONDS_PER_SECOND / FRAME_TIMER_FREQ)
> diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
> index 34b4619fd3..c9c2414b7b 100644
> --- a/hw/virtio/virtio-rng.c
> +++ b/hw/virtio/virtio-rng.c
> @@ -17,6 +17,7 @@
> #include "hw/qdev-properties.h"
> #include "hw/virtio/virtio-rng.h"
> #include "sysemu/rng.h"
> +#include "sysemu/sysemu.h"
> #include "qom/object_interfaces.h"
> #include "trace.h"
>
> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> index 721dcccc96..0ce142bc04 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -26,6 +26,7 @@
> #include "hw/qdev-properties.h"
> #include "hw/virtio/virtio-access.h"
> #include "sysemu/dma.h"
> +#include "sysemu/sysemu.h"
>
> /*
> * The alignment to use between consumer and producer parts of vring.
> diff --git a/vl.c b/vl.c
> index 08ef28f100..9dbbce4ce3 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1362,14 +1362,14 @@ static int machine_help_func(QemuOpts *opts,
> MachineState *machine)
> return 1;
> }
>
> -struct vm_change_state_entry {
> +struct VMChangeStateEntry {
> VMChangeStateHandler *cb;
> void *opaque;
> - QTAILQ_ENTRY(vm_change_state_entry) entries;
> + QTAILQ_ENTRY(VMChangeStateEntry) entries;
> int priority;
> };
>
> -static QTAILQ_HEAD(, vm_change_state_entry) vm_change_state_head;
> +static QTAILQ_HEAD(, VMChangeStateEntry) vm_change_state_head;
>
> /**
> * qemu_add_vm_change_state_handler_prio:
--
Alex Bennée
- [Qemu-devel] [PATCH v4 14/29] migration: Move the VMStateDescription typedef to typedefs.h, (continued)
- [Qemu-devel] [PATCH v4 14/29] migration: Move the VMStateDescription typedef to typedefs.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 10/29] ide: Include hw/ide/internal a bit less outside hw/ide/, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 09/29] Include migration/qemu-file-types.h a lot less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 17/29] Include qom/object.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 23/29] numa: Don't include hw/boards.h into sysemu/numa.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 24/29] Include sysemu/hostmem.h less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 19/29] Include qemu/queue.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h, Markus Armbruster, 2019/08/12
- Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h,
Alex Bennée <=
- Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h, Philippe Mathieu-Daudé, 2019/08/12
- [Qemu-devel] [PATCH v4 07/29] trace: Do not include qom/cpu.h into generated trace.h, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 16/29] Include exec/memory.h slightly less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 22/29] Include hw/boards.h a bit less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 08/29] Include sysemu/reset.h a lot less, Markus Armbruster, 2019/08/12
- [Qemu-devel] [PATCH v4 27/29] Include sysemu/sysemu.h a lot less, Markus Armbruster, 2019/08/12