All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
@ 2018-01-30 10:21 Markus Armbruster
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
                   ` (21 more replies)
  0 siblings, 22 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

We have awfully many "touch it, recompile the world" headers.  Right
now, I count about fifty that are prerequisites of more than half the
objects in my "build everything" tree.

Some of them are that way by necessity.  Many of them are not.  This
series takes care of six I happen to touch, because serve as their
maintainer:

    include/qapi/qmp/qdict.h
    include/qapi/qmp/qlist.h
    include/qapi/qmp/qnull.h
    include/qapi/qmp/qnum.h
    include/qapi/qmp/qobject.h
    include/qemu/option.h

Before this series, touching any of these recompiles more than 95% of
my objects.  That's more than 4500 compiler runs.  After this series,
only 0.3% - 8% of my objects get recompiled.

Markus Armbruster (18):
  Clean up includes
  Drop superfluous includes of qapi-types.h
  Include qapi/error.h exactly where needed
  Drop superfluous includes of qapi/qmp/qerror.h
  Include qmp-commands.h exactly where needed
  Typedef the subtypes of QObject in qemu/typedefs.h, too
  Eliminate qapi/qmp/types.h
  qdict qlist: Make most helper macros functions
  Include qapi/qmp/qobject.h exactly where needed
  Include qapi/qmp/qlist.h exactly where needed
  Include qapi/qmp/qdict.h exactly where needed
  Include qapi/qmp/qstring.h exactly where needed
  Include qapi/qmp/qbool.h exactly where needed
  Include qapi/qmp/qnum.h exactly where needed
  Include qapi/qmp/qnull.h exactly where needed
  Drop superfluous includes of qapi/qmp/dispatch.h
  Drop superfluous includes of qapi/qmp/qjson.h
  Move include qemu/option.h from qemu-common.h to actual users

 accel/accel.c                                      |  2 +-
 arch_init.c                                        |  1 +
 audio/wavcapture.c                                 |  1 +
 backends/cryptodev.c                               |  1 -
 backends/hostmem.c                                 |  1 -
 backends/tpm.c                                     |  1 -
 balloon.c                                          |  2 +-
 block.c                                            |  6 ++++--
 block/blkdebug.c                                   |  2 +-
 block/blkverify.c                                  |  1 +
 block/block-backend.c                              |  2 ++
 block/crypto.c                                     |  2 ++
 block/curl.c                                       |  5 +++--
 block/file-posix.c                                 |  2 ++
 block/file-win32.c                                 |  3 +++
 block/gluster.c                                    |  3 +++
 block/iscsi-opts.c                                 |  1 +
 block/iscsi.c                                      |  3 ++-
 block/nbd.c                                        |  2 +-
 block/nfs.c                                        |  2 +-
 block/null.c                                       |  1 +
 block/parallels.c                                  |  3 ++-
 block/parallels.h                                  |  1 -
 block/qapi.c                                       |  6 +++++-
 block/qcow.c                                       |  5 +++--
 block/qcow2-cluster.c                              |  1 -
 block/qcow2.c                                      |  6 ++++--
 block/qed.c                                        |  2 +-
 block/quorum.c                                     |  4 ++--
 block/rbd.c                                        |  3 +++
 block/replication.c                                |  2 +-
 block/sheepdog.c                                   |  1 +
 block/snapshot.c                                   |  2 ++
 block/ssh.c                                        |  2 ++
 block/throttle.c                                   |  1 +
 block/vdi.c                                        |  1 +
 block/vhdx.c                                       |  2 +-
 block/vmdk.c                                       |  1 +
 block/vpc.c                                        |  3 ++-
 block/vvfat.c                                      |  4 +++-
 block/write-threshold.c                            |  1 +
 blockdev-nbd.c                                     |  2 +-
 blockdev.c                                         |  5 ++++-
 blockjob.c                                         |  3 +--
 chardev/char-file.c                                |  3 ++-
 chardev/char-mux.c                                 |  3 ++-
 chardev/char-parallel.c                            |  2 ++
 chardev/char-pipe.c                                |  2 ++
 chardev/char-ringbuf.c                             |  3 +++
 chardev/char-serial.c                              |  2 ++
 chardev/char-socket.c                              |  2 ++
 chardev/char-stdio.c                               |  3 ++-
 chardev/char-udp.c                                 |  2 ++
 chardev/char.c                                     |  3 +++
 chardev/spice.c                                    |  2 ++
 contrib/ivshmem-server/main.c                      |  2 +-
 cpus.c                                             |  4 +++-
 crypto/hash.c                                      |  1 -
 crypto/hmac.c                                      |  1 -
 crypto/ivgen-essiv.c                               |  1 -
 crypto/ivgen-plain.c                               |  1 -
 crypto/ivgen-plain64.c                             |  1 -
 crypto/random-gnutls.c                             |  1 +
 crypto/random-platform.c                           |  1 +
 device-hotplug.c                                   |  2 ++
 device_tree.c                                      |  2 +-
 docs/devel/qapi-code-gen.txt                       |  2 --
 dump.c                                             |  1 +
 fsdev/qemu-fsdev-throttle.c                        |  1 +
 fsdev/qemu-fsdev-throttle.h                        |  1 -
 fsdev/qemu-fsdev.c                                 |  4 +++-
 fsdev/qemu-fsdev.h                                 |  1 -
 hmp.c                                              |  1 +
 hmp.h                                              |  2 --
 hw/9pfs/9p-handle.c                                |  1 +
 hw/9pfs/9p-local.c                                 |  2 ++
 hw/9pfs/9p-proxy.c                                 |  3 +++
 hw/9pfs/xen-9p-backend.c                           |  1 +
 hw/acpi/acpi-stub.c                                |  2 +-
 hw/acpi/core.c                                     |  3 +++
 hw/acpi/memory_hotplug.c                           |  1 +
 hw/acpi/vmgenid.c                                  |  1 +
 hw/adc/stm32f2xx_adc.c                             |  1 -
 hw/arm/boot.c                                      |  1 +
 hw/block/vhost-user-blk.c                          |  1 -
 hw/char/mcf_uart.c                                 |  1 -
 hw/char/virtio-console.c                           |  1 +
 hw/core/qdev.c                                     |  3 ++-
 hw/display/milkymist-tmu2.c                        |  1 +
 hw/display/qxl.c                                   |  1 +
 hw/display/virtio-gpu-3d.c                         |  1 -
 hw/display/xlnx_dp.c                               |  1 +
 hw/i2c/ppc4xx_i2c.c                                |  1 -
 hw/i386/acpi-build.c                               |  1 +
 hw/i386/multiboot.c                                |  2 +-
 hw/i386/pc.c                                       |  3 +++
 hw/i386/pc_piix.c                                  |  1 +
 hw/i386/pc_q35.c                                   |  2 ++
 hw/i386/pc_sysfw.c                                 |  1 +
 hw/i386/xen/xen-hvm.c                              |  2 +-
 hw/ide/core.c                                      |  2 ++
 hw/ide/sii3112.c                                   |  1 +
 hw/intc/xics_pnv.c                                 |  1 -
 hw/intc/xics_spapr.c                               |  1 -
 hw/ipmi/ipmi.c                                     |  1 +
 hw/mips/mips_jazz.c                                |  1 +
 hw/mips/mips_malta.c                               |  1 +
 hw/misc/exynos4210_rng.c                           |  1 +
 hw/misc/mips_cmgcr.c                               |  1 -
 hw/misc/mps2-scc.c                                 |  1 -
 hw/net/rocker/qmp-norocker.c                       |  1 +
 hw/net/rocker/rocker.c                             |  1 +
 hw/net/rocker/rocker_of_dpa.c                      |  1 +
 hw/net/virtio-net.c                                |  2 +-
 hw/nios2/cpu_pic.c                                 |  1 -
 hw/nvram/eeprom_at24c.c                            |  3 +--
 hw/nvram/fw_cfg.c                                  |  2 ++
 hw/pci-bridge/i82801b11.c                          |  1 -
 hw/pci-bridge/ioh3420.c                            |  1 -
 hw/pci-bridge/xio3130_upstream.c                   |  1 -
 hw/pci-host/sabre.c                                |  1 -
 hw/pci/pci-stub.c                                  |  1 +
 hw/pci/pci.c                                       |  2 ++
 hw/pci/pcie_aer.c                                  |  3 +--
 hw/ppc/e500.c                                      |  2 +-
 hw/ppc/fdt.c                                       |  1 -
 hw/ppc/pnv_bmc.c                                   |  1 -
 hw/ppc/pnv_xscom.c                                 |  1 -
 hw/ppc/ppc.c                                       |  1 -
 hw/ppc/spapr.c                                     |  1 -
 hw/ppc/spapr_drc.c                                 |  1 +
 hw/ppc/spapr_pci_vfio.c                            |  1 -
 hw/ppc/spapr_rtas.c                                |  1 +
 hw/ppc/spapr_rtc.c                                 |  2 ++
 hw/ppc/virtex_ml507.c                              |  1 +
 hw/s390x/s390-skeys.c                              |  1 +
 hw/s390x/s390-stattrib.c                           |  2 +-
 hw/s390x/s390-virtio-ccw.c                         |  3 +--
 hw/scsi/esp.c                                      |  1 -
 hw/scsi/scsi-bus.c                                 |  1 +
 hw/scsi/vhost-scsi-common.c                        |  1 -
 hw/sd/sdhci.c                                      |  1 -
 hw/smbios/smbios-stub.c                            |  2 +-
 hw/smbios/smbios.c                                 |  1 +
 hw/sparc64/niagara.c                               |  1 -
 hw/sparc64/sun4u_iommu.c                           |  1 -
 hw/ssi/stm32f2xx_spi.c                             |  1 -
 hw/timer/m48t59.c                                  |  1 -
 hw/timer/mc146818rtc.c                             |  2 ++
 hw/tpm/tpm_emulator.c                              |  4 ----
 hw/tpm/tpm_int.h                                   |  2 --
 hw/tpm/tpm_ioctl.h                                 |  2 --
 hw/usb/ccid-card-passthru.c                        |  1 -
 hw/usb/xen-usb.c                                   |  4 ++--
 hw/vfio/pci.c                                      |  1 +
 hw/virtio/virtio-balloon.c                         |  1 +
 hw/watchdog/watchdog.c                             |  2 +-
 hw/xen/xen-common.c                                |  1 -
 hw/xen/xen_devconfig.c                             |  1 +
 hw/xtensa/xtensa_memory.h                          |  1 -
 hw/xtensa/xtfpga.c                                 |  2 +-
 include/block/block.h                              |  4 +---
 include/block/block_int.h                          |  2 --
 include/block/dirty-bitmap.h                       |  1 +
 include/block/nbd.h                                |  2 --
 include/block/qapi.h                               |  1 -
 include/block/snapshot.h                           |  2 --
 include/chardev/char.h                             |  2 --
 include/crypto/random.h                            |  1 -
 include/crypto/xts.h                               |  1 -
 include/exec/tb-lookup.h                           |  2 --
 include/hw/acpi/acpi.h                             |  1 -
 include/hw/acpi/acpi_dev_interface.h               |  1 -
 include/hw/block/block.h                           |  1 +
 include/hw/block/fdc.h                             |  1 +
 include/hw/ide/internal.h                          |  1 -
 include/hw/intc/xlnx-pmu-iomod-intc.h              |  1 -
 include/hw/intc/xlnx-zynqmp-ipi.h                  |  1 -
 include/hw/loader.h                                |  1 -
 include/hw/nvram/fw_cfg.h                          |  1 -
 include/hw/pci-bridge/simba.h                      |  1 -
 include/hw/qdev-core.h                             |  1 -
 include/hw/smbios/smbios.h                         |  1 -
 include/hw/xtensa/xtensa-isa.h                     |  2 --
 include/migration/colo.h                           |  1 +
 include/monitor/monitor.h                          |  1 -
 include/net/net.h                                  |  5 +----
 include/net/slirp.h                                |  4 ----
 include/net/tap.h                                  |  1 -
 include/qapi/clone-visitor.h                       |  1 -
 include/qapi/opts-visitor.h                        |  1 -
 include/qapi/qmp-event.h                           |  1 -
 include/qapi/qmp/dispatch.h                        |  3 +--
 include/qapi/qmp/json-parser.h                     |  1 -
 include/qapi/qmp/qbool.h                           |  4 ++--
 include/qapi/qmp/qdict.h                           | 21 ++++++------------
 include/qapi/qmp/qjson.h                           |  3 ---
 include/qapi/qmp/qlist.h                           | 19 ++++++----------
 include/qapi/qmp/qlit.h                            |  1 -
 include/qapi/qmp/qnum.h                            |  4 ++--
 include/qapi/qmp/qstring.h                         |  4 ++--
 include/qapi/qmp/types.h                           | 24 ---------------------
 include/qapi/qobject-input-visitor.h               |  1 -
 include/qapi/qobject-output-visitor.h              |  1 -
 include/qapi/visitor.h                             |  2 +-
 include/qemu-common.h                              |  2 --
 include/qemu/config-file.h                         |  2 --
 include/qemu/option.h                              |  1 -
 include/qemu/throttle.h                            |  1 +
 include/qemu/typedefs.h                            |  7 +++++-
 include/qom/object_interfaces.h                    |  1 -
 include/scsi/pr-manager.h                          |  1 -
 include/sysemu/arch_init.h                         |  3 +--
 include/sysemu/dump.h                              |  1 -
 include/sysemu/hostmem.h                           |  1 -
 include/sysemu/hvf.h                               |  2 --
 include/sysemu/numa.h                              |  1 -
 include/sysemu/replay.h                            |  1 -
 include/sysemu/sysemu.h                            |  2 --
 include/sysemu/tpm.h                               |  1 -
 include/sysemu/tpm_backend.h                       |  1 -
 include/ui/console.h                               |  4 ----
 include/ui/qemu-spice.h                            |  1 -
 io/channel-websock.c                               |  3 ---
 iothread.c                                         |  1 +
 linux-user/syscall.c                               |  1 -
 migration/colo-failover.c                          |  1 +
 migration/colo.c                                   |  1 +
 migration/exec.c                                   |  1 -
 migration/fd.c                                     |  1 -
 migration/migration.c                              |  2 ++
 migration/migration.h                              |  1 -
 migration/ram.c                                    |  2 ++
 migration/ram.h                                    |  1 +
 migration/savevm.c                                 |  1 +
 monitor.c                                          |  8 ++++---
 nbd/common.c                                       |  1 -
 net/clients.h                                      |  1 -
 net/colo-compare.c                                 |  1 -
 net/filter-mirror.c                                |  1 -
 net/filter-replay.c                                |  1 -
 net/filter-rewriter.c                              |  2 --
 net/net.c                                          |  4 +++-
 net/slirp.c                                        |  2 ++
 net/vde.c                                          |  1 +
 net/vhost-user.c                                   |  2 ++
 numa.c                                             |  1 +
 qapi/qapi-dealloc-visitor.c                        |  2 +-
 qapi/qapi-visit-core.c                             |  1 -
 qapi/qmp-dispatch.c                                |  4 +---
 qapi/qmp-event.c                                   |  1 +
 qapi/qobject-input-visitor.c                       |  7 +++++-
 qapi/qobject-output-visitor.c                      |  7 +++++-
 qdev-monitor.c                                     |  2 ++
 qemu-img.c                                         |  5 +++--
 qemu-io-cmds.c                                     |  1 +
 qemu-io.c                                          |  3 ++-
 qemu-keymap.c                                      |  1 -
 qemu-nbd.c                                         |  3 ++-
 qga/commands-posix.c                               |  1 +
 qga/commands-win32.c                               |  2 ++
 qga/commands.c                                     |  1 +
 qga/guest-agent-core.h                             |  2 +-
 qga/main.c                                         |  5 ++++-
 qga/vss-win32.c                                    |  1 +
 qmp.c                                              |  3 ++-
 qobject/json-parser.c                              |  7 +++++-
 qobject/qbool.c                                    |  1 -
 qobject/qdict.c                                    | 23 +++++++++++++++++++-
 qobject/qjson.c                                    |  6 +++++-
 qobject/qlist.c                                    | 25 +++++++++++++++++++++-
 qobject/qlit.c                                     |  6 +++++-
 qobject/qnum.c                                     |  2 --
 qobject/qobject.c                                  |  7 +++++-
 qobject/qstring.c                                  |  1 -
 qom/object.c                                       |  2 +-
 qom/object_interfaces.c                            |  2 ++
 replay/replay-input.c                              |  1 -
 replay/replay.c                                    |  2 +-
 scripts/qapi-commands.py                           |  4 ++--
 scripts/qapi-event.py                              |  2 +-
 scsi/pr-helper.h                                   |  2 --
 stubs/arch-query-cpu-def.c                         |  1 +
 stubs/arch-query-cpu-model-baseline.c              |  1 +
 stubs/arch-query-cpu-model-comparison.c            |  1 +
 stubs/arch-query-cpu-model-expansion.c             |  1 +
 stubs/dump.c                                       |  1 -
 stubs/vmgenid.c                                    |  1 +
 target/i386/cpu.c                                  |  5 +++--
 target/i386/hvf/vmx.h                              |  1 -
 target/i386/hvf/x86hvf.c                           |  3 ---
 target/i386/monitor.c                              |  2 ++
 target/i386/xsave_helper.c                         |  1 -
 target/nios2/helper.c                              |  1 -
 target/ppc/mmu-book3s-v3.c                         |  1 -
 target/ppc/mmu-hash64.c                            |  1 -
 target/ppc/mmu-radix64.c                           |  1 -
 target/ppc/mmu_helper.c                            |  1 -
 target/ppc/translate_init.c                        |  2 ++
 target/s390x/cpu_models.c                          |  2 +-
 target/s390x/excp_helper.c                         |  1 -
 target/s390x/helper.c                              |  1 -
 target/s390x/kvm.c                                 |  1 -
 target/xtensa/core-dc232b/xtensa-modules.c         |  1 +
 target/xtensa/core-dc233c/xtensa-modules.c         |  1 +
 target/xtensa/core-de212/xtensa-modules.c          |  1 +
 target/xtensa/core-fsf/xtensa-modules.c            |  1 +
 .../xtensa/core-sample_controller/xtensa-modules.c |  1 +
 target/xtensa/xtensa-isa.c                         |  4 +---
 tests/ahci-test.c                                  |  1 +
 tests/check-qdict.c                                |  3 +++
 tests/check-qjson.c                                |  5 ++++-
 tests/check-qlist.c                                |  1 -
 tests/check-qlit.c                                 |  3 +--
 tests/check-qnum.c                                 |  1 -
 tests/check-qobject.c                              |  8 ++++++-
 tests/cpu-plug-test.c                              |  2 +-
 tests/device-introspect-test.c                     |  2 +-
 tests/drive_del-test.c                             |  1 +
 tests/io-channel-helpers.c                         |  1 -
 tests/libqos/libqos.c                              |  1 +
 tests/libqos/pci-pc.c                              |  2 +-
 tests/libqtest.c                                   |  4 ++++
 tests/libqtest.h                                   |  2 --
 tests/migration-test.c                             |  1 +
 tests/migration/stress.c                           | 10 +--------
 tests/numa-test.c                                  |  2 ++
 tests/ptimer-test.c                                |  4 ++--
 tests/pvpanic-test.c                               |  1 +
 tests/q35-test.c                                   |  1 +
 tests/qmp-test.c                                   |  2 ++
 tests/qom-test.c                                   |  3 ++-
 tests/tco-test.c                                   |  2 ++
 tests/test-aio-multithread.c                       |  1 -
 tests/test-char.c                                  |  2 +-
 tests/test-clone-visitor.c                         |  2 --
 tests/test-keyval.c                                |  2 ++
 tests/test-netfilter.c                             |  1 +
 tests/test-qapi-util.c                             |  1 -
 tests/test-qemu-opts.c                             |  2 ++
 tests/test-qga.c                                   |  2 ++
 tests/test-qmp-commands.c                          |  6 ++++--
 tests/test-qmp-event.c                             |  8 ++++---
 tests/test-qobject-input-visitor.c                 |  7 ++++--
 tests/test-qobject-output-visitor.c                |  9 +++++---
 tests/test-replication.c                           |  2 ++
 tests/test-string-input-visitor.c                  |  2 --
 tests/test-string-output-visitor.c                 |  2 --
 tests/test-visitor-serialization.c                 |  4 +---
 tests/test-x86-cpuid-compat.c                      |  2 +-
 tests/tmp105-test.c                                |  1 +
 tests/vhost-user-test.c                            |  1 +
 tests/virtio-net-test.c                            |  1 +
 tests/vmgenid-test.c                               |  1 +
 tests/wdt_ib700-test.c                             |  1 +
 tpm.c                                              |  2 ++
 trace/control-internal.h                           |  2 --
 trace/control.c                                    |  1 +
 trace/qmp.c                                        |  1 +
 ui/cocoa.m                                         |  1 -
 ui/console.c                                       |  4 +++-
 ui/gtk.c                                           |  1 +
 ui/input-legacy.c                                  |  1 -
 ui/input.c                                         |  2 +-
 ui/spice-core.c                                    |  6 ++----
 ui/spice-display.c                                 |  2 +-
 ui/vnc-palette.h                                   |  1 -
 ui/vnc.c                                           |  4 ++--
 ui/vnc.h                                           |  1 -
 util/keyval.c                                      |  2 ++
 util/qemu-config.c                                 |  2 ++
 util/qemu-option.c                                 |  5 ++++-
 vl.c                                               |  3 ++-
 373 files changed, 469 insertions(+), 375 deletions(-)
 delete mode 100644 include/qapi/qmp/types.h

-- 
2.13.6

^ permalink raw reply	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 01/18] Clean up includes
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 13:22   ` BALATON Zoltan
  2018-01-30 15:23   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h Markus Armbruster
                   ` (20 subsequent siblings)
  21 siblings, 2 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Clean up includes so that osdep.h is included first and headers
which it implies are not included manually.

This commit was created with scripts/clean-includes, with the change
to target/s390x/gen-features.c manually reverted, and blank lines
around deletions collapsed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/parallels.h                                     |  1 -
 hw/block/vhost-user-blk.c                             |  1 -
 hw/ide/sii3112.c                                      |  1 +
 hw/nvram/eeprom_at24c.c                               |  3 +--
 hw/tpm/tpm_emulator.c                                 |  4 ----
 hw/tpm/tpm_int.h                                      |  2 --
 hw/tpm/tpm_ioctl.h                                    |  2 --
 hw/xtensa/xtensa_memory.h                             |  1 -
 include/exec/tb-lookup.h                              |  2 --
 include/hw/intc/xlnx-pmu-iomod-intc.h                 |  1 -
 include/hw/intc/xlnx-zynqmp-ipi.h                     |  1 -
 include/hw/nvram/fw_cfg.h                             |  1 -
 include/hw/pci-bridge/simba.h                         |  1 -
 include/hw/xtensa/xtensa-isa.h                        |  2 --
 include/qapi/clone-visitor.h                          |  1 -
 include/sysemu/hvf.h                                  |  2 --
 include/ui/console.h                                  |  1 -
 io/channel-websock.c                                  |  3 ---
 linux-user/syscall.c                                  |  1 -
 scsi/pr-helper.h                                      |  2 --
 target/i386/hvf/vmx.h                                 |  1 -
 target/i386/hvf/x86hvf.c                              |  3 ---
 target/xtensa/core-dc232b/xtensa-modules.c            |  1 +
 target/xtensa/core-dc233c/xtensa-modules.c            |  1 +
 target/xtensa/core-de212/xtensa-modules.c             |  1 +
 target/xtensa/core-fsf/xtensa-modules.c               |  1 +
 target/xtensa/core-sample_controller/xtensa-modules.c |  1 +
 target/xtensa/xtensa-isa.c                            |  4 +---
 tests/migration/stress.c                              | 10 +---------
 tests/ptimer-test.c                                   |  4 ++--
 trace/control-internal.h                              |  2 --
 31 files changed, 11 insertions(+), 51 deletions(-)

diff --git a/block/parallels.h b/block/parallels.h
index 4b044079ef..5aa101cfc8 100644
--- a/block/parallels.h
+++ b/block/parallels.h
@@ -32,7 +32,6 @@
 #ifndef BLOCK_PARALLELS_H
 #define BLOCK_PARALLELS_H
 #include "qemu/coroutine.h"
-#include "qemu/typedefs.h"
 
 #define HEADS_NUMBER 16
 #define SEC_IN_CYL 32
diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
index b53b4c9c57..f840f07dfe 100644
--- a/hw/block/vhost-user-blk.c
+++ b/hw/block/vhost-user-blk.c
@@ -19,7 +19,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
-#include "qemu/typedefs.h"
 #include "qemu/cutils.h"
 #include "qom/object.h"
 #include "hw/qdev-core.h"
diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c
index 17aa930e39..a5d1776756 100644
--- a/hw/ide/sii3112.c
+++ b/hw/ide/sii3112.c
@@ -12,6 +12,7 @@
  * http://wiki.osdev.org/User:Quok/Silicon_Image_Datasheets
  */
 
+#include "qemu/osdep.h"
 #include <qemu/osdep.h>
 #include <hw/ide/pci.h>
 #include "trace.h"
diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c
index efa3621ac6..22183f5360 100644
--- a/hw/nvram/eeprom_at24c.c
+++ b/hw/nvram/eeprom_at24c.c
@@ -7,9 +7,8 @@
  * the LICENSE file in the top-level directory.
  */
 
-#include <string.h>
-
 #include "qemu/osdep.h"
+
 #include "qapi/error.h"
 #include "hw/hw.h"
 #include "hw/i2c/i2c.h"
diff --git a/hw/tpm/tpm_emulator.c b/hw/tpm/tpm_emulator.c
index 35c78de5a9..7be79e7296 100644
--- a/hw/tpm/tpm_emulator.c
+++ b/hw/tpm/tpm_emulator.c
@@ -40,10 +40,6 @@
 #include "qapi/clone-visitor.h"
 #include "chardev/char-fe.h"
 
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
 
 #define DEBUG_TPM 0
 
diff --git a/hw/tpm/tpm_int.h b/hw/tpm/tpm_int.h
index abbca5191a..a4c77fbd7e 100644
--- a/hw/tpm/tpm_int.h
+++ b/hw/tpm/tpm_int.h
@@ -12,8 +12,6 @@
 #ifndef TPM_TPM_INT_H
 #define TPM_TPM_INT_H
 
-#include "qemu/osdep.h"
-
 #define TPM_STANDARD_CMDLINE_OPTS \
     { \
         .name = "type", \
diff --git a/hw/tpm/tpm_ioctl.h b/hw/tpm/tpm_ioctl.h
index 54c8d345ad..59a0b0595d 100644
--- a/hw/tpm/tpm_ioctl.h
+++ b/hw/tpm/tpm_ioctl.h
@@ -8,9 +8,7 @@
 #ifndef _TPM_IOCTL_H_
 #define _TPM_IOCTL_H_
 
-#include <stdint.h>
 #include <sys/uio.h>
-#include <sys/types.h>
 #include <sys/ioctl.h>
 
 /*
diff --git a/hw/xtensa/xtensa_memory.h b/hw/xtensa/xtensa_memory.h
index cab4d172d4..e9aa08749d 100644
--- a/hw/xtensa/xtensa_memory.h
+++ b/hw/xtensa/xtensa_memory.h
@@ -28,7 +28,6 @@
 #ifndef _XTENSA_MEMORY_H
 #define _XTENSA_MEMORY_H
 
-#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "cpu.h"
 #include "exec/memory.h"
diff --git a/include/exec/tb-lookup.h b/include/exec/tb-lookup.h
index 296138591a..492cb68289 100644
--- a/include/exec/tb-lookup.h
+++ b/include/exec/tb-lookup.h
@@ -7,8 +7,6 @@
 #ifndef EXEC_TB_LOOKUP_H
 #define EXEC_TB_LOOKUP_H
 
-#include "qemu/osdep.h"
-
 #ifdef NEED_CPU_H
 #include "cpu.h"
 #else
diff --git a/include/hw/intc/xlnx-pmu-iomod-intc.h b/include/hw/intc/xlnx-pmu-iomod-intc.h
index 1fdba73b9f..01c9d040b8 100644
--- a/include/hw/intc/xlnx-pmu-iomod-intc.h
+++ b/include/hw/intc/xlnx-pmu-iomod-intc.h
@@ -25,7 +25,6 @@
 #ifndef XLNX_PMU_IO_INTC_H
 #define XLNX_PMU_IO_INTC_H
 
-#include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "hw/register.h"
 
diff --git a/include/hw/intc/xlnx-zynqmp-ipi.h b/include/hw/intc/xlnx-zynqmp-ipi.h
index 4afa4ff313..866c719c6f 100644
--- a/include/hw/intc/xlnx-zynqmp-ipi.h
+++ b/include/hw/intc/xlnx-zynqmp-ipi.h
@@ -25,7 +25,6 @@
 #ifndef XLNX_ZYNQMP_IPI_H
 #define XLNX_ZYNQMP_IPI_H
 
-#include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "hw/register.h"
 
diff --git a/include/hw/nvram/fw_cfg.h b/include/hw/nvram/fw_cfg.h
index 7ccbae5fba..b2259cc4a3 100644
--- a/include/hw/nvram/fw_cfg.h
+++ b/include/hw/nvram/fw_cfg.h
@@ -1,7 +1,6 @@
 #ifndef FW_CFG_H
 #define FW_CFG_H
 
-#include "qemu/typedefs.h"
 #include "exec/hwaddr.h"
 #include "hw/nvram/fw_cfg_keys.h"
 #include "hw/sysbus.h"
diff --git a/include/hw/pci-bridge/simba.h b/include/hw/pci-bridge/simba.h
index fac56ab1cf..e13ba27d0b 100644
--- a/include/hw/pci-bridge/simba.h
+++ b/include/hw/pci-bridge/simba.h
@@ -24,7 +24,6 @@
  * THE SOFTWARE.
  */
 
-#include "qemu/osdep.h"
 #include "hw/pci/pci_bridge.h"
 
 
diff --git a/include/hw/xtensa/xtensa-isa.h b/include/hw/xtensa/xtensa-isa.h
index 353f82ba25..bd68ada640 100644
--- a/include/hw/xtensa/xtensa-isa.h
+++ b/include/hw/xtensa/xtensa-isa.h
@@ -25,8 +25,6 @@
 #ifndef XTENSA_LIBISA_H
 #define XTENSA_LIBISA_H
 
-#include <stdint.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/include/qapi/clone-visitor.h b/include/qapi/clone-visitor.h
index a4915c7d57..b119d3daa9 100644
--- a/include/qapi/clone-visitor.h
+++ b/include/qapi/clone-visitor.h
@@ -11,7 +11,6 @@
 #ifndef QAPI_CLONE_VISITOR_H
 #define QAPI_CLONE_VISITOR_H
 
-#include "qemu/typedefs.h"
 #include "qapi/visitor.h"
 #include "qapi-visit.h"
 
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
index e4e43f6468..241118845c 100644
--- a/include/sysemu/hvf.h
+++ b/include/sysemu/hvf.h
@@ -12,8 +12,6 @@
 #ifndef _HVF_H
 #define _HVF_H
 
-#include "config-host.h"
-#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/bitops.h"
 #include "exec/memory.h"
diff --git a/include/ui/console.h b/include/ui/console.h
index 7b35778444..b153a584da 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -5,7 +5,6 @@
 #include "qom/object.h"
 #include "qapi/qmp/qdict.h"
 #include "qemu/notify.h"
-#include "qemu/typedefs.h"
 #include "qapi-types.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
diff --git a/io/channel-websock.c b/io/channel-websock.c
index 87ebdebfc0..7fd6bb68ba 100644
--- a/io/channel-websock.c
+++ b/io/channel-websock.c
@@ -26,9 +26,6 @@
 #include "trace.h"
 #include "qemu/iov.h"
 
-#include <time.h>
-
-
 /* Max amount to allow in rawinput/encoutput buffers */
 #define QIO_CHANNEL_WEBSOCK_MAX_BUFFER 8192
 
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 74378947f0..779e590726 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -48,7 +48,6 @@ int __clone2(int (*fn)(void *), void *child_stack_base,
 #include <sys/shm.h>
 #include <sys/sem.h>
 #include <sys/statfs.h>
-#include <time.h>
 #include <utime.h>
 #include <sys/sysinfo.h>
 #include <sys/signalfd.h>
diff --git a/scsi/pr-helper.h b/scsi/pr-helper.h
index 96c50a9e5f..096d1f1df6 100644
--- a/scsi/pr-helper.h
+++ b/scsi/pr-helper.h
@@ -26,8 +26,6 @@
 #ifndef QEMU_PR_HELPER_H
 #define QEMU_PR_HELPER_H 1
 
-#include <stdint.h>
-
 #define PR_HELPER_CDB_SIZE     16
 #define PR_HELPER_SENSE_SIZE   96
 #define PR_HELPER_DATA_SIZE    8192
diff --git a/target/i386/hvf/vmx.h b/target/i386/hvf/vmx.h
index 9dfcd2f2eb..f3e6e86999 100644
--- a/target/i386/hvf/vmx.h
+++ b/target/i386/hvf/vmx.h
@@ -22,7 +22,6 @@
 #ifndef VMX_H
 #define VMX_H
 
-#include <stdint.h>
 #include <Hypervisor/hv.h>
 #include <Hypervisor/hv_vmx.h>
 #include "vmcs.h"
diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c
index 7803e09a28..6c88939b96 100644
--- a/target/i386/hvf/x86hvf.c
+++ b/target/i386/hvf/x86hvf.c
@@ -29,11 +29,8 @@
 
 #include "hw/i386/apic_internal.h"
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <Hypervisor/hv.h>
 #include <Hypervisor/hv_vmx.h>
-#include <stdint.h>
 
 void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
                      SegmentCache *qseg, bool is_tr)
diff --git a/target/xtensa/core-dc232b/xtensa-modules.c b/target/xtensa/core-dc232b/xtensa-modules.c
index 2e103cd2f5..f6f4afb535 100644
--- a/target/xtensa/core-dc232b/xtensa-modules.c
+++ b/target/xtensa/core-dc232b/xtensa-modules.c
@@ -18,6 +18,7 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
    02110-1301, USA.  */
 
+#include "qemu/osdep.h"
 #include <xtensa-isa.h>
 #include "xtensa-isa-internal.h"
 
diff --git a/target/xtensa/core-dc233c/xtensa-modules.c b/target/xtensa/core-dc233c/xtensa-modules.c
index 2728311c9a..5e1f124f9c 100644
--- a/target/xtensa/core-dc233c/xtensa-modules.c
+++ b/target/xtensa/core-dc233c/xtensa-modules.c
@@ -21,6 +21,7 @@
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 
+#include "qemu/osdep.h"
 #include <xtensa-isa.h>
 #include "xtensa-isa-internal.h"
 
diff --git a/target/xtensa/core-de212/xtensa-modules.c b/target/xtensa/core-de212/xtensa-modules.c
index 4a8735889e..4493b9ff1e 100644
--- a/target/xtensa/core-de212/xtensa-modules.c
+++ b/target/xtensa/core-de212/xtensa-modules.c
@@ -21,6 +21,7 @@
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 
+#include "qemu/osdep.h"
 #include <xtensa-isa.h>
 #include "xtensa-isa-internal.h"
 
diff --git a/target/xtensa/core-fsf/xtensa-modules.c b/target/xtensa/core-fsf/xtensa-modules.c
index 238800d823..ee6dfe2ef3 100644
--- a/target/xtensa/core-fsf/xtensa-modules.c
+++ b/target/xtensa/core-fsf/xtensa-modules.c
@@ -18,6 +18,7 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
    02110-1301, USA.  */
 
+#include "qemu/osdep.h"
 #include <xtensa-isa.h>
 #include "xtensa-isa-internal.h"
 
diff --git a/target/xtensa/core-sample_controller/xtensa-modules.c b/target/xtensa/core-sample_controller/xtensa-modules.c
index 2f000199b8..d3377118b2 100644
--- a/target/xtensa/core-sample_controller/xtensa-modules.c
+++ b/target/xtensa/core-sample_controller/xtensa-modules.c
@@ -21,6 +21,7 @@
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 
+#include "qemu/osdep.h"
 #include <xtensa-isa.h>
 #include "xtensa-isa-internal.h"
 
diff --git a/target/xtensa/xtensa-isa.c b/target/xtensa/xtensa-isa.c
index e0076a694f..630b4f9da1 100644
--- a/target/xtensa/xtensa-isa.c
+++ b/target/xtensa/xtensa-isa.c
@@ -22,9 +22,7 @@
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+#include "qemu/osdep.h"
 #include "xtensa-isa.h"
 #include "xtensa-isa-internal.h"
 
diff --git a/tests/migration/stress.c b/tests/migration/stress.c
index cf8ce8b16d..49a03aab7b 100644
--- a/tests/migration/stress.c
+++ b/tests/migration/stress.c
@@ -17,21 +17,13 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <stdio.h>
+#include "qemu/osdep.h"
 #include <getopt.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
 #include <sys/reboot.h>
 #include <sys/syscall.h>
 #include <linux/random.h>
-#include <sys/time.h>
 #include <pthread.h>
-#include <fcntl.h>
 #include <sys/mount.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
 
 const char *argv0;
 
diff --git a/tests/ptimer-test.c b/tests/ptimer-test.c
index 5d1a2a8188..41488896f7 100644
--- a/tests/ptimer-test.c
+++ b/tests/ptimer-test.c
@@ -8,9 +8,9 @@
  *
  */
 
-#include <glib/gprintf.h>
-
 #include "qemu/osdep.h"
+#include <glib/gprintf.h>
+
 #include "qemu/main-loop.h"
 #include "hw/ptimer.h"
 
diff --git a/trace/control-internal.h b/trace/control-internal.h
index a9d395a587..c7fbe2d3bf 100644
--- a/trace/control-internal.h
+++ b/trace/control-internal.h
@@ -10,8 +10,6 @@
 #ifndef TRACE__CONTROL_INTERNAL_H
 #define TRACE__CONTROL_INTERNAL_H
 
-#include <stddef.h>                     /* size_t */
-
 #include "qom/cpu.h"
 
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 15:46   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed Markus Armbruster
                   ` (19 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 backends/cryptodev.c                 | 1 -
 backends/hostmem.c                   | 1 -
 hmp.h                                | 1 -
 include/block/block.h                | 1 -
 include/block/block_int.h            | 1 -
 include/block/qapi.h                 | 1 -
 include/hw/acpi/acpi_dev_interface.h | 1 -
 include/migration/failover.h         | 1 -
 include/net/net.h                    | 1 -
 include/net/slirp.h                  | 1 -
 include/net/tap.h                    | 1 -
 include/qapi/qmp/qlit.h              | 1 -
 include/sysemu/dump.h                | 1 -
 include/sysemu/replay.h              | 1 -
 include/sysemu/sysemu.h              | 1 -
 include/sysemu/tpm.h                 | 1 -
 include/sysemu/tpm_backend.h         | 1 -
 include/ui/console.h                 | 1 -
 migration/migration.h                | 1 -
 net/clients.h                        | 1 -
 net/tap_int.h                        | 1 -
 qapi/qmp-dispatch.c                  | 1 -
 qemu-keymap.c                        | 1 -
 target/i386/cpu.c                    | 1 -
 tests/test-clone-visitor.c           | 1 -
 tests/test-qapi-util.c               | 1 -
 tests/test-qmp-event.c               | 1 -
 tests/test-qobject-input-visitor.c   | 1 -
 tests/test-qobject-output-visitor.c  | 1 -
 tests/test-string-input-visitor.c    | 1 -
 tests/test-string-output-visitor.c   | 1 -
 tests/test-visitor-serialization.c   | 2 --
 ui/input-legacy.c                    | 1 -
 ui/input.c                           | 1 -
 ui/vnc.h                             | 1 -
 35 files changed, 36 deletions(-)

diff --git a/backends/cryptodev.c b/backends/cryptodev.c
index 67edfa5328..d0dff1a463 100644
--- a/backends/cryptodev.c
+++ b/backends/cryptodev.c
@@ -26,7 +26,6 @@
 #include "hw/boards.h"
 #include "qapi/error.h"
 #include "qapi/visitor.h"
-#include "qapi-types.h"
 #include "qapi-visit.h"
 #include "qemu/config-file.h"
 #include "qom/object_interfaces.h"
diff --git a/backends/hostmem.c b/backends/hostmem.c
index ee2c2d5bfd..81d14554a7 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -14,7 +14,6 @@
 #include "hw/boards.h"
 #include "qapi/error.h"
 #include "qapi/visitor.h"
-#include "qapi-types.h"
 #include "qapi-visit.h"
 #include "qemu/config-file.h"
 #include "qom/object_interfaces.h"
diff --git a/hmp.h b/hmp.h
index a6f56b1f29..dbb40ebbfa 100644
--- a/hmp.h
+++ b/hmp.h
@@ -16,7 +16,6 @@
 
 #include "qemu-common.h"
 #include "qemu/readline.h"
-#include "qapi-types.h"
 #include "qapi/qmp/qdict.h"
 
 void hmp_info_name(Monitor *mon, const QDict *qdict);
diff --git a/include/block/block.h b/include/block/block.h
index 9b12774ddf..0608834396 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -9,7 +9,6 @@
 #include "block/dirty-bitmap.h"
 #include "block/blockjob.h"
 #include "qapi/qmp/qobject.h"
-#include "qapi-types.h"
 #include "qemu/hbitmap.h"
 
 /* block.c */
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 29cafa4236..6499f7c16a 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -31,7 +31,6 @@
 #include "qemu/coroutine.h"
 #include "qemu/stats64.h"
 #include "qemu/timer.h"
-#include "qapi-types.h"
 #include "qemu/hbitmap.h"
 #include "block/snapshot.h"
 #include "qemu/main-loop.h"
diff --git a/include/block/qapi.h b/include/block/qapi.h
index 82ba4b63a0..83bdb098bd 100644
--- a/include/block/qapi.h
+++ b/include/block/qapi.h
@@ -25,7 +25,6 @@
 #ifndef BLOCK_QAPI_H
 #define BLOCK_QAPI_H
 
-#include "qapi-types.h"
 #include "block/block.h"
 #include "block/snapshot.h"
 
diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_dev_interface.h
index 3c2e4e95a5..dabf4c4fc9 100644
--- a/include/hw/acpi/acpi_dev_interface.h
+++ b/include/hw/acpi/acpi_dev_interface.h
@@ -2,7 +2,6 @@
 #define ACPI_DEV_INTERFACE_H
 
 #include "qom/object.h"
-#include "qapi-types.h"
 #include "hw/boards.h"
 
 /* These values are part of guest ABI, and can not be changed */
diff --git a/include/migration/failover.h b/include/migration/failover.h
index ad91ef2381..9283d602e6 100644
--- a/include/migration/failover.h
+++ b/include/migration/failover.h
@@ -14,7 +14,6 @@
 #define QEMU_FAILOVER_H
 
 #include "qemu-common.h"
-#include "qapi-types.h"
 
 void failover_init_state(void);
 FailoverStatus failover_set_state(FailoverStatus old_state,
diff --git a/include/net/net.h b/include/net/net.h
index 4afac1a9dd..eefb259e0a 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -7,7 +7,6 @@
 #include "qemu/option.h"
 #include "net/queue.h"
 #include "migration/vmstate.h"
-#include "qapi-types.h"
 
 #define MAC_FMT "%02X:%02X:%02X:%02X:%02X:%02X"
 #define MAC_ARG(x) ((uint8_t *)(x))[0], ((uint8_t *)(x))[1], \
diff --git a/include/net/slirp.h b/include/net/slirp.h
index 0c98e463db..865d2fca36 100644
--- a/include/net/slirp.h
+++ b/include/net/slirp.h
@@ -27,7 +27,6 @@
 #include "qemu-common.h"
 #include "qapi/qmp/qdict.h"
 #include "qemu/option.h"
-#include "qapi-types.h"
 
 #ifdef CONFIG_SLIRP
 
diff --git a/include/net/tap.h b/include/net/tap.h
index 5da4edc692..ce6f8418ac 100644
--- a/include/net/tap.h
+++ b/include/net/tap.h
@@ -27,7 +27,6 @@
 #define QEMU_NET_TAP_H
 
 #include "qemu-common.h"
-#include "qapi-types.h"
 #include "standard-headers/linux/virtio_net.h"
 
 int tap_enable(NetClientState *nc);
diff --git a/include/qapi/qmp/qlit.h b/include/qapi/qmp/qlit.h
index b18406bce9..56f9d97bd9 100644
--- a/include/qapi/qmp/qlit.h
+++ b/include/qapi/qmp/qlit.h
@@ -14,7 +14,6 @@
 #ifndef QLIT_H
 #define QLIT_H
 
-#include "qapi-types.h"
 #include "qobject.h"
 
 typedef struct QLitDictEntry QLitDictEntry;
diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h
index df43bd0e07..c14bcfe8c6 100644
--- a/include/sysemu/dump.h
+++ b/include/sysemu/dump.h
@@ -38,7 +38,6 @@
 
 #include "sysemu/dump-arch.h"
 #include "sysemu/memory_mapping.h"
-#include "qapi-types.h"
 
 typedef struct QEMU_PACKED MakedumpfileHeader {
     char signature[16];     /* = "makedumpfile" */
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index fa14d0ec0b..dc8ae7b6b1 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -12,7 +12,6 @@
  *
  */
 
-#include "qapi-types.h"
 #include "sysemu.h"
 
 /* replay clock kinds */
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 1c925309e3..36fd371c93 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -5,7 +5,6 @@
 #include "qemu/option.h"
 #include "qemu/queue.h"
 #include "qemu/timer.h"
-#include "qapi-types.h"
 #include "qemu/notify.h"
 #include "qemu/main-loop.h"
 #include "qemu/bitmap.h"
diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h
index 852e02687c..00be220248 100644
--- a/include/sysemu/tpm.h
+++ b/include/sysemu/tpm.h
@@ -13,7 +13,6 @@
 #define QEMU_TPM_H
 
 #include "qom/object.h"
-#include "qapi-types.h"
 
 int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
 int tpm_init(void);
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index 0d6c994a62..3c3960fa90 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -15,7 +15,6 @@
 
 #include "qom/object.h"
 #include "qemu-common.h"
-#include "qapi-types.h"
 #include "qemu/option.h"
 #include "sysemu/tpm.h"
 
diff --git a/include/ui/console.h b/include/ui/console.h
index b153a584da..d3312be322 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -5,7 +5,6 @@
 #include "qom/object.h"
 #include "qapi/qmp/qdict.h"
 #include "qemu/notify.h"
-#include "qapi-types.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
 
diff --git a/migration/migration.h b/migration/migration.h
index 786d971ce2..7e3dbed057 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -16,7 +16,6 @@
 
 #include "qemu-common.h"
 #include "qemu/thread.h"
-#include "qapi-types.h"
 #include "exec/cpu-common.h"
 #include "qemu/coroutine_int.h"
 #include "hw/qdev.h"
diff --git a/net/clients.h b/net/clients.h
index 5cae479730..a6ef267e19 100644
--- a/net/clients.h
+++ b/net/clients.h
@@ -25,7 +25,6 @@
 #define QEMU_NET_CLIENTS_H
 
 #include "net/net.h"
-#include "qapi-types.h"
 
 int net_init_dump(const Netdev *netdev, const char *name,
                   NetClientState *peer, Error **errp);
diff --git a/net/tap_int.h b/net/tap_int.h
index ae6888f74a..e3a14d5dda 100644
--- a/net/tap_int.h
+++ b/net/tap_int.h
@@ -27,7 +27,6 @@
 #define NET_TAP_INT_H
 
 #include "qemu-common.h"
-#include "qapi-types.h"
 
 int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
              int vnet_hdr_required, int mq_required, Error **errp);
diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
index b41fa174fe..7d18524f3c 100644
--- a/qapi/qmp-dispatch.c
+++ b/qapi/qmp-dispatch.c
@@ -17,7 +17,6 @@
 #include "qapi/qmp/dispatch.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/qjson.h"
-#include "qapi-types.h"
 #include "qapi/qmp/qerror.h"
 
 static QDict *qmp_dispatch_check_obj(const QObject *request, Error **errp)
diff --git a/qemu-keymap.c b/qemu-keymap.c
index 49e9167b86..6216371aa1 100644
--- a/qemu-keymap.c
+++ b/qemu-keymap.c
@@ -11,7 +11,6 @@
  */
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qapi-types.h"
 #include "qemu/notify.h"
 #include "ui/input.h"
 
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index a49d2221ad..050644f820 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -32,7 +32,6 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/types.h"
 
-#include "qapi-types.h"
 #include "qapi-visit.h"
 #include "qapi/visitor.h"
 #include "qom/qom-qobject.h"
diff --git a/tests/test-clone-visitor.c b/tests/test-clone-visitor.c
index ac6afc562e..6b6d4aaeba 100644
--- a/tests/test-clone-visitor.c
+++ b/tests/test-clone-visitor.c
@@ -11,7 +11,6 @@
 
 #include "qemu-common.h"
 #include "qapi/clone-visitor.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/types.h"
 
diff --git a/tests/test-qapi-util.c b/tests/test-qapi-util.c
index 4b5e4f8bd3..847f305cff 100644
--- a/tests/test-qapi-util.c
+++ b/tests/test-qapi-util.c
@@ -12,7 +12,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "test-qapi-types.h"
 
 static void test_qapi_enum_parse(void)
 {
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index 9fb3c5e81e..46825b4f3f 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -14,7 +14,6 @@
 #include "qemu/osdep.h"
 
 #include "qemu-common.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "test-qapi-event.h"
 #include "qapi/qmp/types.h"
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index fe591814e4..ade6062e2c 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -16,7 +16,6 @@
 #include "qemu-common.h"
 #include "qapi/error.h"
 #include "qapi/qobject-input-visitor.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/types.h"
 #include "qapi/qmp/qjson.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index d375100a52..1cff769b15 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -15,7 +15,6 @@
 #include "qemu-common.h"
 #include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/types.h"
 #include "qapi/qmp/qjson.h"
diff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c
index 4f9c36bef1..4473944f3f 100644
--- a/tests/test-string-input-visitor.c
+++ b/tests/test-string-input-visitor.c
@@ -15,7 +15,6 @@
 #include "qemu-common.h"
 #include "qapi/error.h"
 #include "qapi/string-input-visitor.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/types.h"
 
diff --git a/tests/test-string-output-visitor.c b/tests/test-string-output-visitor.c
index 385cddb5d9..facb76ffc3 100644
--- a/tests/test-string-output-visitor.c
+++ b/tests/test-string-output-visitor.c
@@ -15,7 +15,6 @@
 #include "qemu-common.h"
 #include "qapi/error.h"
 #include "qapi/string-output-visitor.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/types.h"
 
diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c
index 4d47ceec7a..a3407d205d 100644
--- a/tests/test-visitor-serialization.c
+++ b/tests/test-visitor-serialization.c
@@ -15,7 +15,6 @@
 #include <float.h>
 
 #include "qemu-common.h"
-#include "test-qapi-types.h"
 #include "test-qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/qmp/types.h"
@@ -24,7 +23,6 @@
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/string-input-visitor.h"
 #include "qapi/string-output-visitor.h"
-#include "qapi-types.h"
 #include "qapi-visit.h"
 #include "qapi/dealloc-visitor.h"
 
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
index c75aba1549..92b37ccb90 100644
--- a/ui/input-legacy.c
+++ b/ui/input-legacy.c
@@ -26,7 +26,6 @@
 #include "sysemu/sysemu.h"
 #include "ui/console.h"
 #include "qmp-commands.h"
-#include "qapi-types.h"
 #include "ui/keymaps.h"
 #include "ui/input.h"
 
diff --git a/ui/input.c b/ui/input.c
index e5b78aae9e..ab22c8423f 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -1,6 +1,5 @@
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
-#include "qapi-types.h"
 #include "qemu/error-report.h"
 #include "qmp-commands.h"
 #include "trace.h"
diff --git a/ui/vnc.h b/ui/vnc.h
index bbda0540a7..cfc3d0a570 100644
--- a/ui/vnc.h
+++ b/ui/vnc.h
@@ -42,7 +42,6 @@
 #include "keymaps.h"
 #include "vnc-palette.h"
 #include "vnc-enc-zrle.h"
-#include "qapi-types.h"
 
 // #define _VNC_DEBUG 1
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 16:14   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h Markus Armbruster
                   ` (18 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

This cleanup makes the number of objects depending on qapi/error.h
drop from 1910 (out of 4739) to 1612 in my "build everything" tree.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 arch_init.c                             | 1 +
 audio/wavcapture.c                      | 1 +
 balloon.c                               | 1 +
 block.c                                 | 2 ++
 block/block-backend.c                   | 1 +
 block/iscsi.c                           | 1 +
 block/qapi.c                            | 1 +
 block/qcow2-cluster.c                   | 1 -
 block/qcow2.c                           | 2 ++
 block/quorum.c                          | 1 +
 block/write-threshold.c                 | 1 +
 blockdev-nbd.c                          | 1 +
 blockdev.c                              | 1 +
 blockjob.c                              | 1 +
 chardev/char-ringbuf.c                  | 2 ++
 chardev/char.c                          | 2 ++
 chardev/spice.c                         | 1 +
 cpus.c                                  | 2 ++
 crypto/hash.c                           | 1 -
 crypto/hmac.c                           | 1 -
 crypto/ivgen-essiv.c                    | 1 -
 crypto/ivgen-plain.c                    | 1 -
 crypto/ivgen-plain64.c                  | 1 -
 crypto/random-gnutls.c                  | 1 +
 crypto/random-platform.c                | 1 +
 docs/devel/qapi-code-gen.txt            | 2 --
 dump.c                                  | 1 +
 fsdev/qemu-fsdev-throttle.h             | 1 -
 fsdev/qemu-fsdev.c                      | 2 ++
 hmp.c                                   | 1 +
 hw/9pfs/9p-local.c                      | 1 +
 hw/9pfs/9p-proxy.c                      | 2 ++
 hw/acpi/acpi-stub.c                     | 1 +
 hw/acpi/core.c                          | 2 ++
 hw/acpi/memory_hotplug.c                | 1 +
 hw/acpi/vmgenid.c                       | 1 +
 hw/adc/stm32f2xx_adc.c                  | 1 -
 hw/char/mcf_uart.c                      | 1 -
 hw/char/virtio-console.c                | 1 +
 hw/core/qdev.c                          | 1 +
 hw/display/milkymist-tmu2.c             | 1 +
 hw/display/qxl.c                        | 1 +
 hw/display/virtio-gpu-3d.c              | 1 -
 hw/display/xlnx_dp.c                    | 1 +
 hw/i2c/ppc4xx_i2c.c                     | 1 -
 hw/i386/pc.c                            | 2 ++
 hw/i386/pc_piix.c                       | 1 +
 hw/i386/pc_q35.c                        | 2 ++
 hw/i386/xen/xen-hvm.c                   | 2 +-
 hw/ide/core.c                           | 2 ++
 hw/intc/xics_pnv.c                      | 1 -
 hw/intc/xics_spapr.c                    | 1 -
 hw/ipmi/ipmi.c                          | 1 +
 hw/mips/mips_jazz.c                     | 1 +
 hw/mips/mips_malta.c                    | 1 +
 hw/misc/exynos4210_rng.c                | 1 +
 hw/misc/mips_cmgcr.c                    | 1 -
 hw/misc/mps2-scc.c                      | 1 -
 hw/net/rocker/qmp-norocker.c            | 1 +
 hw/net/rocker/rocker.c                  | 1 +
 hw/net/rocker/rocker_of_dpa.c           | 1 +
 hw/net/virtio-net.c                     | 1 +
 hw/nios2/cpu_pic.c                      | 1 -
 hw/pci-bridge/i82801b11.c               | 1 -
 hw/pci-bridge/ioh3420.c                 | 1 -
 hw/pci-bridge/xio3130_upstream.c        | 1 -
 hw/pci-host/sabre.c                     | 1 -
 hw/pci/pci-stub.c                       | 1 +
 hw/pci/pci.c                            | 2 ++
 hw/ppc/fdt.c                            | 1 -
 hw/ppc/pnv_bmc.c                        | 1 -
 hw/ppc/pnv_xscom.c                      | 1 -
 hw/ppc/ppc.c                            | 1 -
 hw/ppc/spapr_pci_vfio.c                 | 1 -
 hw/ppc/spapr_rtas.c                     | 1 +
 hw/ppc/spapr_rtc.c                      | 2 ++
 hw/s390x/s390-skeys.c                   | 1 +
 hw/scsi/esp.c                           | 1 -
 hw/scsi/vhost-scsi-common.c             | 1 -
 hw/sd/sdhci.c                           | 1 -
 hw/smbios/smbios-stub.c                 | 1 +
 hw/sparc64/niagara.c                    | 1 -
 hw/sparc64/sun4u_iommu.c                | 1 -
 hw/ssi/stm32f2xx_spi.c                  | 1 -
 hw/timer/m48t59.c                       | 1 -
 hw/timer/mc146818rtc.c                  | 2 ++
 hw/usb/ccid-card-passthru.c             | 1 -
 hw/virtio/virtio-balloon.c              | 1 +
 hw/watchdog/watchdog.c                  | 1 +
 include/crypto/random.h                 | 1 -
 include/crypto/xts.h                    | 1 -
 include/hw/ide/internal.h               | 1 -
 include/ui/console.h                    | 1 -
 iothread.c                              | 1 +
 migration/colo-failover.c               | 1 +
 migration/colo.c                        | 1 +
 migration/exec.c                        | 1 -
 migration/fd.c                          | 1 -
 migration/migration.c                   | 1 +
 migration/ram.c                         | 2 ++
 migration/savevm.c                      | 1 +
 monitor.c                               | 2 ++
 nbd/common.c                            | 1 -
 net/filter-replay.c                     | 1 -
 net/filter-rewriter.c                   | 1 -
 net/net.c                               | 2 ++
 net/vde.c                               | 1 +
 net/vhost-user.c                        | 1 +
 numa.c                                  | 1 +
 qdev-monitor.c                          | 1 +
 qga/commands-posix.c                    | 1 +
 qga/commands-win32.c                    | 2 ++
 qga/commands.c                          | 1 +
 qga/main.c                              | 2 ++
 qga/vss-win32.c                         | 1 +
 qmp.c                                   | 1 +
 qobject/qnum.c                          | 1 -
 replay/replay-input.c                   | 1 -
 scripts/qapi-commands.py                | 3 ++-
 scripts/qapi-event.py                   | 2 +-
 stubs/arch-query-cpu-def.c              | 1 +
 stubs/arch-query-cpu-model-baseline.c   | 1 +
 stubs/arch-query-cpu-model-comparison.c | 1 +
 stubs/arch-query-cpu-model-expansion.c  | 1 +
 stubs/vmgenid.c                         | 1 +
 target/i386/cpu.c                       | 2 ++
 target/i386/xsave_helper.c              | 1 -
 target/nios2/helper.c                   | 1 -
 target/ppc/mmu-book3s-v3.c              | 1 -
 target/ppc/mmu-hash64.c                 | 1 -
 target/ppc/mmu-radix64.c                | 1 -
 target/ppc/mmu_helper.c                 | 1 -
 target/ppc/translate_init.c             | 1 +
 target/s390x/excp_helper.c              | 1 -
 target/s390x/helper.c                   | 1 -
 tests/check-qlist.c                     | 1 -
 tests/check-qnum.c                      | 1 -
 tests/io-channel-helpers.c              | 1 -
 tests/test-aio-multithread.c            | 1 -
 tests/test-qmp-commands.c               | 1 +
 tests/test-qmp-event.c                  | 1 +
 tests/test-x86-cpuid-compat.c           | 1 -
 tpm.c                                   | 2 ++
 trace/qmp.c                             | 1 +
 ui/console.c                            | 2 ++
 ui/gtk.c                                | 1 +
 ui/input.c                              | 1 +
 ui/spice-core.c                         | 1 +
 ui/vnc.c                                | 1 +
 util/qemu-config.c                      | 1 +
 vl.c                                    | 2 ++
 151 files changed, 117 insertions(+), 62 deletions(-)

diff --git a/arch_init.c b/arch_init.c
index a0b8ed6167..0fb8093f92 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "cpu.h"
diff --git a/audio/wavcapture.c b/audio/wavcapture.c
index 5863803584..cf31ed652c 100644
--- a/audio/wavcapture.c
+++ b/audio/wavcapture.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "monitor/monitor.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "audio.h"
 
diff --git a/balloon.c b/balloon.c
index 1d720fff81..f8b5ca9870 100644
--- a/balloon.c
+++ b/balloon.c
@@ -31,6 +31,7 @@
 #include "sysemu/balloon.h"
 #include "trace-root.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qjson.h"
 
diff --git a/block.c b/block.c
index a8da4f2b25..2a8bc276c7 100644
--- a/block.c
+++ b/block.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "block/trace.h"
 #include "block/block_int.h"
@@ -29,6 +30,7 @@
 #include "qemu/error-report.h"
 #include "module_block.h"
 #include "qemu/module.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
diff --git a/block/block-backend.c b/block/block-backend.c
index baef8e7abc..6a5fdb7f42 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -18,6 +18,7 @@
 #include "sysemu/blockdev.h"
 #include "sysemu/sysemu.h"
 #include "qapi-event.h"
+#include "qapi/error.h"
 #include "qemu/id.h"
 #include "trace.h"
 #include "migration/misc.h"
diff --git a/block/iscsi.c b/block/iscsi.c
index 6a1c53711a..9a1bf43cbc 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -38,6 +38,7 @@
 #include "qemu/iov.h"
 #include "qemu/uuid.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qstring.h"
 #include "crypto/secret.h"
 #include "scsi/utils.h"
diff --git a/block/qapi.c b/block/qapi.c
index fc10f0a565..4fc9fd8082 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -29,6 +29,7 @@
 #include "block/write-threshold.h"
 #include "qmp-commands.h"
 #include "qapi-visit.h"
+#include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/types.h"
 #include "sysemu/block-backend.h"
diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index a3fec27bf9..3a979bcd82 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include <zlib.h>
 
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "block/block_int.h"
 #include "block/qcow2.h"
diff --git a/block/qcow2.c b/block/qcow2.c
index 1f80961e1b..7645b3c6ae 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
@@ -28,6 +29,7 @@
 #include <zlib.h>
 #include "block/qcow2.h"
 #include "qemu/error-report.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/types.h"
diff --git a/block/quorum.c b/block/quorum.c
index 272f9a5b77..ec427c39e7 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -16,6 +16,7 @@
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
 #include "block/block_int.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
diff --git a/block/write-threshold.c b/block/write-threshold.c
index 0bd1a01c86..a7146c8452 100644
--- a/block/write-threshold.c
+++ b/block/write-threshold.c
@@ -16,6 +16,7 @@
 #include "block/write-threshold.h"
 #include "qemu/notify.h"
 #include "qapi-event.h"
+#include "qapi/error.h"
 #include "qmp-commands.h"
 
 
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 9e3c22109c..f3c3400e52 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -13,6 +13,7 @@
 #include "sysemu/blockdev.h"
 #include "sysemu/block-backend.h"
 #include "hw/block/block.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "sysemu/sysemu.h"
 #include "qmp-commands.h"
diff --git a/blockdev.c b/blockdev.c
index 8e977eef11..ad82dbbeee 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -42,6 +42,7 @@
 #include "qemu/config-file.h"
 #include "qapi/qmp/types.h"
 #include "qapi-visit.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qobject-output-visitor.h"
 #include "sysemu/sysemu.h"
diff --git a/blockjob.c b/blockjob.c
index f5cea84e73..d766fdc4ce 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -29,6 +29,7 @@
 #include "block/blockjob_int.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qjson.h"
 #include "qemu/coroutine.h"
diff --git a/chardev/char-ringbuf.c b/chardev/char-ringbuf.c
index df52b04d22..c1fa4c3f87 100644
--- a/chardev/char-ringbuf.c
+++ b/chardev/char-ringbuf.c
@@ -21,9 +21,11 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "chardev/char.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qemu/base64.h"
 
 /* Ring buffer chardev */
diff --git a/chardev/char.c b/chardev/char.c
index 3e14de1920..51f269796a 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
 #include "monitor/monitor.h"
@@ -30,6 +31,7 @@
 #include "chardev/char.h"
 #include "qmp-commands.h"
 #include "qapi-visit.h"
+#include "qapi/error.h"
 #include "sysemu/replay.h"
 #include "qemu/help_option.h"
 
diff --git a/chardev/spice.c b/chardev/spice.c
index a312078812..bbdf649904 100644
--- a/chardev/spice.c
+++ b/chardev/spice.c
@@ -2,6 +2,7 @@
 #include "trace.h"
 #include "ui/qemu-spice.h"
 #include "chardev/char.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include <spice.h>
 #include <spice/protocol.h>
diff --git a/cpus.c b/cpus.c
index 2cb0af9b22..e3b2da1572 100644
--- a/cpus.c
+++ b/cpus.c
@@ -23,11 +23,13 @@
  */
 
 /* Needed early for CONFIG_BSD etc. */
+
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/config-file.h"
 #include "cpu.h"
 #include "monitor/monitor.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "sysemu/sysemu.h"
diff --git a/crypto/hash.c b/crypto/hash.c
index 8dab25d9ea..b97323cf90 100644
--- a/crypto/hash.c
+++ b/crypto/hash.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "crypto/hash.h"
 #include "hashpriv.h"
 
diff --git a/crypto/hmac.c b/crypto/hmac.c
index f6c2d8db60..4de7e8c9cb 100644
--- a/crypto/hmac.c
+++ b/crypto/hmac.c
@@ -10,7 +10,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "crypto/hmac.h"
 #include "hmacpriv.h"
 
diff --git a/crypto/ivgen-essiv.c b/crypto/ivgen-essiv.c
index ad4d926c19..aeaa8fcd5b 100644
--- a/crypto/ivgen-essiv.c
+++ b/crypto/ivgen-essiv.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/bswap.h"
 #include "crypto/ivgen-essiv.h"
 
diff --git a/crypto/ivgen-plain.c b/crypto/ivgen-plain.c
index 9b9b4ad0bf..bf2fb7aac4 100644
--- a/crypto/ivgen-plain.c
+++ b/crypto/ivgen-plain.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/bswap.h"
 #include "crypto/ivgen-plain.h"
 
diff --git a/crypto/ivgen-plain64.c b/crypto/ivgen-plain64.c
index 6c6b1b44c3..e4679a1e6e 100644
--- a/crypto/ivgen-plain64.c
+++ b/crypto/ivgen-plain64.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/bswap.h"
 #include "crypto/ivgen-plain.h"
 
diff --git a/crypto/random-gnutls.c b/crypto/random-gnutls.c
index 5350003a0b..445fd6a30b 100644
--- a/crypto/random-gnutls.c
+++ b/crypto/random-gnutls.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 
 #include "crypto/random.h"
+#include "qapi/error.h"
 
 #include <gnutls/gnutls.h>
 #include <gnutls/crypto.h>
diff --git a/crypto/random-platform.c b/crypto/random-platform.c
index 92eed0ee78..7541b4cae7 100644
--- a/crypto/random-platform.c
+++ b/crypto/random-platform.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 
 #include "crypto/random.h"
+#include "qapi/error.h"
 
 #ifdef _WIN32
 #include <wincrypt.h>
diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt
index 06ab699066..5900b39b91 100644
--- a/docs/devel/qapi-code-gen.txt
+++ b/docs/devel/qapi-code-gen.txt
@@ -1170,7 +1170,6 @@ Example:
     #include "example-qapi-types.h"
     #include "qapi/qmp/qdict.h"
     #include "qapi/qmp/dispatch.h"
-    #include "qapi/error.h"
 
     void example_qmp_init_marshal(QmpCommandList *cmds);
     UserDefOne *qmp_my_command(UserDefOneList *arg1, Error **errp);
@@ -1263,7 +1262,6 @@ Example:
     #ifndef EXAMPLE_QAPI_EVENT_H
     #define EXAMPLE_QAPI_EVENT_H
 
-    #include "qapi/error.h"
     #include "qapi/qmp/qdict.h"
     #include "example-qapi-types.h"
 
diff --git a/dump.c b/dump.c
index e9dfed060a..7b13baa413 100644
--- a/dump.c
+++ b/dump.c
@@ -22,6 +22,7 @@
 #include "sysemu/sysemu.h"
 #include "sysemu/memory_mapping.h"
 #include "sysemu/cpus.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qmp-commands.h"
 #include "qapi-event.h"
diff --git a/fsdev/qemu-fsdev-throttle.h b/fsdev/qemu-fsdev-throttle.h
index e418643ccb..4e83bdac25 100644
--- a/fsdev/qemu-fsdev-throttle.h
+++ b/fsdev/qemu-fsdev-throttle.h
@@ -18,7 +18,6 @@
 #include "block/aio.h"
 #include "qemu/main-loop.h"
 #include "qemu/coroutine.h"
-#include "qapi/error.h"
 #include "qemu/throttle.h"
 
 typedef struct FsThrottle {
diff --git a/fsdev/qemu-fsdev.c b/fsdev/qemu-fsdev.c
index 941e309657..96e8683a09 100644
--- a/fsdev/qemu-fsdev.c
+++ b/fsdev/qemu-fsdev.c
@@ -10,7 +10,9 @@
  * the COPYING file in the top-level directory.
  *
  */
+
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qemu-fsdev.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
diff --git a/hmp.c b/hmp.c
index 056bf70cf1..4fcf0e10d1 100644
--- a/hmp.c
+++ b/hmp.c
@@ -27,6 +27,7 @@
 #include "qemu/sockets.h"
 #include "monitor/monitor.h"
 #include "monitor/qdev.h"
+#include "qapi/error.h"
 #include "qapi/opts-visitor.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/string-input-visitor.h"
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index b25c185ff0..c6d8af4fb8 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -23,6 +23,7 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 #include "qemu/xattr.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include <libgen.h>
diff --git a/hw/9pfs/9p-proxy.c b/hw/9pfs/9p-proxy.c
index f030c6a428..0f288b1300 100644
--- a/hw/9pfs/9p-proxy.c
+++ b/hw/9pfs/9p-proxy.c
@@ -9,10 +9,12 @@
  * This work is licensed under the terms of the GNU GPL, version 2.  See
  * the COPYING file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 #include <sys/socket.h>
 #include <sys/un.h>
 #include "9p.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include "fsdev/qemu-fsdev.h"
diff --git a/hw/acpi/acpi-stub.c b/hw/acpi/acpi-stub.c
index 26bd22f7ec..7dfc8af316 100644
--- a/hw/acpi/acpi-stub.c
+++ b/hw/acpi/acpi-stub.c
@@ -19,6 +19,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qmp-commands.h"
 #include "hw/acpi/acpi.h"
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index eb9b76f70b..5ee55414c1 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -18,12 +18,14 @@
  * Contributions after 2012-01-13 are licensed under the terms of the
  * GNU GPL, version 2 or (at your option) any later version.
  */
+
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
 #include "hw/hw.h"
 #include "hw/acpi/acpi.h"
 #include "hw/nvram/fw_cfg.h"
 #include "qemu/config-file.h"
+#include "qapi/error.h"
 #include "qapi/opts-visitor.h"
 #include "qapi-visit.h"
 #include "qapi-event.h"
diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
index cda2c9dd06..ea958a0e99 100644
--- a/hw/acpi/memory_hotplug.c
+++ b/hw/acpi/memory_hotplug.c
@@ -6,6 +6,7 @@
 #include "hw/qdev-core.h"
 #include "trace.h"
 #include "qapi-event.h"
+#include "qapi/error.h"
 
 #define MEMORY_SLOTS_NUMBER          "MDNR"
 #define MEMORY_HOTPLUG_IO_REGION     "HPMR"
diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c
index ba6f47b67b..f25eafc0ec 100644
--- a/hw/acpi/vmgenid.c
+++ b/hw/acpi/vmgenid.c
@@ -11,6 +11,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qmp-commands.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/aml-build.h"
diff --git a/hw/adc/stm32f2xx_adc.c b/hw/adc/stm32f2xx_adc.c
index 13f31ad2f7..329a8aa673 100644
--- a/hw/adc/stm32f2xx_adc.c
+++ b/hw/adc/stm32f2xx_adc.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "hw/hw.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/adc/stm32f2xx_adc.h"
 
diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c
index 56fa402b58..faae083e78 100644
--- a/hw/char/mcf_uart.c
+++ b/hw/char/mcf_uart.c
@@ -11,7 +11,6 @@
 #include "hw/m68k/mcf.h"
 #include "chardev/char-fe.h"
 #include "exec/address-spaces.h"
-#include "qapi/error.h"
 
 typedef struct {
     SysBusDevice parent_obj;
diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
index 172c72d06c..4be5d4ee52 100644
--- a/hw/char/virtio-console.c
+++ b/hw/char/virtio-console.c
@@ -16,6 +16,7 @@
 #include "trace.h"
 #include "hw/virtio/virtio-serial.h"
 #include "qapi-event.h"
+#include "qapi/error.h"
 
 #define TYPE_VIRTIO_CONSOLE_SERIAL_PORT "virtserialport"
 #define VIRTIO_CONSOLE(obj) \
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 2456035d1a..f93f7d9388 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -28,6 +28,7 @@
 #include "qemu/osdep.h"
 #include "hw/qdev.h"
 #include "sysemu/sysemu.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/visitor.h"
 #include "qapi/qmp/qjson.h"
diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
index 59120ddb67..3ce44fdfce 100644
--- a/hw/display/milkymist-tmu2.c
+++ b/hw/display/milkymist-tmu2.c
@@ -28,6 +28,7 @@
 #include "hw/hw.h"
 #include "hw/sysbus.h"
 #include "trace.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
 
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index b9fa067f6e..a71714ccb4 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 #include <zlib.h>
 
+#include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/timer.h"
 #include "qemu/queue.h"
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c
index 8c106a662d..7db84efe89 100644
--- a/hw/display/virtio-gpu-3d.c
+++ b/hw/display/virtio-gpu-3d.c
@@ -17,7 +17,6 @@
 #include "trace.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-gpu.h"
-#include "qapi/error.h"
 
 #ifdef CONFIG_VIRGL
 
diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c
index ead4e1a0e4..6715b9cc2b 100644
--- a/hw/display/xlnx_dp.c
+++ b/hw/display/xlnx_dp.c
@@ -23,6 +23,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/display/xlnx_dp.h"
 
diff --git a/hw/i2c/ppc4xx_i2c.c b/hw/i2c/ppc4xx_i2c.c
index e873a445da..ab64d196be 100644
--- a/hw/i2c/ppc4xx_i2c.c
+++ b/hw/i2c/ppc4xx_i2c.c
@@ -25,7 +25,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/log.h"
 #include "cpu.h"
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index ccc50baa85..f610253953 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/i386/pc.h"
@@ -64,6 +65,7 @@
 #include "hw/pci/pci_host.h"
 #include "acpi-build.h"
 #include "hw/mem/pc-dimm.h"
+#include "qapi/error.h"
 #include "qapi/visitor.h"
 #include "qapi-visit.h"
 #include "qom/cpu.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index a25619dfbf..456dc9e9f0 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -47,6 +47,7 @@
 #include "exec/address-spaces.h"
 #include "hw/acpi/acpi.h"
 #include "cpu.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #ifdef CONFIG_XEN
 #include <xen/hvm/hvm_info_table.h>
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index ed3a0b8ff7..aba7541a82 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -27,6 +27,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/loader.h"
@@ -48,6 +49,7 @@
 #include "hw/ide/pci.h"
 #include "hw/ide/ahci.h"
 #include "hw/usb.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "sysemu/numa.h"
 
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 8028bed6fd..bfdbe55580 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -17,7 +17,7 @@
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
-
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qemu/range.h"
 #include "sysemu/xen-mapcache.h"
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 5be72d41dc..257b429381 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -22,6 +22,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
@@ -33,6 +34,7 @@
 #include "sysemu/dma.h"
 #include "hw/block/block.h"
 #include "sysemu/block-backend.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 
 #include "hw/ide/internal.h"
diff --git a/hw/intc/xics_pnv.c b/hw/intc/xics_pnv.c
index 2a955a8946..c87de2189c 100644
--- a/hw/intc/xics_pnv.c
+++ b/hw/intc/xics_pnv.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/ppc/xics.h"
 
diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c
index 5a0967caf4..2e27b92b87 100644
--- a/hw/intc/xics_spapr.c
+++ b/hw/intc/xics_spapr.c
@@ -34,7 +34,6 @@
 #include "hw/ppc/xics.h"
 #include "hw/ppc/fdt.h"
 #include "qapi/visitor.h"
-#include "qapi/error.h"
 
 /*
  * Guest interfaces
diff --git a/hw/ipmi/ipmi.c b/hw/ipmi/ipmi.c
index b27babd504..adbbf6e4a6 100644
--- a/hw/ipmi/ipmi.c
+++ b/hw/ipmi/ipmi.c
@@ -28,6 +28,7 @@
 #include "sysemu/sysemu.h"
 #include "qmp-commands.h"
 #include "qom/object_interfaces.h"
+#include "qapi/error.h"
 #include "qapi/visitor.h"
 
 static uint32_t ipmi_current_uuid = 1;
diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c
index 0d2c0683ba..84a2a62be9 100644
--- a/hw/mips/mips_jazz.c
+++ b/hw/mips/mips_jazz.c
@@ -45,6 +45,7 @@
 #include "hw/sysbus.h"
 #include "exec/address-spaces.h"
 #include "sysemu/qtest.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qemu/help_option.h"
 
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 37f19428d6..e57b24c198 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -51,6 +51,7 @@
 #include "hw/sysbus.h"             /* SysBusDevice */
 #include "qemu/host-utils.h"
 #include "sysemu/qtest.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "hw/empty_slot.h"
 #include "sysemu/kvm.h"
diff --git a/hw/misc/exynos4210_rng.c b/hw/misc/exynos4210_rng.c
index 31ebe38e26..4ecbebd2d7 100644
--- a/hw/misc/exynos4210_rng.c
+++ b/hw/misc/exynos4210_rng.c
@@ -20,6 +20,7 @@
 #include "qemu/osdep.h"
 #include "crypto/random.h"
 #include "hw/sysbus.h"
+#include "qapi/error.h"
 #include "qemu/log.h"
 
 #define DEBUG_EXYNOS_RNG 0
diff --git a/hw/misc/mips_cmgcr.c b/hw/misc/mips_cmgcr.c
index 211f6097fd..d019d41a3c 100644
--- a/hw/misc/mips_cmgcr.c
+++ b/hw/misc/mips_cmgcr.c
@@ -10,7 +10,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/hw.h"
 #include "hw/sysbus.h"
diff --git a/hw/misc/mps2-scc.c b/hw/misc/mps2-scc.c
index 32be2a9df1..6a9d251f18 100644
--- a/hw/misc/mps2-scc.c
+++ b/hw/misc/mps2-scc.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include "qemu/log.h"
-#include "qapi/error.h"
 #include "trace.h"
 #include "hw/sysbus.h"
 #include "hw/registerfields.h"
diff --git a/hw/net/rocker/qmp-norocker.c b/hw/net/rocker/qmp-norocker.c
index 6acbcdb02b..94c1e480ae 100644
--- a/hw/net/rocker/qmp-norocker.c
+++ b/hw/net/rocker/qmp-norocker.c
@@ -18,6 +18,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 RockerSwitch *qmp_query_rocker(const char *name, Error **errp)
diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
index 823a29df03..a2a76c2a74 100644
--- a/hw/net/rocker/rocker.c
+++ b/hw/net/rocker/rocker.c
@@ -21,6 +21,7 @@
 #include "hw/pci/msix.h"
 #include "net/net.h"
 #include "net/eth.h"
+#include "qapi/error.h"
 #include "qemu/iov.h"
 #include "qemu/bitops.h"
 #include "qmp-commands.h"
diff --git a/hw/net/rocker/rocker_of_dpa.c b/hw/net/rocker/rocker_of_dpa.c
index 191a58e0a7..9339df2d09 100644
--- a/hw/net/rocker/rocker_of_dpa.c
+++ b/hw/net/rocker/rocker_of_dpa.c
@@ -16,6 +16,7 @@
 
 #include "qemu/osdep.h"
 #include "net/eth.h"
+#include "qapi/error.h"
 #include "qemu/iov.h"
 #include "qemu/timer.h"
 #include "qmp-commands.h"
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 38674b08aa..0dd3cb8de4 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -22,6 +22,7 @@
 #include "hw/virtio/virtio-net.h"
 #include "net/vhost_net.h"
 #include "hw/virtio/virtio-bus.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi-event.h"
 #include "hw/virtio/virtio-access.h"
diff --git a/hw/nios2/cpu_pic.c b/hw/nios2/cpu_pic.c
index 0f95987ef3..6bccce2f32 100644
--- a/hw/nios2/cpu_pic.c
+++ b/hw/nios2/cpu_pic.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "cpu.h"
 
diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
index cb522bf30c..b24c33ceb5 100644
--- a/hw/pci-bridge/i82801b11.c
+++ b/hw/pci-bridge/i82801b11.c
@@ -44,7 +44,6 @@
 #include "qemu/osdep.h"
 #include "hw/pci/pci.h"
 #include "hw/i386/ich9.h"
-#include "qapi/error.h"
 
 
 /*****************************************************************************/
diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
index 5f56a2feb6..79fa84d7b9 100644
--- a/hw/pci-bridge/ioh3420.c
+++ b/hw/pci-bridge/ioh3420.c
@@ -25,7 +25,6 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/pcie.h"
 #include "ioh3420.h"
-#include "qapi/error.h"
 
 #define PCI_DEVICE_ID_IOH_EPORT         0x3420  /* D0:F0 express mode */
 #define PCI_DEVICE_ID_IOH_REV           0x2
diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c
index 227997ce46..df5692501b 100644
--- a/hw/pci-bridge/xio3130_upstream.c
+++ b/hw/pci-bridge/xio3130_upstream.c
@@ -24,7 +24,6 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/pcie.h"
 #include "xio3130_upstream.h"
-#include "qapi/error.h"
 
 #define PCI_DEVICE_ID_TI_XIO3130U       0x8232  /* upstream port */
 #define XIO3130_REVISION                0x2
diff --git a/hw/pci-host/sabre.c b/hw/pci-host/sabre.c
index 2268a41dd9..e2f4ee480e 100644
--- a/hw/pci-host/sabre.c
+++ b/hw/pci-host/sabre.c
@@ -34,7 +34,6 @@
 #include "hw/pci-host/sabre.h"
 #include "sysemu/sysemu.h"
 #include "exec/address-spaces.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "trace.h"
 
diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c
index d5ce00748e..74ce7316da 100644
--- a/hw/pci/pci-stub.c
+++ b/hw/pci/pci-stub.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
 #include "monitor/monitor.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "hw/pci/pci.h"
 #include "qmp-commands.h"
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index e8f9fc1c27..dec558311d 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
@@ -40,6 +41,7 @@
 #include "exec/address-spaces.h"
 #include "hw/hotplug.h"
 #include "hw/boards.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 
 //#define DEBUG_PCI
diff --git a/hw/ppc/fdt.c b/hw/ppc/fdt.c
index 38a7234b46..2ffc5866e4 100644
--- a/hw/ppc/fdt.c
+++ b/hw/ppc/fdt.c
@@ -8,7 +8,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "target/ppc/cpu.h"
 
 #include "hw/ppc/fdt.h"
diff --git a/hw/ppc/pnv_bmc.c b/hw/ppc/pnv_bmc.c
index b2cf441ee7..4b76d34f0a 100644
--- a/hw/ppc/pnv_bmc.c
+++ b/hw/ppc/pnv_bmc.c
@@ -20,7 +20,6 @@
 #include "hw/hw.h"
 #include "sysemu/sysemu.h"
 #include "target/ppc/cpu.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/ipmi/ipmi.h"
 #include "hw/ppc/fdt.h"
diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c
index 99c40efecd..46fae41f32 100644
--- a/hw/ppc/pnv_xscom.c
+++ b/hw/ppc/pnv_xscom.c
@@ -17,7 +17,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "hw/hw.h"
 #include "qemu/log.h"
 #include "sysemu/hw_accel.h"
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 7ec35de5ae..ec4be25f49 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -33,7 +33,6 @@
 #include "hw/timer/m48t59.h"
 #include "qemu/log.h"
 #include "qemu/error-report.h"
-#include "qapi/error.h"
 #include "hw/loader.h"
 #include "sysemu/kvm.h"
 #include "kvm_ppc.h"
diff --git a/hw/ppc/spapr_pci_vfio.c b/hw/ppc/spapr_pci_vfio.c
index 053efb03bd..71491dbd28 100644
--- a/hw/ppc/spapr_pci_vfio.c
+++ b/hw/ppc/spapr_pci_vfio.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include <linux/vfio.h>
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "cpu.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index 4bb939d3d1..b61e2892eb 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -24,6 +24,7 @@
  * THE SOFTWARE.
  *
  */
+
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include "qemu/log.h"
diff --git a/hw/ppc/spapr_rtc.c b/hw/ppc/spapr_rtc.c
index 9ec3078691..cc5edc33fd 100644
--- a/hw/ppc/spapr_rtc.c
+++ b/hw/ppc/spapr_rtc.c
@@ -25,12 +25,14 @@
  * THE SOFTWARE.
  *
  */
+
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include "qemu/timer.h"
 #include "sysemu/sysemu.h"
 #include "hw/ppc/spapr.h"
 #include "qapi-event.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 
 void spapr_rtc_read(sPAPRRTCState *rtc, struct tm *tm, uint32_t *ns)
diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index 53ad5d38d4..fd994f86b1 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -13,6 +13,7 @@
 #include "hw/boards.h"
 #include "qmp-commands.h"
 #include "hw/s390x/storage-keys.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "sysemu/kvm.h"
 #include "migration/register.h"
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index ee586e7d6c..45975c21e8 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -27,7 +27,6 @@
 #include "hw/sysbus.h"
 #include "hw/scsi/esp.h"
 #include "trace.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 
 /*
diff --git a/hw/scsi/vhost-scsi-common.c b/hw/scsi/vhost-scsi-common.c
index d434b3e99a..77e9897244 100644
--- a/hw/scsi/vhost-scsi-common.c
+++ b/hw/scsi/vhost-scsi-common.c
@@ -16,7 +16,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "migration/migration.h"
 #include "hw/virtio/vhost.h"
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index fac7fa5c72..37b217269b 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -32,7 +32,6 @@
 #include "qemu/bitops.h"
 #include "hw/sd/sdhci.h"
 #include "sdhci-internal.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "trace.h"
 
diff --git a/hw/smbios/smbios-stub.c b/hw/smbios/smbios-stub.c
index 308739410f..61becef4ae 100644
--- a/hw/smbios/smbios-stub.c
+++ b/hw/smbios/smbios-stub.c
@@ -21,6 +21,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qmp-commands.h"
 #include "hw/smbios/smbios.h"
diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
index 7a723326c5..b6d4b14d17 100644
--- a/hw/sparc64/niagara.c
+++ b/hw/sparc64/niagara.c
@@ -23,7 +23,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "cpu.h"
 #include "hw/hw.h"
diff --git a/hw/sparc64/sun4u_iommu.c b/hw/sparc64/sun4u_iommu.c
index 4cf8e69be9..eb3aaa87e6 100644
--- a/hw/sparc64/sun4u_iommu.c
+++ b/hw/sparc64/sun4u_iommu.c
@@ -28,7 +28,6 @@
 #include "hw/sysbus.h"
 #include "hw/sparc/sun4u_iommu.h"
 #include "exec/address-spaces.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "trace.h"
 
diff --git a/hw/ssi/stm32f2xx_spi.c b/hw/ssi/stm32f2xx_spi.c
index 69514da9fb..930c616de3 100644
--- a/hw/ssi/stm32f2xx_spi.c
+++ b/hw/ssi/stm32f2xx_spi.c
@@ -23,7 +23,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu/log.h"
 #include "hw/ssi/stm32f2xx_spi.h"
 
diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c
index 844aad540e..742c576443 100644
--- a/hw/timer/m48t59.c
+++ b/hw/timer/m48t59.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/timer/m48t59.h"
-#include "qapi/error.h"
 #include "qemu/timer.h"
 #include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c
index 35a05a64cc..9d93a16e0f 100644
--- a/hw/timer/mc146818rtc.c
+++ b/hw/timer/mc146818rtc.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
 #include "qemu/bcd.h"
@@ -29,6 +30,7 @@
 #include "sysemu/sysemu.h"
 #include "sysemu/replay.h"
 #include "hw/timer/mc146818rtc.h"
+#include "qapi/error.h"
 #include "qapi/visitor.h"
 #include "qapi-event.h"
 #include "qmp-commands.h"
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 085ed2c667..b7dd3602dc 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -9,7 +9,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include <cacard/vscard_common.h>
 #include "chardev/char-fe.h"
 #include "qemu/error-report.h"
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 14e08d20d0..e05df206fc 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -23,6 +23,7 @@
 #include "hw/virtio/virtio-balloon.h"
 #include "sysemu/kvm.h"
 #include "exec/address-spaces.h"
+#include "qapi/error.h"
 #include "qapi/visitor.h"
 #include "qapi-event.h"
 #include "trace.h"
diff --git a/hw/watchdog/watchdog.c b/hw/watchdog/watchdog.c
index 670114ecfe..25dcb25ff1 100644
--- a/hw/watchdog/watchdog.c
+++ b/hw/watchdog/watchdog.c
@@ -23,6 +23,7 @@
 #include "qemu/option.h"
 #include "qemu/config-file.h"
 #include "qemu/queue.h"
+#include "qapi/error.h"
 #include "qapi/qmp/types.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/watchdog.h"
diff --git a/include/crypto/random.h b/include/crypto/random.h
index a07229ce96..32bb9c0038 100644
--- a/include/crypto/random.h
+++ b/include/crypto/random.h
@@ -22,7 +22,6 @@
 #define QCRYPTO_RANDOM_H
 
 #include "qemu-common.h"
-#include "qapi/error.h"
 
 
 /**
diff --git a/include/crypto/xts.h b/include/crypto/xts.h
index da32ab82b6..719971afb7 100644
--- a/include/crypto/xts.h
+++ b/include/crypto/xts.h
@@ -27,7 +27,6 @@
 #define QCRYPTO_XTS_H
 
 #include "qemu-common.h"
-#include "qapi/error.h"
 
 
 #define XTS_BLOCK_SIZE 16
diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h
index 31851b44d1..88212f59df 100644
--- a/include/hw/ide/internal.h
+++ b/include/hw/ide/internal.h
@@ -12,7 +12,6 @@
 #include "sysemu/sysemu.h"
 #include "hw/block/block.h"
 #include "scsi/constants.h"
-#include "qapi/error.h"
 
 /* debug IDE devices */
 #define USE_DMA_CDROM
diff --git a/include/ui/console.h b/include/ui/console.h
index d3312be322..7506dcbe61 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -6,7 +6,6 @@
 #include "qapi/qmp/qdict.h"
 #include "qemu/notify.h"
 #include "qemu/error-report.h"
-#include "qapi/error.h"
 
 #ifdef CONFIG_OPENGL
 # include <epoxy/gl.h>
diff --git a/iothread.c b/iothread.c
index d8b6c1fb27..4b9bbde4cd 100644
--- a/iothread.c
+++ b/iothread.c
@@ -19,6 +19,7 @@
 #include "block/block.h"
 #include "sysemu/iothread.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qemu/rcu.h"
 #include "qemu/main-loop.h"
diff --git a/migration/colo-failover.c b/migration/colo-failover.c
index 6563862b36..891785cb63 100644
--- a/migration/colo-failover.c
+++ b/migration/colo-failover.c
@@ -16,6 +16,7 @@
 #include "qemu/main-loop.h"
 #include "migration.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "trace.h"
diff --git a/migration/colo.c b/migration/colo.c
index dee3aa8bf7..245a46d59d 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
+#include "qapi/error.h"
 #include "qemu-file-channel.h"
 #include "migration.h"
 #include "qemu-file.h"
diff --git a/migration/exec.c b/migration/exec.c
index f3be1baf2e..4d7d486382 100644
--- a/migration/exec.c
+++ b/migration/exec.c
@@ -18,7 +18,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "channel.h"
 #include "exec.h"
 #include "io/channel-command.h"
diff --git a/migration/fd.c b/migration/fd.c
index 30de4b9847..6b2bdaa953 100644
--- a/migration/fd.c
+++ b/migration/fd.c
@@ -15,7 +15,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "channel.h"
 #include "fd.h"
 #include "monitor/monitor.h"
diff --git a/migration/migration.c b/migration/migration.c
index c99a4e62d7..79ec88dba2 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -30,6 +30,7 @@
 #include "qemu-file.h"
 #include "migration/vmstate.h"
 #include "block/block.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/rcu.h"
 #include "block.h"
diff --git a/migration/ram.c b/migration/ram.c
index cb1950f3eb..d67f564919 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -25,6 +25,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include <zlib.h>
@@ -42,6 +43,7 @@
 #include "postcopy-ram.h"
 #include "migration/page_cache.h"
 #include "qemu/error-report.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "trace.h"
 #include "exec/ram_addr.h"
diff --git a/migration/savevm.c b/migration/savevm.c
index b7908f62be..3f68a7a259 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -40,6 +40,7 @@
 #include "qemu-file.h"
 #include "savevm.h"
 #include "postcopy-ram.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "sysemu/cpus.h"
diff --git a/monitor.c b/monitor.c
index b9da5e20d1..2de69f648f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include <dirent.h>
 #include "qemu-common.h"
@@ -70,6 +71,7 @@
 #include "hmp.h"
 #include "qemu/thread.h"
 #include "block/qapi.h"
+#include "qapi/error.h"
 #include "qapi/qmp-event.h"
 #include "qapi-event.h"
 #include "qmp-introspect.h"
diff --git a/nbd/common.c b/nbd/common.c
index 6047d71748..6295526dd1 100644
--- a/nbd/common.c
+++ b/nbd/common.c
@@ -17,7 +17,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "trace.h"
 #include "nbd-internal.h"
 
diff --git a/net/filter-replay.c b/net/filter-replay.c
index cff65f86e5..09e68fd8f5 100644
--- a/net/filter-replay.c
+++ b/net/filter-replay.c
@@ -11,7 +11,6 @@
 
 #include "qemu/osdep.h"
 #include "clients.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "qemu/iov.h"
diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c
index 2be388f539..3ea3798276 100644
--- a/net/filter-rewriter.c
+++ b/net/filter-rewriter.c
@@ -15,7 +15,6 @@
 #include "net/filter.h"
 #include "net/net.h"
 #include "qemu-common.h"
-#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "qapi-visit.h"
diff --git a/net/net.c b/net/net.c
index 2b81c93193..63068ce8e2 100644
--- a/net/net.c
+++ b/net/net.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 
 #include "net/net.h"
@@ -43,6 +44,7 @@
 #include "qemu/iov.h"
 #include "qemu/main-loop.h"
 #include "qapi-visit.h"
+#include "qapi/error.h"
 #include "qapi/opts-visitor.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/qtest.h"
diff --git a/net/vde.c b/net/vde.c
index e50e5d6394..19ddad5674 100644
--- a/net/vde.c
+++ b/net/vde.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 
 #include <libvdeplug.h>
diff --git a/net/vhost-user.c b/net/vhost-user.c
index c23927c912..fd766504ab 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -13,6 +13,7 @@
 #include "net/vhost_net.h"
 #include "net/vhost-user.h"
 #include "chardev/char-fe.h"
+#include "qapi/error.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
 #include "qmp-commands.h"
diff --git a/numa.c b/numa.c
index 83675a03f3..cc5d3f2947 100644
--- a/numa.c
+++ b/numa.c
@@ -30,6 +30,7 @@
 #include "qom/cpu.h"
 #include "qemu/error-report.h"
 #include "qapi-visit.h"
+#include "qapi/error.h"
 #include "qapi/opts-visitor.h"
 #include "hw/boards.h"
 #include "sysemu/hostmem.h"
diff --git a/qdev-monitor.c b/qdev-monitor.c
index c436616446..0aa8a6c60b 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -24,6 +24,7 @@
 #include "monitor/qdev.h"
 #include "qmp-commands.h"
 #include "sysemu/arch_init.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index e809e382eb..88807f3c78 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -18,6 +18,7 @@
 #include <dirent.h>
 #include "qga/guest-agent-core.h"
 #include "qga-qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/queue.h"
 #include "qemu/host-utils.h"
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index d79974f212..bedae32957 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -14,6 +14,7 @@
 #ifndef _WIN32_WINNT
 #   define _WIN32_WINNT 0x0600
 #endif
+
 #include "qemu/osdep.h"
 #include <wtypes.h>
 #include <powrprof.h>
@@ -34,6 +35,7 @@
 #include "qga/guest-agent-core.h"
 #include "qga/vss-win32.h"
 #include "qga-qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/queue.h"
 #include "qemu/host-utils.h"
diff --git a/qga/commands.c b/qga/commands.c
index ff89e805cf..6d710dbb20 100644
--- a/qga/commands.c
+++ b/qga/commands.c
@@ -13,6 +13,7 @@
 #include "qemu/osdep.h"
 #include "qga/guest-agent-core.h"
 #include "qga-qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/base64.h"
 #include "qemu/cutils.h"
diff --git a/qga/main.c b/qga/main.c
index 62a62755bd..57083ca10c 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -10,6 +10,7 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 #include <getopt.h>
 #include <glib/gstdio.h>
@@ -23,6 +24,7 @@
 #include "qga/guest-agent-core.h"
 #include "qemu/module.h"
 #include "qapi/qmp/qerror.h"
+#include "qapi/error.h"
 #include "qapi/qmp/dispatch.h"
 #include "qga/channel.h"
 #include "qemu/bswap.h"
diff --git a/qga/vss-win32.c b/qga/vss-win32.c
index dcb27567bb..0199c2a792 100644
--- a/qga/vss-win32.c
+++ b/qga/vss-win32.c
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include <windows.h>
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qga/guest-agent-core.h"
 #include "qga/vss-win32.h"
diff --git a/qmp.c b/qmp.c
index 52cfd2d81c..a56faf1b9a 100644
--- a/qmp.c
+++ b/qmp.c
@@ -30,6 +30,7 @@
 #include "sysemu/blockdev.h"
 #include "sysemu/block-backend.h"
 #include "qom/qom-qobject.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qobject-input-visitor.h"
diff --git a/qobject/qnum.c b/qobject/qnum.c
index 410686a611..517610d9da 100644
--- a/qobject/qnum.c
+++ b/qobject/qnum.c
@@ -13,7 +13,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qobject.h"
 #include "qemu-common.h"
diff --git a/replay/replay-input.c b/replay/replay-input.c
index bd93554d8e..3ab1536bf7 100644
--- a/replay/replay-input.c
+++ b/replay/replay-input.c
@@ -10,7 +10,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index 974d0a4a80..dc7c418923 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -289,6 +289,7 @@ h_comment = '''
                             c_comment, h_comment)
 
 fdef.write(mcgen('''
+
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/module.h"
@@ -297,6 +298,7 @@ fdef.write(mcgen('''
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/dealloc-visitor.h"
+#include "qapi/error.h"
 #include "%(prefix)sqapi-types.h"
 #include "%(prefix)sqapi-visit.h"
 #include "%(prefix)sqmp-commands.h"
@@ -308,7 +310,6 @@ fdecl.write(mcgen('''
 #include "%(prefix)sqapi-types.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/dispatch.h"
-#include "qapi/error.h"
 
 void %(c_prefix)sqmp_init_marshal(QmpCommandList *cmds);
 ''',
diff --git a/scripts/qapi-event.py b/scripts/qapi-event.py
index 07b4b70199..9d7134658d 100644
--- a/scripts/qapi-event.py
+++ b/scripts/qapi-event.py
@@ -209,6 +209,7 @@ fdef.write(mcgen('''
 #include "qemu-common.h"
 #include "%(prefix)sqapi-event.h"
 #include "%(prefix)sqapi-visit.h"
+#include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp-event.h"
 
@@ -216,7 +217,6 @@ fdef.write(mcgen('''
                  prefix=prefix))
 
 fdecl.write(mcgen('''
-#include "qapi/error.h"
 #include "qapi/util.h"
 #include "qapi/qmp/qdict.h"
 #include "%(prefix)sqapi-types.h"
diff --git a/stubs/arch-query-cpu-def.c b/stubs/arch-query-cpu-def.c
index cefe4beb82..d436f95314 100644
--- a/stubs/arch-query-cpu-def.c
+++ b/stubs/arch-query-cpu-def.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "sysemu/arch_init.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp)
diff --git a/stubs/arch-query-cpu-model-baseline.c b/stubs/arch-query-cpu-model-baseline.c
index 094ec13c2c..0d066da328 100644
--- a/stubs/arch-query-cpu-model-baseline.c
+++ b/stubs/arch-query-cpu-model-baseline.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "sysemu/arch_init.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 CpuModelBaselineInfo *arch_query_cpu_model_baseline(CpuModelInfo *modela,
diff --git a/stubs/arch-query-cpu-model-comparison.c b/stubs/arch-query-cpu-model-comparison.c
index d5486ae980..8eb311a26c 100644
--- a/stubs/arch-query-cpu-model-comparison.c
+++ b/stubs/arch-query-cpu-model-comparison.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "sysemu/arch_init.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 CpuModelCompareInfo *arch_query_cpu_model_comparison(CpuModelInfo *modela,
diff --git a/stubs/arch-query-cpu-model-expansion.c b/stubs/arch-query-cpu-model-expansion.c
index ae7cf554d1..26273a8b10 100644
--- a/stubs/arch-query-cpu-model-expansion.c
+++ b/stubs/arch-query-cpu-model-expansion.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "sysemu/arch_init.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 CpuModelExpansionInfo *arch_query_cpu_model_expansion(CpuModelExpansionType type,
diff --git a/stubs/vmgenid.c b/stubs/vmgenid.c
index c64eb7a16e..3c8fe55bdf 100644
--- a/stubs/vmgenid.c
+++ b/stubs/vmgenid.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 
 GuidInfo *qmp_query_vm_generation_id(Error **errp)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 050644f820..ae44c9d8ad 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -16,6 +16,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
 
@@ -29,6 +30,7 @@
 #include "qemu/error-report.h"
 #include "qemu/option.h"
 #include "qemu/config-file.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/types.h"
 
diff --git a/target/i386/xsave_helper.c b/target/i386/xsave_helper.c
index ca735eee77..52ea7e654b 100644
--- a/target/i386/xsave_helper.c
+++ b/target/i386/xsave_helper.c
@@ -3,7 +3,6 @@
  * See the COPYING file in the top-level directory.
  */
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 
 #include "qemu-common.h"
 #include "cpu.h"
diff --git a/target/nios2/helper.c b/target/nios2/helper.c
index a169c91eaa..a8b8ec662a 100644
--- a/target/nios2/helper.c
+++ b/target/nios2/helper.c
@@ -22,7 +22,6 @@
 
 #include "cpu.h"
 #include "qemu/host-utils.h"
-#include "qapi/error.h"
 #include "exec/exec-all.h"
 #include "exec/log.h"
 #include "exec/helper-proto.h"
diff --git a/target/ppc/mmu-book3s-v3.c b/target/ppc/mmu-book3s-v3.c
index e7798b3582..b60df4408f 100644
--- a/target/ppc/mmu-book3s-v3.c
+++ b/target/ppc/mmu-book3s-v3.c
@@ -18,7 +18,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "mmu-hash64.h"
 #include "mmu-book3s-v3.h"
diff --git a/target/ppc/mmu-hash64.c b/target/ppc/mmu-hash64.c
index 14d34e512f..c9b72b7429 100644
--- a/target/ppc/mmu-hash64.c
+++ b/target/ppc/mmu-hash64.c
@@ -18,7 +18,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "exec/exec-all.h"
 #include "exec/helper-proto.h"
diff --git a/target/ppc/mmu-radix64.c b/target/ppc/mmu-radix64.c
index bbd37e3c7d..ab76cbc835 100644
--- a/target/ppc/mmu-radix64.c
+++ b/target/ppc/mmu-radix64.c
@@ -18,7 +18,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "exec/exec-all.h"
 #include "exec/helper-proto.h"
diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c
index 16ef5acaa2..5568d1642b 100644
--- a/target/ppc/mmu_helper.c
+++ b/target/ppc/mmu_helper.c
@@ -17,7 +17,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "exec/helper-proto.h"
 #include "sysemu/kvm.h"
diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
index 55c99c97e3..2913af912a 100644
--- a/target/ppc/translate_init.c
+++ b/target/ppc/translate_init.c
@@ -29,6 +29,7 @@
 #include "mmu-hash32.h"
 #include "mmu-hash64.h"
 #include "qemu/error-report.h"
+#include "qapi/error.h"
 #include "qapi/visitor.h"
 #include "hw/qdev-properties.h"
 #include "hw/ppc/ppc.h"
diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
index e8f7a40c2b..6967fbfa25 100644
--- a/target/s390x/excp_helper.c
+++ b/target/s390x/excp_helper.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "internal.h"
 #include "qemu/timer.h"
diff --git a/target/s390x/helper.c b/target/s390x/helper.c
index 35d9741918..84aaef3a53 100644
--- a/target/s390x/helper.c
+++ b/target/s390x/helper.c
@@ -19,7 +19,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/error.h"
 #include "cpu.h"
 #include "internal.h"
 #include "exec/gdbstub.h"
diff --git a/tests/check-qlist.c b/tests/check-qlist.c
index 894e9915e5..259980d523 100644
--- a/tests/check-qlist.c
+++ b/tests/check-qlist.c
@@ -11,7 +11,6 @@
  */
 #include "qemu/osdep.h"
 
-#include "qapi/error.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qlist.h"
 
diff --git a/tests/check-qnum.c b/tests/check-qnum.c
index d702d5da9c..2b667f7ad7 100644
--- a/tests/check-qnum.c
+++ b/tests/check-qnum.c
@@ -15,7 +15,6 @@
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qnum.h"
-#include "qapi/error.h"
 #include "qemu-common.h"
 
 /*
diff --git a/tests/io-channel-helpers.c b/tests/io-channel-helpers.c
index 5430e1389d..ab988ef4fe 100644
--- a/tests/io-channel-helpers.c
+++ b/tests/io-channel-helpers.c
@@ -20,7 +20,6 @@
 
 #include "qemu/osdep.h"
 #include "io-channel-helpers.h"
-#include "qapi/error.h"
 #include "qemu/iov.h"
 
 struct QIOChannelTest {
diff --git a/tests/test-aio-multithread.c b/tests/test-aio-multithread.c
index c8bec81520..6440d54ac3 100644
--- a/tests/test-aio-multithread.c
+++ b/tests/test-aio-multithread.c
@@ -12,7 +12,6 @@
 
 #include "qemu/osdep.h"
 #include "block/aio.h"
-#include "qapi/error.h"
 #include "qemu/coroutine.h"
 #include "qemu/thread.h"
 #include "qemu/error-report.h"
diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
index 904c89d4d4..52c1802eaf 100644
--- a/tests/test-qmp-commands.c
+++ b/tests/test-qmp-commands.c
@@ -2,6 +2,7 @@
 #include "qemu-common.h"
 #include "qapi/qmp/types.h"
 #include "test-qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/dispatch.h"
 #include "qemu/module.h"
 #include "qapi/qobject-input-visitor.h"
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index 46825b4f3f..5be2d8efcf 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -16,6 +16,7 @@
 #include "qemu-common.h"
 #include "test-qapi-visit.h"
 #include "test-qapi-event.h"
+#include "qapi/error.h"
 #include "qapi/qmp/types.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp-event.h"
diff --git a/tests/test-x86-cpuid-compat.c b/tests/test-x86-cpuid-compat.c
index 58a2dd9fe8..c594b5bd97 100644
--- a/tests/test-x86-cpuid-compat.c
+++ b/tests/test-x86-cpuid-compat.c
@@ -1,6 +1,5 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qbool.h"
diff --git a/tpm.c b/tpm.c
index 61a434185a..d11b10bed8 100644
--- a/tpm.c
+++ b/tpm.c
@@ -11,8 +11,10 @@
  *
  * Based on net.c
  */
+
 #include "qemu/osdep.h"
 
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "sysemu/tpm_backend.h"
 #include "sysemu/tpm.h"
diff --git a/trace/qmp.c b/trace/qmp.c
index ac777d154f..ccd35cd840 100644
--- a/trace/qmp.c
+++ b/trace/qmp.c
@@ -8,6 +8,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qmp-commands.h"
 #include "trace/control.h"
 
diff --git a/ui/console.c b/ui/console.c
index c4c95abed7..f678979f86 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -21,10 +21,12 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "ui/console.h"
 #include "hw/qdev-core.h"
+#include "qapi/error.h"
 #include "qemu/timer.h"
 #include "qmp-commands.h"
 #include "chardev/char-fe.h"
diff --git a/ui/gtk.c b/ui/gtk.c
index f0ad63e431..1537751afa 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -36,6 +36,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
+#include "qapi/error.h"
 #include "qemu/cutils.h"
 
 #include "ui/console.h"
diff --git a/ui/input.c b/ui/input.c
index ab22c8423f..a5f1cbb3ca 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
+#include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qmp-commands.h"
 #include "trace.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 2baf0c7120..7a53db070c 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -30,6 +30,7 @@
 #include "qemu-x509.h"
 #include "qemu/sockets.h"
 #include "qmp-commands.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
diff --git a/ui/vnc.c b/ui/vnc.c
index 33b087221f..8768691db8 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -34,6 +34,7 @@
 #include "qemu/timer.h"
 #include "qemu/acl.h"
 #include "qemu/config-file.h"
+#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/types.h"
 #include "qmp-commands.h"
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 029fec53a9..26ea248062 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -1,4 +1,5 @@
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "qemu/option.h"
diff --git a/vl.c b/vl.c
index e517a8d995..717625122f 100644
--- a/vl.c
+++ b/vl.c
@@ -21,7 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "qemu-version.h"
 #include "qemu/cutils.h"
 #include "qemu/help_option.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (2 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 16:20   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed Markus Armbruster
                   ` (17 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 backends/tpm.c             | 1 -
 block/qcow.c               | 1 -
 block/qed.c                | 1 -
 blockdev-nbd.c             | 1 -
 hw/s390x/s390-virtio-ccw.c | 1 -
 net/colo-compare.c         | 1 -
 net/filter-mirror.c        | 1 -
 net/filter-rewriter.c      | 1 -
 qapi/qmp-dispatch.c        | 1 -
 qemu-img.c                 | 1 -
 ui/vnc.c                   | 1 -
 11 files changed, 11 deletions(-)

diff --git a/backends/tpm.c b/backends/tpm.c
index 91222c5164..0d129ee9e3 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -15,7 +15,6 @@
 #include "qemu/osdep.h"
 #include "sysemu/tpm_backend.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qerror.h"
 #include "sysemu/tpm.h"
 #include "qemu/thread.h"
 #include "qemu/main-loop.h"
diff --git a/block/qcow.c b/block/qcow.c
index d552a6eba8..369241aae8 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -30,7 +30,6 @@
 #include "qemu/module.h"
 #include "qemu/bswap.h"
 #include <zlib.h>
-#include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qstring.h"
 #include "crypto/block.h"
 #include "migration/blocker.h"
diff --git a/block/qed.c b/block/qed.c
index 821dcaa055..7e2b34c3a7 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -18,7 +18,6 @@
 #include "qemu/bswap.h"
 #include "trace.h"
 #include "qed.h"
-#include "qapi/qmp/qerror.h"
 #include "sysemu/block-backend.h"
 
 static int bdrv_qed_probe(const uint8_t *buf, int buf_size,
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index f3c3400e52..a3dabf2dd2 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -14,7 +14,6 @@
 #include "sysemu/block-backend.h"
 #include "hw/block/block.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qerror.h"
 #include "sysemu/sysemu.h"
 #include "qmp-commands.h"
 #include "block/nbd.h"
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 3807dcb097..7d922ad732 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -33,7 +33,6 @@
 #include "hw/s390x/css-bridge.h"
 #include "migration/register.h"
 #include "cpu_models.h"
-#include "qapi/qmp/qerror.h"
 #include "hw/nmi.h"
 
 S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 0ebdec936c..3b955f3ec5 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -16,7 +16,6 @@
 #include "qemu/error-report.h"
 #include "trace.h"
 #include "qemu-common.h"
-#include "qapi/qmp/qerror.h"
 #include "qapi/error.h"
 #include "net/net.h"
 #include "net/eth.h"
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index ce0dc23c2a..bd78e25d12 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -14,7 +14,6 @@
 #include "net/net.h"
 #include "qemu-common.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qerror.h"
 #include "qapi-visit.h"
 #include "qom/object.h"
 #include "qemu/main-loop.h"
diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c
index 3ea3798276..6201494ceb 100644
--- a/net/filter-rewriter.c
+++ b/net/filter-rewriter.c
@@ -15,7 +15,6 @@
 #include "net/filter.h"
 #include "net/net.h"
 #include "qemu-common.h"
-#include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "qapi-visit.h"
 #include "qom/object.h"
diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
index 7d18524f3c..8829c4a45a 100644
--- a/qapi/qmp-dispatch.c
+++ b/qapi/qmp-dispatch.c
@@ -17,7 +17,6 @@
 #include "qapi/qmp/dispatch.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/qjson.h"
-#include "qapi/qmp/qerror.h"
 
 static QDict *qmp_dispatch_check_obj(const QObject *request, Error **errp)
 {
diff --git a/qemu-img.c b/qemu-img.c
index 68b375f998..cf8db3d7b7 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -28,7 +28,6 @@
 #include "qapi/error.h"
 #include "qapi-visit.h"
 #include "qapi/qobject-output-visitor.h"
-#include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
 #include "qemu/cutils.h"
diff --git a/ui/vnc.c b/ui/vnc.c
index 8768691db8..9bcc2c0db9 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -35,7 +35,6 @@
 #include "qemu/acl.h"
 #include "qemu/config-file.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qerror.h"
 #include "qapi/qmp/types.h"
 #include "qmp-commands.h"
 #include "ui/input.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (3 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 16:43   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too Markus Armbruster
                   ` (16 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block.c                    | 1 -
 blockjob.c                 | 1 -
 hw/acpi/acpi-stub.c        | 1 -
 hw/ppc/spapr.c             | 1 -
 hw/s390x/s390-stattrib.c   | 1 -
 hw/smbios/smbios-stub.c    | 1 -
 hw/xen/xen-common.c        | 1 -
 include/sysemu/arch_init.h | 1 -
 qga/guest-agent-core.h     | 2 +-
 qga/main.c                 | 1 +
 stubs/dump.c               | 1 -
 ui/cocoa.m                 | 1 -
 12 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/block.c b/block.c
index 2a8bc276c7..a97f709252 100644
--- a/block.c
+++ b/block.c
@@ -39,7 +39,6 @@
 #include "qemu/notify.h"
 #include "qemu/coroutine.h"
 #include "block/qapi.h"
-#include "qmp-commands.h"
 #include "qemu/timer.h"
 #include "qapi-event.h"
 #include "qemu/cutils.h"
diff --git a/blockjob.c b/blockjob.c
index d766fdc4ce..081f1d2b91 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -34,7 +34,6 @@
 #include "qapi/qmp/qjson.h"
 #include "qemu/coroutine.h"
 #include "qemu/id.h"
-#include "qmp-commands.h"
 #include "qemu/timer.h"
 #include "qapi-event.h"
 
diff --git a/hw/acpi/acpi-stub.c b/hw/acpi/acpi-stub.c
index 7dfc8af316..4c9d081ed4 100644
--- a/hw/acpi/acpi-stub.c
+++ b/hw/acpi/acpi-stub.c
@@ -21,7 +21,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qmp-commands.h"
 #include "hw/acpi/acpi.h"
 
 void acpi_table_add(const QemuOpts *opts, Error **errp)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 88a78d31eb..7474d6eeeb 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -74,7 +74,6 @@
 #include "hw/compat.h"
 #include "qemu/cutils.h"
 #include "hw/ppc/spapr_cpu_core.h"
-#include "qmp-commands.h"
 
 #include <libfdt.h>
 
diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
index 2902f54f11..c6c06b2780 100644
--- a/hw/s390x/s390-stattrib.c
+++ b/hw/s390x/s390-stattrib.c
@@ -12,7 +12,6 @@
 #include "qemu/osdep.h"
 #include "hw/boards.h"
 #include "cpu.h"
-#include "qmp-commands.h"
 #include "migration/qemu-file.h"
 #include "migration/register.h"
 #include "hw/s390x/storage-attributes.h"
diff --git a/hw/smbios/smbios-stub.c b/hw/smbios/smbios-stub.c
index 61becef4ae..d3a385441a 100644
--- a/hw/smbios/smbios-stub.c
+++ b/hw/smbios/smbios-stub.c
@@ -23,7 +23,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qmp-commands.h"
 #include "hw/smbios/smbios.h"
 
 void smbios_entry_add(QemuOpts *opts, Error **errp)
diff --git a/hw/xen/xen-common.c b/hw/xen/xen-common.c
index 632a938dcc..78c18f34a7 100644
--- a/hw/xen/xen-common.c
+++ b/hw/xen/xen-common.c
@@ -10,7 +10,6 @@
 
 #include "qemu/osdep.h"
 #include "hw/xen/xen_backend.h"
-#include "qmp-commands.h"
 #include "chardev/char.h"
 #include "sysemu/accel.h"
 #include "migration/misc.h"
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index 8751c468ed..90b38aecdd 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -1,7 +1,6 @@
 #ifndef QEMU_ARCH_INIT_H
 #define QEMU_ARCH_INIT_H
 
-#include "qmp-commands.h"
 #include "qemu/option.h"
 
 enum {
diff --git a/qga/guest-agent-core.h b/qga/guest-agent-core.h
index 3e8a4acff2..6f4d214cb9 100644
--- a/qga/guest-agent-core.h
+++ b/qga/guest-agent-core.h
@@ -12,7 +12,7 @@
  */
 #include "qapi/qmp/dispatch.h"
 #include "qemu-common.h"
-#include "qga-qmp-commands.h"
+#include "qga-qapi-types.h"
 
 #define QGA_READ_COUNT_DEFAULT 4096
 
diff --git a/qga/main.c b/qga/main.c
index 57083ca10c..804cc4c1a0 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -23,6 +23,7 @@
 #include "qapi/qmp/qjson.h"
 #include "qga/guest-agent-core.h"
 #include "qemu/module.h"
+#include "qga-qmp-commands.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/error.h"
 #include "qapi/qmp/dispatch.h"
diff --git a/stubs/dump.c b/stubs/dump.c
index d9ee23f1eb..8e5032c3af 100644
--- a/stubs/dump.c
+++ b/stubs/dump.c
@@ -14,7 +14,6 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "sysemu/dump-arch.h"
-#include "qmp-commands.h"
 
 int cpu_get_dump_info(ArchDumpInfo *info,
                       const struct GuestPhysBlockList *guest_phys_blocks)
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 6be9848391..19e1e827d2 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -31,7 +31,6 @@
 #include "ui/console.h"
 #include "ui/input.h"
 #include "sysemu/sysemu.h"
-#include "qmp-commands.h"
 #include "sysemu/blockdev.h"
 #include "qemu-version.h"
 #include <Carbon/Carbon.h>
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (4 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 16:50   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h Markus Armbruster
                   ` (15 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

This renders many inclusions of qapi/qmp/q*.h superfluous.  They'll be
dropped in the next few commits.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/qapi/qmp/qbool.h   | 4 ++--
 include/qapi/qmp/qdict.h   | 4 ++--
 include/qapi/qmp/qlist.h   | 4 ++--
 include/qapi/qmp/qnum.h    | 4 ++--
 include/qapi/qmp/qstring.h | 4 ++--
 include/qemu/typedefs.h    | 7 ++++++-
 6 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/include/qapi/qmp/qbool.h b/include/qapi/qmp/qbool.h
index f77ea86c4e..629c508d34 100644
--- a/include/qapi/qmp/qbool.h
+++ b/include/qapi/qmp/qbool.h
@@ -16,10 +16,10 @@
 
 #include "qapi/qmp/qobject.h"
 
-typedef struct QBool {
+struct QBool {
     QObject base;
     bool value;
-} QBool;
+};
 
 QBool *qbool_from_bool(bool value);
 bool qbool_get_bool(const QBool *qb);
diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h
index fc218e7be6..d0c298114e 100644
--- a/include/qapi/qmp/qdict.h
+++ b/include/qapi/qmp/qdict.h
@@ -27,11 +27,11 @@ typedef struct QDictEntry {
     QLIST_ENTRY(QDictEntry) next;
 } QDictEntry;
 
-typedef struct QDict {
+struct QDict {
     QObject base;
     size_t size;
     QLIST_HEAD(,QDictEntry) table[QDICT_BUCKET_MAX];
-} QDict;
+};
 
 /* Object API */
 QDict *qdict_new(void);
diff --git a/include/qapi/qmp/qlist.h b/include/qapi/qmp/qlist.h
index ec3fcc1a4c..632b7ef2c1 100644
--- a/include/qapi/qmp/qlist.h
+++ b/include/qapi/qmp/qlist.h
@@ -23,10 +23,10 @@ typedef struct QListEntry {
     QTAILQ_ENTRY(QListEntry) next;
 } QListEntry;
 
-typedef struct QList {
+struct QList {
     QObject base;
     QTAILQ_HEAD(,QListEntry) head;
-} QList;
+};
 
 #define qlist_append(qlist, obj) \
         qlist_append_obj(qlist, QOBJECT(obj))
diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h
index c3d86794bb..15e3971c7f 100644
--- a/include/qapi/qmp/qnum.h
+++ b/include/qapi/qmp/qnum.h
@@ -44,7 +44,7 @@ typedef enum {
  * in range: qnum_get_try_int() / qnum_get_try_uint() check range and
  * convert under the hood.
  */
-typedef struct QNum {
+struct QNum {
     QObject base;
     QNumKind kind;
     union {
@@ -52,7 +52,7 @@ typedef struct QNum {
         uint64_t u64;
         double dbl;
     } u;
-} QNum;
+};
 
 QNum *qnum_from_int(int64_t value);
 QNum *qnum_from_uint(uint64_t value);
diff --git a/include/qapi/qmp/qstring.h b/include/qapi/qmp/qstring.h
index 65c05a9be5..98070ef3d6 100644
--- a/include/qapi/qmp/qstring.h
+++ b/include/qapi/qmp/qstring.h
@@ -15,12 +15,12 @@
 
 #include "qapi/qmp/qobject.h"
 
-typedef struct QString {
+struct QString {
     QObject base;
     char *string;
     size_t length;
     size_t capacity;
-} QString;
+};
 
 QString *qstring_new(void);
 QString *qstring_from_str(const char *str);
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index 9bd7a834ba..78e2f08c0b 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -92,8 +92,13 @@ typedef struct QemuOptsList QemuOptsList;
 typedef struct QEMUSGList QEMUSGList;
 typedef struct QEMUTimer QEMUTimer;
 typedef struct QEMUTimerListGroup QEMUTimerListGroup;
-typedef struct QObject QObject;
+typedef struct QBool QBool;
+typedef struct QDict QDict;
+typedef struct QList QList;
 typedef struct QNull QNull;
+typedef struct QNum QNum;
+typedef struct QObject QObject;
+typedef struct QString QString;
 typedef struct RAMBlock RAMBlock;
 typedef struct Range Range;
 typedef struct SerialState SerialState;
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (5 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 16:56   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions Markus Armbruster
                   ` (14 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

qapi/qmp/types.h is a convenience header to include a number of
qapi/qmp/ headers.  Since we rarely need all of the headers
qapi/qmp/types.h includes, we bypass it most of the time.  Most of the
places that use it don't need all the headers, either.

Include the necessary headers directly, and drop qapi/qmp/types.h.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/qapi.c                        |  3 ++-
 block/qcow2.c                       |  3 ++-
 blockdev.c                          |  2 +-
 hw/pci/pcie_aer.c                   |  1 -
 hw/watchdog/watchdog.c              |  1 -
 include/qapi/qmp/types.h            | 24 ------------------------
 monitor.c                           |  2 +-
 qapi/qapi-dealloc-visitor.c         |  1 -
 qapi/qmp-dispatch.c                 |  1 -
 qapi/qobject-input-visitor.c        |  2 +-
 qapi/qobject-output-visitor.c       |  3 ++-
 qobject/json-parser.c               |  3 ++-
 qobject/qjson.c                     |  2 +-
 qobject/qlit.c                      |  4 +++-
 qobject/qobject.c                   |  4 +++-
 scripts/qapi-commands.py            |  1 -
 target/i386/cpu.c                   |  1 -
 tests/check-qjson.c                 |  2 +-
 tests/check-qobject.c               |  3 ++-
 tests/cpu-plug-test.c               |  1 -
 tests/qom-test.c                    |  1 -
 tests/test-clone-visitor.c          |  1 -
 tests/test-qmp-commands.c           |  3 ++-
 tests/test-qmp-event.c              |  3 ++-
 tests/test-qobject-input-visitor.c  |  2 +-
 tests/test-qobject-output-visitor.c |  2 +-
 tests/test-string-input-visitor.c   |  1 -
 tests/test-string-output-visitor.c  |  1 -
 tests/test-visitor-serialization.c  |  1 -
 ui/vnc.c                            |  1 -
 util/qemu-option.c                  |  4 +++-
 31 files changed, 30 insertions(+), 54 deletions(-)
 delete mode 100644 include/qapi/qmp/types.h

diff --git a/block/qapi.c b/block/qapi.c
index 4fc9fd8082..1ab4372519 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -31,7 +31,8 @@
 #include "qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qstring.h"
 #include "sysemu/block-backend.h"
 #include "qemu/cutils.h"
 
diff --git a/block/qcow2.c b/block/qcow2.c
index 7645b3c6ae..700c06245b 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -32,7 +32,8 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi-event.h"
 #include "trace.h"
 #include "qemu/option_int.h"
diff --git a/blockdev.c b/blockdev.c
index ad82dbbeee..8a47459937 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -40,7 +40,7 @@
 #include "qemu/error-report.h"
 #include "qemu/option.h"
 #include "qemu/config-file.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c
index b009be7f17..071e5e9bbb 100644
--- a/hw/pci/pcie_aer.c
+++ b/hw/pci/pcie_aer.c
@@ -20,7 +20,6 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
-#include "qapi/qmp/types.h"
 #include "qapi/qmp/qjson.h"
 #include "monitor/monitor.h"
 #include "hw/pci/pci_bridge.h"
diff --git a/hw/watchdog/watchdog.c b/hw/watchdog/watchdog.c
index 25dcb25ff1..98a5dd6689 100644
--- a/hw/watchdog/watchdog.c
+++ b/hw/watchdog/watchdog.c
@@ -24,7 +24,6 @@
 #include "qemu/config-file.h"
 #include "qemu/queue.h"
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/watchdog.h"
 #include "qapi-event.h"
diff --git a/include/qapi/qmp/types.h b/include/qapi/qmp/types.h
deleted file mode 100644
index 749ac44dcb..0000000000
--- a/include/qapi/qmp/types.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Include all QEMU objects.
- *
- * Copyright (C) 2009 Red Hat Inc.
- *
- * Authors:
- *  Luiz Capitulino <lcapitulino@redhat.com>
- *
- * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
- * See the COPYING.LIB file in the top-level directory.
- */
-
-#ifndef QAPI_QMP_TYPES_H
-#define QAPI_QMP_TYPES_H
-
-#include "qapi/qmp/qobject.h"
-#include "qapi/qmp/qnum.h"
-#include "qapi/qmp/qbool.h"
-#include "qapi/qmp/qstring.h"
-#include "qapi/qmp/qdict.h"
-#include "qapi/qmp/qlist.h"
-#include "qapi/qmp/qnull.h"
-
-#endif /* QAPI_QMP_TYPES_H */
diff --git a/monitor.c b/monitor.c
index 2de69f648f..f38640c1e4 100644
--- a/monitor.c
+++ b/monitor.c
@@ -53,7 +53,7 @@
 #include "qemu/acl.h"
 #include "sysemu/tpm.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
diff --git a/qapi/qapi-dealloc-visitor.c b/qapi/qapi-dealloc-visitor.c
index ed70a0158b..c7d5f80302 100644
--- a/qapi/qapi-dealloc-visitor.c
+++ b/qapi/qapi-dealloc-visitor.c
@@ -16,7 +16,6 @@
 #include "qapi/dealloc-visitor.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
-#include "qapi/qmp/types.h"
 #include "qapi/visitor-impl.h"
 
 struct QapiDeallocVisitor
diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
index 8829c4a45a..92f957f40e 100644
--- a/qapi/qmp-dispatch.c
+++ b/qapi/qmp-dispatch.c
@@ -13,7 +13,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
 #include "qapi/qmp/dispatch.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/qjson.h"
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index ee9e47d911..8fb34c472e 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -20,7 +20,7 @@
 #include "qemu/queue.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qjson.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/cutils.h"
 #include "qemu/option.h"
diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
index d325163e55..60398765df 100644
--- a/qapi/qobject-output-visitor.c
+++ b/qapi/qobject-output-visitor.c
@@ -17,7 +17,8 @@
 #include "qapi/visitor-impl.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qstring.h"
 
 typedef struct QStackEntry {
     QObject *value;
diff --git a/qobject/json-parser.c b/qobject/json-parser.c
index 724ca240e4..30dfb9dc41 100644
--- a/qobject/json-parser.c
+++ b/qobject/json-parser.c
@@ -15,7 +15,8 @@
 #include "qemu/cutils.h"
 #include "qapi/error.h"
 #include "qemu-common.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/json-lexer.h"
 #include "qapi/qmp/json-streamer.h"
diff --git a/qobject/qjson.c b/qobject/qjson.c
index 2e0930884e..fe89213247 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -17,7 +17,7 @@
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/qjson.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qemu/unicode.h"
 
 typedef struct JSONParsingState
diff --git a/qobject/qlit.c b/qobject/qlit.c
index 3c4882c784..dbf19225c8 100644
--- a/qobject/qlit.c
+++ b/qobject/qlit.c
@@ -16,7 +16,9 @@
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qlit.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 
 static bool qlit_equal_qdict(const QLitObject *lhs, const QDict *qdict)
 {
diff --git a/qobject/qobject.c b/qobject/qobject.c
index b2a536041d..9b61ece06b 100644
--- a/qobject/qobject.c
+++ b/qobject/qobject.c
@@ -9,7 +9,9 @@
 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 
 static void (*qdestroy[QTYPE__MAX])(QObject *) = {
     [QTYPE_NONE] = NULL,               /* No such object exists */
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index dc7c418923..26c56c5062 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -293,7 +293,6 @@ fdef.write(mcgen('''
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/module.h"
-#include "qapi/qmp/types.h"
 #include "qapi/visitor.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qobject-input-visitor.h"
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index ae44c9d8ad..6627e98bdf 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -32,7 +32,6 @@
 #include "qemu/config-file.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/types.h"
 
 #include "qapi-visit.h"
 #include "qapi/visitor.h"
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index 59227934ce..7881009f1c 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -14,7 +14,7 @@
 #include "qemu/osdep.h"
 
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlit.h"
 #include "qemu-common.h"
diff --git a/tests/check-qobject.c b/tests/check-qobject.c
index 710f9e6b0a..06b9c6ec34 100644
--- a/tests/check-qobject.c
+++ b/tests/check-qobject.c
@@ -8,7 +8,8 @@
  */
 #include "qemu/osdep.h"
 
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu-common.h"
 
 #include <math.h>
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index 05d82f76c4..65456c9e37 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -11,7 +11,6 @@
 
 #include "qemu-common.h"
 #include "libqtest.h"
-#include "qapi/qmp/types.h"
 
 struct PlugTestData {
     char *machine;
diff --git a/tests/qom-test.c b/tests/qom-test.c
index ab0595dc75..0ee990710c 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -12,7 +12,6 @@
 #include "qemu-common.h"
 #include "qemu/cutils.h"
 #include "libqtest.h"
-#include "qapi/qmp/types.h"
 
 static const char *blacklist_x86[] = {
     "xenfv", "xenpv", NULL
diff --git a/tests/test-clone-visitor.c b/tests/test-clone-visitor.c
index 6b6d4aaeba..9aeaf86a07 100644
--- a/tests/test-clone-visitor.c
+++ b/tests/test-clone-visitor.c
@@ -12,7 +12,6 @@
 #include "qemu-common.h"
 #include "qapi/clone-visitor.h"
 #include "test-qapi-visit.h"
-#include "qapi/qmp/types.h"
 
 static void test_clone_struct(void)
 {
diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
index 52c1802eaf..4794d1a9d8 100644
--- a/tests/test-qmp-commands.c
+++ b/tests/test-qmp-commands.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 #include "test-qmp-commands.h"
 #include "qapi/error.h"
 #include "qapi/qmp/dispatch.h"
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index 5be2d8efcf..b197dff453 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -17,8 +17,9 @@
 #include "test-qapi-visit.h"
 #include "test-qapi-event.h"
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qobject.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp-event.h"
 
 typedef struct TestEventData {
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index ade6062e2c..96405991bb 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -17,7 +17,7 @@
 #include "qapi/error.h"
 #include "qapi/qobject-input-visitor.h"
 #include "test-qapi-visit.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "test-qmp-introspect.h"
 #include "qmp-introspect.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index 1cff769b15..a0b7fe6add 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -16,7 +16,7 @@
 #include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
 #include "test-qapi-visit.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 
 typedef struct TestOutputVisitorData {
diff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c
index 4473944f3f..88e0e1aa9a 100644
--- a/tests/test-string-input-visitor.c
+++ b/tests/test-string-input-visitor.c
@@ -16,7 +16,6 @@
 #include "qapi/error.h"
 #include "qapi/string-input-visitor.h"
 #include "test-qapi-visit.h"
-#include "qapi/qmp/types.h"
 
 typedef struct TestInputVisitorData {
     Visitor *v;
diff --git a/tests/test-string-output-visitor.c b/tests/test-string-output-visitor.c
index facb76ffc3..fa4b4ca288 100644
--- a/tests/test-string-output-visitor.c
+++ b/tests/test-string-output-visitor.c
@@ -16,7 +16,6 @@
 #include "qapi/error.h"
 #include "qapi/string-output-visitor.h"
 #include "test-qapi-visit.h"
-#include "qapi/qmp/types.h"
 
 typedef struct TestOutputVisitorData {
     Visitor *ov;
diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c
index a3407d205d..928a82b2e6 100644
--- a/tests/test-visitor-serialization.c
+++ b/tests/test-visitor-serialization.c
@@ -17,7 +17,6 @@
 #include "qemu-common.h"
 #include "test-qapi-visit.h"
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
diff --git a/ui/vnc.c b/ui/vnc.c
index 9bcc2c0db9..8458e6d9fe 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -35,7 +35,6 @@
 #include "qemu/acl.h"
 #include "qemu/config-file.h"
 #include "qapi/error.h"
-#include "qapi/qmp/types.h"
 #include "qmp-commands.h"
 #include "ui/input.h"
 #include "qapi-event.h"
diff --git a/util/qemu-option.c b/util/qemu-option.c
index 553d3dc552..d790c1b85a 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -28,7 +28,9 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
-#include "qapi/qmp/types.h"
+#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/option_int.h"
 #include "qemu/cutils.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (6 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:02   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed Markus Armbruster
                   ` (13 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

The macro expansions of qdict_put_TYPE() and qlist_append_TYPE() need
qbool.h, qnull.h, qnum.h and qstring.h to compile.  We include qnull.h
and qnum.h in the headers, but not qbool.h and qstring.h.  Works,
because we include those wherever the macros get used.

Open-coding these helpers is of dubious value.  Turn them into
functions and drop the includes from the headers.

This cleanup makes the number of objects depending on qapi/qmp/qnum.h
from 4548 (out of 4739) to 46 in my "build everything" tree.  For
qapi/qmp/qnull.h, the number drops from 4549 to 21.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/qapi.c                        |  1 +
 blockdev.c                          |  1 +
 hw/i386/acpi-build.c                |  1 +
 hw/ppc/spapr_drc.c                  |  1 +
 include/qapi/qmp/qdict.h            | 16 ++++------------
 include/qapi/qmp/qlist.h            | 15 ++++-----------
 migration/migration.c               |  1 +
 monitor.c                           |  1 +
 qapi/qapi-dealloc-visitor.c         |  1 +
 qapi/qobject-input-visitor.c        |  2 ++
 qapi/qobject-output-visitor.c       |  2 ++
 qobject/json-parser.c               |  2 ++
 qobject/qdict.c                     | 21 +++++++++++++++++++++
 qobject/qjson.c                     |  1 +
 qobject/qlist.c                     | 24 ++++++++++++++++++++++++
 qobject/qlit.c                      |  1 +
 qobject/qobject.c                   |  2 ++
 qom/object.c                        |  1 +
 target/ppc/translate.c              |  1 +
 tests/check-qdict.c                 |  1 +
 tests/check-qjson.c                 |  2 ++
 tests/check-qobject.c               |  2 ++
 tests/test-qmp-commands.c           |  1 +
 tests/test-qmp-event.c              |  1 +
 tests/test-qobject-input-visitor.c  |  2 ++
 tests/test-qobject-output-visitor.c |  2 ++
 util/qemu-option.c                  |  1 +
 27 files changed, 84 insertions(+), 23 deletions(-)

diff --git a/block/qapi.c b/block/qapi.c
index 1ab4372519..1e0cb2743d 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -32,6 +32,7 @@
 #include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "sysemu/block-backend.h"
 #include "qemu/cutils.h"
diff --git a/blockdev.c b/blockdev.c
index 8a47459937..c487cf0e4b 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -40,6 +40,7 @@
 #include "qemu/error-report.h"
 #include "qemu/option.h"
 #include "qemu/config-file.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index dc4b2b9ffe..7ff62de52f 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -22,6 +22,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qnum.h"
 #include "acpi-build.h"
 #include "qemu-common.h"
 #include "qemu/bitmap.h"
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
index e3b122968e..aa251133de 100644
--- a/hw/ppc/spapr_drc.c
+++ b/hw/ppc/spapr_drc.c
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qnull.h"
 #include "cpu.h"
 #include "qemu/cutils.h"
 #include "hw/ppc/spapr_drc.h"
diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h
index d0c298114e..3c1def00f7 100644
--- a/include/qapi/qmp/qdict.h
+++ b/include/qapi/qmp/qdict.h
@@ -15,8 +15,6 @@
 
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qlist.h"
-#include "qapi/qmp/qnull.h"
-#include "qapi/qmp/qnum.h"
 #include "qemu/queue.h"
 
 #define QDICT_BUCKET_MAX 512
@@ -55,17 +53,11 @@ void qdict_destroy_obj(QObject *obj);
 #define qdict_put(qdict, key, obj) \
         qdict_put_obj(qdict, key, QOBJECT(obj))
 
-/* Helpers for int, bool, null, and string */
-#define qdict_put_int(qdict, key, value) \
-        qdict_put(qdict, key, qnum_from_int(value))
-#define qdict_put_bool(qdict, key, value) \
-        qdict_put(qdict, key, qbool_from_bool(value))
-#define qdict_put_str(qdict, key, value) \
-        qdict_put(qdict, key, qstring_from_str(value))
-#define qdict_put_null(qdict, key) \
-        qdict_put(qdict, key, qnull())
+void qdict_put_bool(QDict *qdict, const char *key, bool value);
+void qdict_put_int(QDict *qdict, const char *key, int64_t value);
+void qdict_put_null(QDict *qdict, const char *key);
+void qdict_put_str(QDict *qdict, const char *key, const char *value);
 
-/* High level helpers */
 double qdict_get_double(const QDict *qdict, const char *key);
 int64_t qdict_get_int(const QDict *qdict, const char *key);
 bool qdict_get_bool(const QDict *qdict, const char *key);
diff --git a/include/qapi/qmp/qlist.h b/include/qapi/qmp/qlist.h
index 632b7ef2c1..5fd976a398 100644
--- a/include/qapi/qmp/qlist.h
+++ b/include/qapi/qmp/qlist.h
@@ -14,8 +14,6 @@
 #define QLIST_H
 
 #include "qapi/qmp/qobject.h"
-#include "qapi/qmp/qnum.h"
-#include "qapi/qmp/qnull.h"
 #include "qemu/queue.h"
 
 typedef struct QListEntry {
@@ -31,15 +29,10 @@ struct QList {
 #define qlist_append(qlist, obj) \
         qlist_append_obj(qlist, QOBJECT(obj))
 
-/* Helpers for int, bool, and string */
-#define qlist_append_int(qlist, value) \
-        qlist_append(qlist, qnum_from_int(value))
-#define qlist_append_bool(qlist, value) \
-        qlist_append(qlist, qbool_from_bool(value))
-#define qlist_append_str(qlist, value) \
-        qlist_append(qlist, qstring_from_str(value))
-#define qlist_append_null(qlist) \
-        qlist_append(qlist, qnull())
+void qlist_append_bool(QList *qlist, bool value);
+void qlist_append_int(QList *qlist, int64_t value);
+void qlist_append_null(QList *qlist);
+void qlist_append_str(QList *qlist, const char *value);
 
 #define QLIST_FOREACH_ENTRY(qlist, var)             \
         for ((var) = ((qlist)->head.tqh_first);     \
diff --git a/migration/migration.c b/migration/migration.c
index 79ec88dba2..26865dc6df 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -32,6 +32,7 @@
 #include "block/block.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
+#include "qapi/qmp/qnull.h"
 #include "qemu/rcu.h"
 #include "block.h"
 #include "postcopy-ram.h"
diff --git a/monitor.c b/monitor.c
index f38640c1e4..20f7b159b3 100644
--- a/monitor.c
+++ b/monitor.c
@@ -54,6 +54,7 @@
 #include "sysemu/tpm.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
diff --git a/qapi/qapi-dealloc-visitor.c b/qapi/qapi-dealloc-visitor.c
index c7d5f80302..fd23803166 100644
--- a/qapi/qapi-dealloc-visitor.c
+++ b/qapi/qapi-dealloc-visitor.c
@@ -14,6 +14,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/dealloc-visitor.h"
+#include "qapi/qmp/qnull.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
 #include "qapi/visitor-impl.h"
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index 8fb34c472e..31183dcb62 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -22,6 +22,8 @@
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qerror.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qemu/cutils.h"
 #include "qemu/option.h"
 
diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
index 60398765df..f0cc46b3cf 100644
--- a/qapi/qobject-output-visitor.c
+++ b/qapi/qobject-output-visitor.c
@@ -18,6 +18,8 @@
 #include "qemu/queue.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 
 typedef struct QStackEntry {
diff --git a/qobject/json-parser.c b/qobject/json-parser.c
index 30dfb9dc41..8f4badc6d9 100644
--- a/qobject/json-parser.c
+++ b/qobject/json-parser.c
@@ -16,6 +16,8 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/json-lexer.h"
diff --git a/qobject/qdict.c b/qobject/qdict.c
index e8f15f1132..7e7ac24cf7 100644
--- a/qobject/qdict.c
+++ b/qobject/qdict.c
@@ -14,6 +14,7 @@
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/error.h"
@@ -143,6 +144,26 @@ void qdict_put_obj(QDict *qdict, const char *key, QObject *value)
     }
 }
 
+void qdict_put_int(QDict *qdict, const char *key, int64_t value)
+{
+    qdict_put(qdict, key, qnum_from_int(value));
+}
+
+void qdict_put_bool(QDict *qdict, const char *key, bool value)
+{
+    qdict_put(qdict, key, qbool_from_bool(value));
+}
+
+void qdict_put_str(QDict *qdict, const char *key, const char *value)
+{
+    qdict_put(qdict, key, qstring_from_str(value));
+}
+
+void qdict_put_null(QDict *qdict, const char *key)
+{
+    qdict_put(qdict, key, qnull());
+}
+
 /**
  * qdict_get(): Lookup for a given 'key'
  *
diff --git a/qobject/qjson.c b/qobject/qjson.c
index fe89213247..7fbb68b6ba 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -18,6 +18,7 @@
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qemu/unicode.h"
 
 typedef struct JSONParsingState
diff --git a/qobject/qlist.c b/qobject/qlist.c
index 3ef57d31d1..268e46c8f0 100644
--- a/qobject/qlist.c
+++ b/qobject/qlist.c
@@ -11,8 +11,12 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qlist.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qobject.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
 
@@ -64,6 +68,26 @@ void qlist_append_obj(QList *qlist, QObject *value)
     QTAILQ_INSERT_TAIL(&qlist->head, entry, next);
 }
 
+void qlist_append_int(QList *qlist, int64_t value)
+{
+    qlist_append(qlist, qnum_from_int(value));
+}
+
+void qlist_append_bool(QList *qlist, bool value)
+{
+    qlist_append(qlist, qbool_from_bool(value));
+}
+
+void qlist_append_str(QList *qlist, const char *value)
+{
+    qlist_append(qlist, qstring_from_str(value));
+}
+
+void qlist_append_null(QList *qlist)
+{
+    qlist_append(qlist, qnull());
+}
+
 /**
  * qlist_iter(): Iterate over all the list's stored values.
  *
diff --git a/qobject/qlit.c b/qobject/qlit.c
index dbf19225c8..c2d0303425 100644
--- a/qobject/qlit.c
+++ b/qobject/qlit.c
@@ -17,6 +17,7 @@
 
 #include "qapi/qmp/qlit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 
diff --git a/qobject/qobject.c b/qobject/qobject.c
index 9b61ece06b..5bbcd04812 100644
--- a/qobject/qobject.c
+++ b/qobject/qobject.c
@@ -10,6 +10,8 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 
diff --git a/qom/object.c b/qom/object.c
index c58c52d518..d97f09c1fb 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -27,6 +27,7 @@
 #include "qom/qom-qobject.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 
 #define MAX_INTERFACES 32
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index 4132f67bb1..eeaad9e91f 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -24,6 +24,7 @@
 #include "disas/disas.h"
 #include "exec/exec-all.h"
 #include "tcg-op.h"
+#include "qapi/qmp/qnull.h"
 #include "qemu/host-utils.h"
 #include "exec/cpu_ldst.h"
 
diff --git a/tests/check-qdict.c b/tests/check-qdict.c
index 35405778cc..1b1173634f 100644
--- a/tests/check-qdict.c
+++ b/tests/check-qdict.c
@@ -12,6 +12,7 @@
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/error.h"
 #include "qemu-common.h"
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index 7881009f1c..26f5d4401e 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -17,6 +17,8 @@
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlit.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qemu-common.h"
 
 static void escaped_string(void)
diff --git a/tests/check-qobject.c b/tests/check-qobject.c
index 06b9c6ec34..9e1e82045f 100644
--- a/tests/check-qobject.c
+++ b/tests/check-qobject.c
@@ -9,6 +9,8 @@
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu-common.h"
 
diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
index 4794d1a9d8..b5a3d88775 100644
--- a/tests/test-qmp-commands.c
+++ b/tests/test-qmp-commands.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "test-qmp-commands.h"
 #include "qapi/error.h"
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index b197dff453..cad94778c7 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -18,6 +18,7 @@
 #include "test-qapi-event.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp-event.h"
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index 96405991bb..20bf9a5414 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -18,6 +18,8 @@
 #include "qapi/qobject-input-visitor.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qjson.h"
 #include "test-qmp-introspect.h"
 #include "qmp-introspect.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index a0b7fe6add..4a24e12121 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -17,6 +17,8 @@
 #include "qapi/qobject-output-visitor.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qnull.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qjson.h"
 
 typedef struct TestOutputVisitorData {
diff --git a/util/qemu-option.c b/util/qemu-option.c
index d790c1b85a..a401e936da 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -30,6 +30,7 @@
 #include "qemu/error-report.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/option_int.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (7 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:03   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h " Markus Armbruster
                   ` (12 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/block/block.h                 | 1 -
 include/qapi/qmp/dispatch.h           | 1 -
 include/qapi/qmp/qjson.h              | 1 -
 include/qapi/qobject-input-visitor.h  | 1 -
 include/qapi/qobject-output-visitor.h | 1 -
 include/qapi/visitor.h                | 2 +-
 qapi/qapi-visit-core.c                | 1 -
 qmp.c                                 | 1 -
 qobject/qbool.c                       | 1 -
 qobject/qdict.c                       | 1 -
 qobject/qlist.c                       | 1 -
 qobject/qnum.c                        | 1 -
 qobject/qstring.c                     | 1 -
 qom/object.c                          | 1 -
 tests/test-qmp-event.c                | 1 -
 15 files changed, 1 insertion(+), 15 deletions(-)

diff --git a/include/block/block.h b/include/block/block.h
index 0608834396..62ba19d78d 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -8,7 +8,6 @@
 #include "block/accounting.h"
 #include "block/dirty-bitmap.h"
 #include "block/blockjob.h"
-#include "qapi/qmp/qobject.h"
 #include "qemu/hbitmap.h"
 
 /* block.c */
diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h
index 20578dcd48..47a0ff348b 100644
--- a/include/qapi/qmp/dispatch.h
+++ b/include/qapi/qmp/dispatch.h
@@ -14,7 +14,6 @@
 #ifndef QAPI_QMP_DISPATCH_H
 #define QAPI_QMP_DISPATCH_H
 
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qdict.h"
 
 typedef void (QmpCommandFunc)(QDict *, QObject **, Error **);
diff --git a/include/qapi/qmp/qjson.h b/include/qapi/qmp/qjson.h
index 6e84082d5f..6b38b0f074 100644
--- a/include/qapi/qmp/qjson.h
+++ b/include/qapi/qmp/qjson.h
@@ -14,7 +14,6 @@
 #ifndef QJSON_H
 #define QJSON_H
 
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 
 QObject *qobject_from_json(const char *string, Error **errp);
diff --git a/include/qapi/qobject-input-visitor.h b/include/qapi/qobject-input-visitor.h
index daee18c6ac..95985e25e5 100644
--- a/include/qapi/qobject-input-visitor.h
+++ b/include/qapi/qobject-input-visitor.h
@@ -16,7 +16,6 @@
 #define QOBJECT_INPUT_VISITOR_H
 
 #include "qapi/visitor.h"
-#include "qapi/qmp/qobject.h"
 
 typedef struct QObjectInputVisitor QObjectInputVisitor;
 
diff --git a/include/qapi/qobject-output-visitor.h b/include/qapi/qobject-output-visitor.h
index e5a3490812..2b1726baf5 100644
--- a/include/qapi/qobject-output-visitor.h
+++ b/include/qapi/qobject-output-visitor.h
@@ -15,7 +15,6 @@
 #define QOBJECT_OUTPUT_VISITOR_H
 
 #include "qapi/visitor.h"
-#include "qapi/qmp/qobject.h"
 
 typedef struct QObjectOutputVisitor QObjectOutputVisitor;
 
diff --git a/include/qapi/visitor.h b/include/qapi/visitor.h
index 62a51a54cb..ecff296c11 100644
--- a/include/qapi/visitor.h
+++ b/include/qapi/visitor.h
@@ -15,7 +15,7 @@
 #ifndef QAPI_VISITOR_H
 #define QAPI_VISITOR_H
 
-#include "qapi/qmp/qobject.h"
+#include "qapi-types.h"
 
 /*
  * The QAPI schema defines both a set of C data types, and a QMP wire
diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c
index 3dcb968867..d9a113726f 100644
--- a/qapi/qapi-visit-core.c
+++ b/qapi/qapi-visit-core.c
@@ -15,7 +15,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu-common.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/visitor.h"
 #include "qapi/visitor-impl.h"
diff --git a/qmp.c b/qmp.c
index a56faf1b9a..f87de2bc26 100644
--- a/qmp.c
+++ b/qmp.c
@@ -32,7 +32,6 @@
 #include "qom/qom-qobject.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qobject-input-visitor.h"
 #include "hw/boards.h"
 #include "qom/object_interfaces.h"
diff --git a/qobject/qbool.c b/qobject/qbool.c
index ac825fc5a2..e5a7a53879 100644
--- a/qobject/qbool.c
+++ b/qobject/qbool.c
@@ -13,7 +13,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/qmp/qbool.h"
-#include "qapi/qmp/qobject.h"
 #include "qemu-common.h"
 
 /**
diff --git a/qobject/qdict.c b/qobject/qdict.c
index 7e7ac24cf7..88f87d2527 100644
--- a/qobject/qdict.c
+++ b/qobject/qdict.c
@@ -16,7 +16,6 @@
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qstring.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/error.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
diff --git a/qobject/qlist.c b/qobject/qlist.c
index 268e46c8f0..613a95c12b 100644
--- a/qobject/qlist.c
+++ b/qobject/qlist.c
@@ -15,7 +15,6 @@
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/queue.h"
 #include "qemu-common.h"
diff --git a/qobject/qnum.c b/qobject/qnum.c
index 517610d9da..60c395c1bc 100644
--- a/qobject/qnum.c
+++ b/qobject/qnum.c
@@ -14,7 +14,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/qmp/qnum.h"
-#include "qapi/qmp/qobject.h"
 #include "qemu-common.h"
 
 /**
diff --git a/qobject/qstring.c b/qobject/qstring.c
index 74182a1c02..05b4bbc2d6 100644
--- a/qobject/qstring.c
+++ b/qobject/qstring.c
@@ -11,7 +11,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu-common.h"
 
diff --git a/qom/object.c b/qom/object.c
index d97f09c1fb..5dcee4683c 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -25,7 +25,6 @@
 /* TODO: replace QObject with a simpler visitor to avoid a dependency
  * of the QOM core on QObject?  */
 #include "qom/qom-qobject.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index cad94778c7..e5ee69e9af 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -19,7 +19,6 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qnum.h"
-#include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp-event.h"
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (8 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:47   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h " Markus Armbruster
                   ` (11 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

This cleanup makes the number of objects depending on qapi/qmp/qlist.h
drop from 4548 (out of 4739) to 16 in my "build everything" tree.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/qapi.c                        | 1 +
 block/rbd.c                         | 1 +
 blockdev.c                          | 1 +
 include/qapi/qmp/json-parser.h      | 1 -
 include/qapi/qmp/qdict.h            | 1 -
 qapi/qobject-input-visitor.c        | 1 +
 qapi/qobject-output-visitor.c       | 1 +
 qobject/json-parser.c               | 1 +
 qobject/qdict.c                     | 1 +
 qobject/qjson.c                     | 1 +
 qobject/qlit.c                      | 1 +
 qobject/qobject.c                   | 1 +
 tests/check-qdict.c                 | 2 ++
 tests/check-qlit.c                  | 1 +
 tests/check-qobject.c               | 2 ++
 tests/device-introspect-test.c      | 1 +
 tests/libqtest.c                    | 2 ++
 tests/numa-test.c                   | 1 +
 tests/qmp-test.c                    | 1 +
 tests/qom-test.c                    | 1 +
 tests/test-keyval.c                 | 1 +
 tests/test-qga.c                    | 1 +
 tests/test-qobject-output-visitor.c | 1 +
 tests/test-x86-cpuid-compat.c       | 1 +
 ui/vnc-palette.h                    | 1 -
 util/keyval.c                       | 1 +
 util/qemu-config.c                  | 1 +
 27 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/block/qapi.c b/block/qapi.c
index 1e0cb2743d..12a8cb5a82 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -32,6 +32,7 @@
 #include "qapi/error.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "sysemu/block-backend.h"
diff --git a/block/rbd.c b/block/rbd.c
index a76a5e8755..76b9e83cea 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -21,6 +21,7 @@
 #include "qemu/cutils.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
+#include "qapi/qmp/qlist.h"
 
 /*
  * When specifying the image filename use:
diff --git a/blockdev.c b/blockdev.c
index c487cf0e4b..90ef3166de 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -45,6 +45,7 @@
 #include "qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qobject-output-visitor.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/iothread.h"
diff --git a/include/qapi/qmp/json-parser.h b/include/qapi/qmp/json-parser.h
index 9987f8ca85..102f5c0068 100644
--- a/include/qapi/qmp/json-parser.h
+++ b/include/qapi/qmp/json-parser.h
@@ -15,7 +15,6 @@
 #define QEMU_JSON_PARSER_H
 
 #include "qemu-common.h"
-#include "qapi/qmp/qlist.h"
 
 QObject *json_parser_parse(GQueue *tokens, va_list *ap);
 QObject *json_parser_parse_err(GQueue *tokens, va_list *ap, Error **errp);
diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h
index 3c1def00f7..ff6f7842c3 100644
--- a/include/qapi/qmp/qdict.h
+++ b/include/qapi/qmp/qdict.h
@@ -14,7 +14,6 @@
 #define QDICT_H
 
 #include "qapi/qmp/qobject.h"
-#include "qapi/qmp/qlist.h"
 #include "qemu/queue.h"
 
 #define QDICT_BUCKET_MAX 512
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index 31183dcb62..3e235a1eee 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -22,6 +22,7 @@
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qerror.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qemu/cutils.h"
diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
index f0cc46b3cf..52634b9725 100644
--- a/qapi/qobject-output-visitor.c
+++ b/qapi/qobject-output-visitor.c
@@ -18,6 +18,7 @@
 #include "qemu/queue.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
diff --git a/qobject/json-parser.c b/qobject/json-parser.c
index 8f4badc6d9..ee0cbba6a5 100644
--- a/qobject/json-parser.c
+++ b/qobject/json-parser.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
diff --git a/qobject/qdict.c b/qobject/qdict.c
index 88f87d2527..23df84f9cd 100644
--- a/qobject/qdict.c
+++ b/qobject/qdict.c
@@ -14,6 +14,7 @@
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/error.h"
diff --git a/qobject/qjson.c b/qobject/qjson.c
index 7fbb68b6ba..527b5bb571 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -18,6 +18,7 @@
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qemu/unicode.h"
 
diff --git a/qobject/qlit.c b/qobject/qlit.c
index c2d0303425..948e0b860c 100644
--- a/qobject/qlit.c
+++ b/qobject/qlit.c
@@ -17,6 +17,7 @@
 
 #include "qapi/qmp/qlit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
diff --git a/qobject/qobject.c b/qobject/qobject.c
index 5bbcd04812..23600aa1c1 100644
--- a/qobject/qobject.c
+++ b/qobject/qobject.c
@@ -13,6 +13,7 @@
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 
 static void (*qdestroy[QTYPE__MAX])(QObject *) = {
diff --git a/tests/check-qdict.c b/tests/check-qdict.c
index 1b1173634f..d11904ea0c 100644
--- a/tests/check-qdict.c
+++ b/tests/check-qdict.c
@@ -9,9 +9,11 @@
  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
  * See the COPYING.LIB file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/error.h"
diff --git a/tests/check-qlit.c b/tests/check-qlit.c
index c59ec1ab88..b8b5016af7 100644
--- a/tests/check-qlit.c
+++ b/tests/check-qlit.c
@@ -11,6 +11,7 @@
 
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qlit.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
diff --git a/tests/check-qobject.c b/tests/check-qobject.c
index 9e1e82045f..927966093a 100644
--- a/tests/check-qobject.c
+++ b/tests/check-qobject.c
@@ -6,9 +6,11 @@
  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
  * See the COPYING.LIB file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
diff --git a/tests/device-introspect-test.c b/tests/device-introspect-test.c
index f7162c023f..2b3d01174d 100644
--- a/tests/device-introspect-test.c
+++ b/tests/device-introspect-test.c
@@ -22,6 +22,7 @@
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qlist.h"
 #include "libqtest.h"
 
 const char common_args[] = "-nodefaults -machine none";
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 0ec8af2923..cd0cc57e80 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -14,6 +14,7 @@
  * See the COPYING file in the top-level directory.
  *
  */
+
 #include "qemu/osdep.h"
 #include "libqtest.h"
 
@@ -25,6 +26,7 @@
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/qjson.h"
+#include "qapi/qmp/qlist.h"
 
 #define MAX_IRQ 256
 #define SOCKET_TIMEOUT 50
diff --git a/tests/numa-test.c b/tests/numa-test.c
index e1b6152244..8158854e17 100644
--- a/tests/numa-test.c
+++ b/tests/numa-test.c
@@ -11,6 +11,7 @@
 
 #include "qemu/osdep.h"
 #include "libqtest.h"
+#include "qapi/qmp/qlist.h"
 
 static char *make_cli(const char *generic_cli, const char *test_cli)
 {
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index 36feb2204b..cc9661af47 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -14,6 +14,7 @@
 #include "libqtest.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/util.h"
 #include "qapi/visitor.h"
diff --git a/tests/qom-test.c b/tests/qom-test.c
index 0ee990710c..847703cb14 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -10,6 +10,7 @@
 #include "qemu/osdep.h"
 
 #include "qemu-common.h"
+#include "qapi/qmp/qlist.h"
 #include "qemu/cutils.h"
 #include "libqtest.h"
 
diff --git a/tests/test-keyval.c b/tests/test-keyval.c
index baf7e339ab..d0c4bf2b9d 100644
--- a/tests/test-keyval.c
+++ b/tests/test-keyval.c
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qobject-input-visitor.h"
 #include "test-qapi-visit.h"
diff --git a/tests/test-qga.c b/tests/test-qga.c
index fd6bc7690f..e67c7289eb 100644
--- a/tests/test-qga.c
+++ b/tests/test-qga.c
@@ -5,6 +5,7 @@
 #include <sys/un.h>
 
 #include "libqtest.h"
+#include "qapi/qmp/qlist.h"
 
 typedef struct {
     char *test_dir;
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index 4a24e12121..7cf86707ec 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -17,6 +17,7 @@
 #include "qapi/qobject-output-visitor.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qjson.h"
diff --git a/tests/test-x86-cpuid-compat.c b/tests/test-x86-cpuid-compat.c
index c594b5bd97..495dd1e7ef 100644
--- a/tests/test-x86-cpuid-compat.c
+++ b/tests/test-x86-cpuid-compat.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qbool.h"
 #include "libqtest.h"
diff --git a/ui/vnc-palette.h b/ui/vnc-palette.h
index 1bd4318f53..e9f0eaf73b 100644
--- a/ui/vnc-palette.h
+++ b/ui/vnc-palette.h
@@ -29,7 +29,6 @@
 #ifndef VNC_PALETTE_H
 #define VNC_PALETTE_H
 
-#include "qapi/qmp/qlist.h"
 #include "qemu/queue.h"
 
 #define VNC_PALETTE_HASH_SIZE 256
diff --git a/util/keyval.c b/util/keyval.c
index 7dfc75cf01..4085282a7a 100644
--- a/util/keyval.c
+++ b/util/keyval.c
@@ -81,6 +81,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
 #include "qemu/option.h"
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 26ea248062..230c699a51 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "qemu/option.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (9 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h " Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:51   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h " Markus Armbruster
                   ` (10 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

This cleanup makes the number of objects depending on qapi/qmp/qdict.h
drop from 4547 (out of 4739) to 368 in my "build everything" tree.
For qapi/qmp/qobject.h, the number drops from 4549 to 390.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/crypto.c                      | 1 +
 block/curl.c                        | 2 ++
 block/file-win32.c                  | 1 +
 block/gluster.c                     | 1 +
 block/qcow.c                        | 2 ++
 block/rbd.c                         | 1 +
 block/snapshot.c                    | 1 +
 block/ssh.c                         | 1 +
 block/vvfat.c                       | 2 ++
 device-hotplug.c                    | 1 +
 hmp.h                               | 1 -
 hw/pci/pcie_aer.c                   | 1 +
 hw/s390x/s390-stattrib.c            | 1 +
 hw/usb/xen-usb.c                    | 1 +
 include/block/block.h               | 1 +
 include/block/dirty-bitmap.h        | 1 +
 include/hw/block/block.h            | 1 +
 include/hw/block/fdc.h              | 1 +
 include/hw/loader.h                 | 1 -
 include/migration/colo.h            | 1 +
 include/migration/failover.h        | 1 +
 include/monitor/monitor.h           | 1 -
 include/net/net.h                   | 2 +-
 include/net/slirp.h                 | 1 -
 include/qapi/qmp-event.h            | 1 -
 include/qapi/qmp/dispatch.h         | 2 +-
 include/qemu/config-file.h          | 1 -
 include/qemu/option.h               | 1 -
 include/qemu/throttle.h             | 1 +
 include/qom/object_interfaces.h     | 1 -
 include/scsi/pr-manager.h           | 1 -
 include/sysemu/arch_init.h          | 1 +
 include/ui/console.h                | 1 -
 migration/ram.h                     | 1 +
 net/slirp.c                         | 2 ++
 net/tap_int.h                       | 1 +
 qapi/qmp-dispatch.c                 | 1 +
 qapi/qmp-event.c                    | 1 +
 qapi/qobject-input-visitor.c        | 1 +
 qapi/qobject-output-visitor.c       | 1 +
 qemu-img.c                          | 2 ++
 qemu-io.c                           | 2 ++
 qemu-nbd.c                          | 1 +
 qobject/json-parser.c               | 1 +
 qobject/qjson.c                     | 1 +
 qom/object_interfaces.c             | 1 +
 target/i386/cpu.c                   | 1 +
 target/i386/monitor.c               | 2 ++
 target/s390x/cpu_models.c           | 1 +
 tests/ahci-test.c                   | 1 +
 tests/check-qobject.c               | 1 +
 tests/cpu-plug-test.c               | 1 +
 tests/drive_del-test.c              | 1 +
 tests/libqos/libqos.c               | 1 +
 tests/libqos/pci-pc.c               | 2 +-
 tests/libqtest.c                    | 1 +
 tests/libqtest.h                    | 2 --
 tests/migration-test.c              | 1 +
 tests/numa-test.c                   | 1 +
 tests/pvpanic-test.c                | 1 +
 tests/q35-test.c                    | 1 +
 tests/qmp-test.c                    | 1 +
 tests/qom-test.c                    | 1 +
 tests/tco-test.c                    | 2 ++
 tests/test-keyval.c                 | 1 +
 tests/test-netfilter.c              | 1 +
 tests/test-qemu-opts.c              | 1 +
 tests/test-qga.c                    | 1 +
 tests/test-qmp-event.c              | 1 +
 tests/test-qobject-input-visitor.c  | 1 +
 tests/test-qobject-output-visitor.c | 1 +
 tests/test-replication.c            | 1 +
 tests/tmp105-test.c                 | 1 +
 tests/vhost-user-test.c             | 1 +
 tests/virtio-net-test.c             | 1 +
 tests/vmgenid-test.c                | 1 +
 tests/wdt_ib700-test.c              | 1 +
 util/keyval.c                       | 1 +
 78 files changed, 75 insertions(+), 15 deletions(-)

diff --git a/block/crypto.c b/block/crypto.c
index 60ddf8623e..2626f8ae3a 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -24,6 +24,7 @@
 #include "sysemu/block-backend.h"
 #include "crypto/block.h"
 #include "qapi/opts-visitor.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
diff --git a/block/curl.c b/block/curl.c
index 35cf417f59..e0eb8ebb78 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -21,12 +21,14 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "block/block_int.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "crypto/secret.h"
 #include <curl/curl.h>
diff --git a/block/file-win32.c b/block/file-win32.c
index 9e02214a69..2f1da48e71 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -30,6 +30,7 @@
 #include "trace.h"
 #include "block/thread-pool.h"
 #include "qemu/iov.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include <windows.h>
 #include <winioctl.h>
diff --git a/block/gluster.c b/block/gluster.c
index 0f4265a3a4..097b6930a5 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -11,6 +11,7 @@
 #include <glusterfs/api/glfs.h>
 #include "block/block_int.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/uri.h"
 #include "qemu/error-report.h"
diff --git a/block/qcow.c b/block/qcow.c
index 369241aae8..0b32c04cd0 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu-common.h"
@@ -30,6 +31,7 @@
 #include "qemu/module.h"
 #include "qemu/bswap.h"
 #include <zlib.h>
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "crypto/block.h"
 #include "migration/blocker.h"
diff --git a/block/rbd.c b/block/rbd.c
index 76b9e83cea..42be5ed49d 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -20,6 +20,7 @@
 #include "crypto/secret.h"
 #include "qemu/cutils.h"
 #include "qapi/qmp/qstring.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlist.h"
 
diff --git a/block/snapshot.c b/block/snapshot.c
index 8cb70dbad5..9294a9fcc4 100644
--- a/block/snapshot.c
+++ b/block/snapshot.c
@@ -26,6 +26,7 @@
 #include "block/snapshot.h"
 #include "block/block_int.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qstring.h"
 
diff --git a/block/ssh.c b/block/ssh.c
index b049a16eb9..c693a4a4c7 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -34,6 +34,7 @@
 #include "qemu/sockets.h"
 #include "qemu/uri.h"
 #include "qapi-visit.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
diff --git a/block/vvfat.c b/block/vvfat.c
index a690595f2c..93e76580b0 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -22,6 +22,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include <dirent.h>
 #include "qapi/error.h"
@@ -30,6 +31,7 @@
 #include "qemu/bswap.h"
 #include "migration/blocker.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
diff --git a/device-hotplug.c b/device-hotplug.c
index 126f73c676..b10e8cc6d4 100644
--- a/device-hotplug.c
+++ b/device-hotplug.c
@@ -27,6 +27,7 @@
 #include "hw/boards.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/config-file.h"
 #include "sysemu/sysemu.h"
 #include "monitor/monitor.h"
diff --git a/hmp.h b/hmp.h
index dbb40ebbfa..4d633af86c 100644
--- a/hmp.h
+++ b/hmp.h
@@ -16,7 +16,6 @@
 
 #include "qemu-common.h"
 #include "qemu/readline.h"
-#include "qapi/qmp/qdict.h"
 
 void hmp_info_name(Monitor *mon, const QDict *qdict);
 void hmp_info_version(Monitor *mon, const QDict *qdict);
diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c
index 071e5e9bbb..0b55392fe7 100644
--- a/hw/pci/pcie_aer.c
+++ b/hw/pci/pcie_aer.c
@@ -20,6 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 #include "monitor/monitor.h"
 #include "hw/pci/pci_bridge.h"
diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
index c6c06b2780..a1d2135a60 100644
--- a/hw/s390x/s390-stattrib.c
+++ b/hw/s390x/s390-stattrib.c
@@ -18,6 +18,7 @@
 #include "qemu/error-report.h"
 #include "exec/ram_addr.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 
 #define CMMA_BLOCK_SIZE  (1 << 10)
 
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 584a6f2442..3b678685e1 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -30,6 +30,7 @@
 #include "hw/xen/xen_backend.h"
 #include "monitor/qdev.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 
 #include "hw/xen/io/ring.h"
diff --git a/include/block/block.h b/include/block/block.h
index 62ba19d78d..d2fc44dd30 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -2,6 +2,7 @@
 #define BLOCK_H
 
 #include "block/aio.h"
+#include "qapi-types.h"
 #include "qemu/iov.h"
 #include "qemu/option.h"
 #include "qemu/coroutine.h"
diff --git a/include/block/dirty-bitmap.h b/include/block/dirty-bitmap.h
index a591c27213..3da8486ab1 100644
--- a/include/block/dirty-bitmap.h
+++ b/include/block/dirty-bitmap.h
@@ -2,6 +2,7 @@
 #define BLOCK_DIRTY_BITMAP_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 #include "qemu/hbitmap.h"
 
 BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs,
diff --git a/include/hw/block/block.h b/include/hw/block/block.h
index 64b9298829..f532d10e35 100644
--- a/include/hw/block/block.h
+++ b/include/hw/block/block.h
@@ -12,6 +12,7 @@
 #define HW_BLOCK_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 
 /* Configuration */
 
diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
index 1749dabf25..68a0c904ea 100644
--- a/include/hw/block/fdc.h
+++ b/include/hw/block/fdc.h
@@ -2,6 +2,7 @@
 #define HW_FDC_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 
 /* fdc.c */
 #define MAX_FD 2
diff --git a/include/hw/loader.h b/include/hw/loader.h
index 355fe0f5a2..5edbe02b1c 100644
--- a/include/hw/loader.h
+++ b/include/hw/loader.h
@@ -1,6 +1,5 @@
 #ifndef LOADER_H
 #define LOADER_H
-#include "qapi/qmp/qdict.h"
 #include "hw/nvram/fw_cfg.h"
 
 /* loader.c */
diff --git a/include/migration/colo.h b/include/migration/colo.h
index ff9874ea16..50ace16205 100644
--- a/include/migration/colo.h
+++ b/include/migration/colo.h
@@ -14,6 +14,7 @@
 #define QEMU_COLO_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 
 void colo_info_init(void);
 
diff --git a/include/migration/failover.h b/include/migration/failover.h
index 9283d602e6..ad91ef2381 100644
--- a/include/migration/failover.h
+++ b/include/migration/failover.h
@@ -14,6 +14,7 @@
 #define QEMU_FAILOVER_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 
 void failover_init_state(void);
 FailoverStatus failover_set_state(FailoverStatus old_state,
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index 83ea4a1aaf..ad64ad8e68 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -2,7 +2,6 @@
 #define MONITOR_H
 
 #include "qemu-common.h"
-#include "qapi/qmp/qdict.h"
 #include "block/block.h"
 #include "qemu/readline.h"
 
diff --git a/include/net/net.h b/include/net/net.h
index eefb259e0a..71f1119bc9 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -3,7 +3,7 @@
 
 #include "qemu/queue.h"
 #include "qemu-common.h"
-#include "qapi/qmp/qdict.h"
+#include "qapi-types.h"
 #include "qemu/option.h"
 #include "net/queue.h"
 #include "migration/vmstate.h"
diff --git a/include/net/slirp.h b/include/net/slirp.h
index 865d2fca36..9a492b84a4 100644
--- a/include/net/slirp.h
+++ b/include/net/slirp.h
@@ -25,7 +25,6 @@
 #define QEMU_NET_SLIRP_H
 
 #include "qemu-common.h"
-#include "qapi/qmp/qdict.h"
 #include "qemu/option.h"
 
 #ifdef CONFIG_SLIRP
diff --git a/include/qapi/qmp-event.h b/include/qapi/qmp-event.h
index 40fe3cbc12..0c87ad833e 100644
--- a/include/qapi/qmp-event.h
+++ b/include/qapi/qmp-event.h
@@ -14,7 +14,6 @@
 #ifndef QMP_EVENT_H
 #define QMP_EVENT_H
 
-#include "qapi/qmp/qdict.h"
 
 typedef void (*QMPEventFuncEmit)(unsigned event, QDict *dict, Error **errp);
 
diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h
index 47a0ff348b..1e694b5ecf 100644
--- a/include/qapi/qmp/dispatch.h
+++ b/include/qapi/qmp/dispatch.h
@@ -14,7 +14,7 @@
 #ifndef QAPI_QMP_DISPATCH_H
 #define QAPI_QMP_DISPATCH_H
 
-#include "qapi/qmp/qdict.h"
+#include "qemu/queue.h"
 
 typedef void (QmpCommandFunc)(QDict *, QObject **, Error **);
 
diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h
index c80d5c8a33..449e631c86 100644
--- a/include/qemu/config-file.h
+++ b/include/qemu/config-file.h
@@ -2,7 +2,6 @@
 #define QEMU_CONFIG_FILE_H
 
 #include "qemu/option.h"
-#include "qapi/qmp/qdict.h"
 
 QemuOptsList *qemu_find_opts(const char *group);
 QemuOptsList *qemu_find_opts_err(const char *group, Error **errp);
diff --git a/include/qemu/option.h b/include/qemu/option.h
index a88c5f02b1..b127fb6db6 100644
--- a/include/qemu/option.h
+++ b/include/qemu/option.h
@@ -27,7 +27,6 @@
 #define QEMU_OPTION_H
 
 #include "qemu/queue.h"
-#include "qapi/qmp/qdict.h"
 
 const char *get_opt_name(char *buf, int buf_size, const char *p, char delim);
 const char *get_opt_value(char *buf, int buf_size, const char *p);
diff --git a/include/qemu/throttle.h b/include/qemu/throttle.h
index 8c93237866..03d45f44f8 100644
--- a/include/qemu/throttle.h
+++ b/include/qemu/throttle.h
@@ -26,6 +26,7 @@
 #define THROTTLE_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 #include "qemu/timer.h"
 
 #define THROTTLE_VALUE_MAX 1000000000000000LL
diff --git a/include/qom/object_interfaces.h b/include/qom/object_interfaces.h
index d23e11bc53..4d513fb329 100644
--- a/include/qom/object_interfaces.h
+++ b/include/qom/object_interfaces.h
@@ -2,7 +2,6 @@
 #define OBJECT_INTERFACES_H
 
 #include "qom/object.h"
-#include "qapi/qmp/qdict.h"
 #include "qapi/visitor.h"
 
 #define TYPE_USER_CREATABLE "user-creatable"
diff --git a/include/scsi/pr-manager.h b/include/scsi/pr-manager.h
index b2b37d63bc..5d2f13a5e4 100644
--- a/include/scsi/pr-manager.h
+++ b/include/scsi/pr-manager.h
@@ -2,7 +2,6 @@
 #define PR_MANAGER_H
 
 #include "qom/object.h"
-#include "qapi/qmp/qdict.h"
 #include "qapi/visitor.h"
 #include "qom/object_interfaces.h"
 #include "block/aio.h"
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index 90b38aecdd..c9e786b6ac 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -1,6 +1,7 @@
 #ifndef QEMU_ARCH_INIT_H
 #define QEMU_ARCH_INIT_H
 
+#include "qapi-types.h"
 #include "qemu/option.h"
 
 enum {
diff --git a/include/ui/console.h b/include/ui/console.h
index 7506dcbe61..c303b248da 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -3,7 +3,6 @@
 
 #include "ui/qemu-pixman.h"
 #include "qom/object.h"
-#include "qapi/qmp/qdict.h"
 #include "qemu/notify.h"
 #include "qemu/error-report.h"
 
diff --git a/migration/ram.h b/migration/ram.h
index 64d81e9f1d..f3a227b4fc 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -30,6 +30,7 @@
 #define QEMU_MIGRATION_RAM_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 #include "exec/cpu-common.h"
 
 extern MigrationStats ram_counters;
diff --git a/net/slirp.c b/net/slirp.c
index cb8ca2312f..8481c2d65f 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "net/slirp.h"
 
@@ -41,6 +42,7 @@
 #include "sysemu/sysemu.h"
 #include "qemu/cutils.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 
 static int get_str_sep(char *buf, int buf_size, const char **pp, int sep)
 {
diff --git a/net/tap_int.h b/net/tap_int.h
index e3a14d5dda..ae6888f74a 100644
--- a/net/tap_int.h
+++ b/net/tap_int.h
@@ -27,6 +27,7 @@
 #define NET_TAP_INT_H
 
 #include "qemu-common.h"
+#include "qapi-types.h"
 
 int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
              int vnet_hdr_required, int mq_required, Error **errp);
diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
index 92f957f40e..e31ac4be1f 100644
--- a/qapi/qmp-dispatch.c
+++ b/qapi/qmp-dispatch.c
@@ -15,6 +15,7 @@
 #include "qapi/error.h"
 #include "qapi/qmp/dispatch.h"
 #include "qapi/qmp/json-parser.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 
 static QDict *qmp_dispatch_check_obj(const QObject *request, Error **errp)
diff --git a/qapi/qmp-event.c b/qapi/qmp-event.c
index ba3029cc89..9d7e88e84a 100644
--- a/qapi/qmp-event.c
+++ b/qapi/qmp-event.c
@@ -16,6 +16,7 @@
 #include "qemu-common.h"
 #include "qapi/qmp-event.h"
 #include "qapi/qmp/qstring.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 
 static QMPEventFuncEmit qmp_emit;
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index 3e235a1eee..3566eed365 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -21,6 +21,7 @@
 #include "qemu-common.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
index 52634b9725..7c3b42cfe2 100644
--- a/qapi/qobject-output-visitor.c
+++ b/qapi/qobject-output-visitor.c
@@ -18,6 +18,7 @@
 #include "qemu/queue.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
diff --git a/qemu-img.c b/qemu-img.c
index cf8db3d7b7..fc6b4ffc00 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include <getopt.h>
 
@@ -30,6 +31,7 @@
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/cutils.h"
 #include "qemu/config-file.h"
 #include "qemu/option.h"
diff --git a/qemu-io.c b/qemu-io.c
index c70bde3eb1..2e5737ce9c 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -7,6 +7,7 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 #include <getopt.h>
 #include <libgen.h>
@@ -21,6 +22,7 @@
 #include "qemu/log.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qom/object_interfaces.h"
 #include "sysemu/block-backend.h"
 #include "block/block_int.h"
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 3723493be1..6ff8ef41e9 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -34,6 +34,7 @@
 #include "qemu/log.h"
 #include "qemu/systemd.h"
 #include "block/snapshot.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qom/object_interfaces.h"
 #include "io/channel-socket.h"
diff --git a/qobject/json-parser.c b/qobject/json-parser.c
index ee0cbba6a5..b724562415 100644
--- a/qobject/json-parser.c
+++ b/qobject/json-parser.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
diff --git a/qobject/qjson.c b/qobject/qjson.c
index 527b5bb571..77f796bbee 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -18,6 +18,7 @@
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
 #include "qemu/unicode.h"
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index 6824a88caa..2719df3bae 100644
--- a/qom/object_interfaces.c
+++ b/qom/object_interfaces.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qom/object_interfaces.h"
 #include "qemu/module.h"
 #include "qapi-visit.h"
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 6627e98bdf..36c555e372 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -31,6 +31,7 @@
 #include "qemu/option.h"
 #include "qemu/config-file.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 
 #include "qapi-visit.h"
diff --git a/target/i386/monitor.c b/target/i386/monitor.c
index 75e155ffb1..75429129fd 100644
--- a/target/i386/monitor.c
+++ b/target/i386/monitor.c
@@ -21,10 +21,12 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include "monitor/monitor.h"
 #include "monitor/hmp-target.h"
+#include "qapi/qmp/qdict.h"
 #include "hw/i386/pc.h"
 #include "sysemu/kvm.h"
 #include "hmp.h"
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 212a5f0697..27201c4f91 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -21,6 +21,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #ifndef CONFIG_USER_ONLY
 #include "sysemu/arch_init.h"
 #endif
diff --git a/tests/ahci-test.c b/tests/ahci-test.c
index 3934e62ef7..7aa5af428c 100644
--- a/tests/ahci-test.c
+++ b/tests/ahci-test.c
@@ -31,6 +31,7 @@
 #include "libqos/pci-pc.h"
 
 #include "qemu-common.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/host-utils.h"
 
 #include "hw/pci/pci_ids.h"
diff --git a/tests/check-qobject.c b/tests/check-qobject.c
index 927966093a..af75f9c5df 100644
--- a/tests/check-qobject.c
+++ b/tests/check-qobject.c
@@ -10,6 +10,7 @@
 #include "qemu/osdep.h"
 
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index 65456c9e37..8b5ab1fd02 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -11,6 +11,7 @@
 
 #include "qemu-common.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 
 struct PlugTestData {
     char *machine;
diff --git a/tests/drive_del-test.c b/tests/drive_del-test.c
index c9ac997555..313030a14c 100644
--- a/tests/drive_del-test.c
+++ b/tests/drive_del-test.c
@@ -13,6 +13,7 @@
 #include "qemu/osdep.h"
 #include "libqtest.h"
 #include "libqos/virtio.h"
+#include "qapi/qmp/qdict.h"
 
 static void drive_add(void)
 {
diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c
index 991bc1aec2..306d4c06de 100644
--- a/tests/libqos/libqos.c
+++ b/tests/libqos/libqos.c
@@ -4,6 +4,7 @@
 #include "libqtest.h"
 #include "libqos/libqos.h"
 #include "libqos/pci.h"
+#include "qapi/qmp/qdict.h"
 
 /*** Test Setup & Teardown ***/
 
diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c
index ded1c54c06..cd4e20e1ea 100644
--- a/tests/libqos/pci-pc.c
+++ b/tests/libqos/pci-pc.c
@@ -13,7 +13,7 @@
 #include "qemu/osdep.h"
 #include "libqtest.h"
 #include "libqos/pci-pc.h"
-
+#include "qapi/qmp/qdict.h"
 #include "hw/pci/pci_regs.h"
 
 #include "qemu-common.h"
diff --git a/tests/libqtest.c b/tests/libqtest.c
index cd0cc57e80..78f2226fc6 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -25,6 +25,7 @@
 #include "qapi/error.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/json-streamer.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlist.h"
 
diff --git a/tests/libqtest.h b/tests/libqtest.h
index fe7847cbd5..811169453a 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -17,8 +17,6 @@
 #ifndef LIBQTEST_H
 #define LIBQTEST_H
 
-#include "qapi/qmp/qdict.h"
-
 typedef struct QTestState QTestState;
 
 extern QTestState *global_qtest;
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 799e24ebc6..baafabaa5d 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -13,6 +13,7 @@
 #include "qemu/osdep.h"
 
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/option.h"
 #include "qemu/range.h"
 #include "qemu/sockets.h"
diff --git a/tests/numa-test.c b/tests/numa-test.c
index 8158854e17..68aca9cb38 100644
--- a/tests/numa-test.c
+++ b/tests/numa-test.c
@@ -11,6 +11,7 @@
 
 #include "qemu/osdep.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 
 static char *make_cli(const char *generic_cli, const char *test_cli)
diff --git a/tests/pvpanic-test.c b/tests/pvpanic-test.c
index 71ebb5c02c..ebdf32c2e2 100644
--- a/tests/pvpanic-test.c
+++ b/tests/pvpanic-test.c
@@ -9,6 +9,7 @@
 
 #include "qemu/osdep.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 
 static void test_panic(void)
 {
diff --git a/tests/q35-test.c b/tests/q35-test.c
index f98bed7a2d..187d68fb7e 100644
--- a/tests/q35-test.c
+++ b/tests/q35-test.c
@@ -14,6 +14,7 @@
 #include "libqos/pci.h"
 #include "libqos/pci-pc.h"
 #include "hw/pci-host/q35.h"
+#include "qapi/qmp/qdict.h"
 
 #define TSEG_SIZE_TEST_GUEST_RAM_MBYTES 128
 
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index cc9661af47..908f9b981f 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -14,6 +14,7 @@
 #include "libqtest.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/util.h"
diff --git a/tests/qom-test.c b/tests/qom-test.c
index 847703cb14..9dab7ac61e 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -10,6 +10,7 @@
 #include "qemu/osdep.h"
 
 #include "qemu-common.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qemu/cutils.h"
 #include "libqtest.h"
diff --git a/tests/tco-test.c b/tests/tco-test.c
index 2616d33c29..8ab43d742a 100644
--- a/tests/tco-test.c
+++ b/tests/tco-test.c
@@ -6,11 +6,13 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
 
 #include "libqtest.h"
 #include "libqos/pci.h"
 #include "libqos/pci-pc.h"
+#include "qapi/qmp/qdict.h"
 #include "hw/pci/pci_regs.h"
 #include "hw/i386/ich9.h"
 #include "hw/acpi/ich9.h"
diff --git a/tests/test-keyval.c b/tests/test-keyval.c
index d0c4bf2b9d..94eb4df28d 100644
--- a/tests/test-keyval.c
+++ b/tests/test-keyval.c
@@ -12,6 +12,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qobject-input-visitor.h"
diff --git a/tests/test-netfilter.c b/tests/test-netfilter.c
index 2506473365..95f7839aef 100644
--- a/tests/test-netfilter.c
+++ b/tests/test-netfilter.c
@@ -10,6 +10,7 @@
 
 #include "qemu/osdep.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 
 /* add a netfilter to a netdev and then remove it */
 static void add_one_netfilter(void)
diff --git a/tests/test-qemu-opts.c b/tests/test-qemu-opts.c
index cc1bb1afdf..b37d695c28 100644
--- a/tests/test-qemu-opts.c
+++ b/tests/test-qemu-opts.c
@@ -10,6 +10,7 @@
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/config-file.h"
 
diff --git a/tests/test-qga.c b/tests/test-qga.c
index e67c7289eb..5c5b661f8a 100644
--- a/tests/test-qga.c
+++ b/tests/test-qga.c
@@ -5,6 +5,7 @@
 #include <sys/un.h>
 
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 
 typedef struct {
diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c
index e5ee69e9af..8012341343 100644
--- a/tests/test-qmp-event.c
+++ b/tests/test-qmp-event.c
@@ -18,6 +18,7 @@
 #include "test-qapi-event.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp-event.h"
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index 20bf9a5414..2e6f7f422f 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -18,6 +18,7 @@
 #include "qapi/qobject-input-visitor.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qjson.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index 7cf86707ec..09a56d2d06 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -17,6 +17,7 @@
 #include "qapi/qobject-output-visitor.h"
 #include "test-qapi-visit.h"
 #include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
diff --git a/tests/test-replication.c b/tests/test-replication.c
index cebeb793b0..31372777ae 100644
--- a/tests/test-replication.c
+++ b/tests/test-replication.c
@@ -11,6 +11,7 @@
 #include "qemu/osdep.h"
 
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "replication.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c
index a7940a4639..e9a3cb7ac3 100644
--- a/tests/tmp105-test.c
+++ b/tests/tmp105-test.c
@@ -11,6 +11,7 @@
 
 #include "libqtest.h"
 #include "libqos/i2c.h"
+#include "qapi/qmp/qdict.h"
 #include "hw/misc/tmp105_regs.h"
 
 #define OMAP2_I2C_1_BASE 0x48070000
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index ec6ac9dc9e..906451daa1 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -12,6 +12,7 @@
 
 #include "libqtest.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/config-file.h"
 #include "qemu/option.h"
 #include "qemu/range.h"
diff --git a/tests/virtio-net-test.c b/tests/virtio-net-test.c
index 635b942c36..0e366e302e 100644
--- a/tests/virtio-net-test.c
+++ b/tests/virtio-net-test.c
@@ -16,6 +16,7 @@
 #include "libqos/libqos-spapr.h"
 #include "libqos/virtio.h"
 #include "libqos/virtio-pci.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/bswap.h"
 #include "hw/virtio/virtio-net.h"
 #include "standard-headers/linux/virtio_ids.h"
diff --git a/tests/vmgenid-test.c b/tests/vmgenid-test.c
index 68ff954578..7190e680dc 100644
--- a/tests/vmgenid-test.c
+++ b/tests/vmgenid-test.c
@@ -15,6 +15,7 @@
 #include "boot-sector.h"
 #include "acpi-utils.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 
 #define VGID_GUID "324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87"
 #define VMGENID_GUID_OFFSET 40   /* allow space for
diff --git a/tests/wdt_ib700-test.c b/tests/wdt_ib700-test.c
index 49f4f0c221..6062d4e942 100644
--- a/tests/wdt_ib700-test.c
+++ b/tests/wdt_ib700-test.c
@@ -9,6 +9,7 @@
 
 #include "qemu/osdep.h"
 #include "libqtest.h"
+#include "qapi/qmp/qdict.h"
 #include "qemu/timer.h"
 
 static void qmp_check_no_event(void)
diff --git a/util/keyval.c b/util/keyval.c
index 4085282a7a..212ae90d00 100644
--- a/util/keyval.c
+++ b/util/keyval.c
@@ -81,6 +81,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (10 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h " Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:55   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h " Markus Armbruster
                   ` (9 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block.c                             | 1 +
 include/qapi/qmp/qjson.h            | 2 --
 monitor.c                           | 1 +
 qapi/qobject-input-visitor.c        | 1 +
 qemu-img.c                          | 1 +
 qga/main.c                          | 1 +
 qobject/qjson.c                     | 1 +
 tests/check-qjson.c                 | 1 +
 tests/libqtest.c                    | 1 +
 tests/test-qobject-input-visitor.c  | 1 +
 tests/test-qobject-output-visitor.c | 1 +
 tests/test-visitor-serialization.c  | 1 +
 ui/spice-core.c                     | 1 -
 13 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/block.c b/block.c
index a97f709252..71d2dfb55e 100644
--- a/block.c
+++ b/block.c
@@ -34,6 +34,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
+#include "qapi/qmp/qstring.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/sysemu.h"
 #include "qemu/notify.h"
diff --git a/include/qapi/qmp/qjson.h b/include/qapi/qmp/qjson.h
index 6b38b0f074..b274ac3a86 100644
--- a/include/qapi/qmp/qjson.h
+++ b/include/qapi/qmp/qjson.h
@@ -14,8 +14,6 @@
 #ifndef QJSON_H
 #define QJSON_H
 
-#include "qapi/qmp/qstring.h"
-
 QObject *qobject_from_json(const char *string, Error **errp);
 QObject *qobject_from_jsonf(const char *string, ...) GCC_FMT_ATTR(1, 2);
 QObject *qobject_from_jsonv(const char *string, va_list *ap, Error **errp)
diff --git a/monitor.c b/monitor.c
index 20f7b159b3..69737f2d9a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -55,6 +55,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index 3566eed365..023317b05f 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -26,6 +26,7 @@
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
 #include "qemu/option.h"
 
diff --git a/qemu-img.c b/qemu-img.c
index fc6b4ffc00..6ead3b7c3d 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -32,6 +32,7 @@
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
 #include "qemu/config-file.h"
 #include "qemu/option.h"
diff --git a/qga/main.c b/qga/main.c
index 804cc4c1a0..64e0776bf2 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -21,6 +21,7 @@
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
 #include "qapi/qmp/qjson.h"
+#include "qapi/qmp/qstring.h"
 #include "qga/guest-agent-core.h"
 #include "qemu/module.h"
 #include "qga-qmp-commands.h"
diff --git a/qobject/qjson.c b/qobject/qjson.c
index 77f796bbee..e1ce75651c 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -21,6 +21,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu/unicode.h"
 
 typedef struct JSONParsingState
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index 26f5d4401e..a18ea47cb7 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -19,6 +19,7 @@
 #include "qapi/qmp/qlit.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qemu-common.h"
 
 static void escaped_string(void)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 78f2226fc6..a193ba224c 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -28,6 +28,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlist.h"
+#include "qapi/qmp/qstring.h"
 
 #define MAX_IRQ 256
 #define SOCKET_TIMEOUT 50
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index 2e6f7f422f..3900be2610 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -21,6 +21,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
 #include "test-qmp-introspect.h"
 #include "qmp-introspect.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index 09a56d2d06..1b8a9ee372 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -21,6 +21,7 @@
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
 
 typedef struct TestOutputVisitorData {
diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c
index 928a82b2e6..dd7e51d4f5 100644
--- a/tests/test-visitor-serialization.c
+++ b/tests/test-visitor-serialization.c
@@ -18,6 +18,7 @@
 #include "test-qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qjson.h"
+#include "qapi/qmp/qstring.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/string-input-visitor.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 7a53db070c..c4d67e678c 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -32,7 +32,6 @@
 #include "qmp-commands.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qbool.h"
-#include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
 #include "qemu/notify.h"
 #include "migration/misc.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (11 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h " Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:57   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h " Markus Armbruster
                   ` (8 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block.c                        | 1 -
 block/blkdebug.c               | 1 -
 block/curl.c                   | 1 -
 block/qcow2.c                  | 1 -
 block/quorum.c                 | 1 -
 block/vvfat.c                  | 1 -
 hw/usb/xen-usb.c               | 1 -
 monitor.c                      | 1 -
 qemu-img.c                     | 1 -
 qemu-io.c                      | 1 -
 target/s390x/cpu_models.c      | 1 -
 tests/check-qlit.c             | 1 -
 tests/device-introspect-test.c | 1 -
 ui/spice-core.c                | 1 -
 14 files changed, 14 deletions(-)

diff --git a/block.c b/block.c
index 71d2dfb55e..924b084436 100644
--- a/block.c
+++ b/block.c
@@ -32,7 +32,6 @@
 #include "qemu/module.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qstring.h"
 #include "sysemu/block-backend.h"
diff --git a/block/blkdebug.c b/block/blkdebug.c
index e21669979d..356538482d 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -29,7 +29,6 @@
 #include "qemu/config-file.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "sysemu/qtest.h"
diff --git a/block/curl.c b/block/curl.c
index e0eb8ebb78..fbd62b3864 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -27,7 +27,6 @@
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "block/block_int.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "crypto/secret.h"
diff --git a/block/qcow2.c b/block/qcow2.c
index 700c06245b..a64a572785 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -31,7 +31,6 @@
 #include "qemu/error-report.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi-event.h"
diff --git a/block/quorum.c b/block/quorum.c
index ec427c39e7..980403f63e 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -17,7 +17,6 @@
 #include "qemu/cutils.h"
 #include "block/block_int.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qjson.h"
diff --git a/block/vvfat.c b/block/vvfat.c
index 93e76580b0..5dca227311 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -30,7 +30,6 @@
 #include "qemu/module.h"
 #include "qemu/bswap.h"
 #include "migration/blocker.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 3b678685e1..e9eb1e902f 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -29,7 +29,6 @@
 #include "hw/usb.h"
 #include "hw/xen/xen_backend.h"
 #include "monitor/qdev.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 
diff --git a/monitor.c b/monitor.c
index 69737f2d9a..02d9dd8708 100644
--- a/monitor.c
+++ b/monitor.c
@@ -53,7 +53,6 @@
 #include "qemu/acl.h"
 #include "sysemu/tpm.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
diff --git a/qemu-img.c b/qemu-img.c
index 6ead3b7c3d..778fab9979 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -30,7 +30,6 @@
 #include "qapi-visit.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/qjson.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
diff --git a/qemu-io.c b/qemu-io.c
index 2e5737ce9c..f554ab614b 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -21,7 +21,6 @@
 #include "qemu/readline.h"
 #include "qemu/log.h"
 #include "qapi/qmp/qstring.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qom/object_interfaces.h"
 #include "sysemu/block-backend.h"
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 27201c4f91..584c409a19 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -20,7 +20,6 @@
 #include "qemu/error-report.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qobject-input-visitor.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #ifndef CONFIG_USER_ONLY
 #include "sysemu/arch_init.h"
diff --git a/tests/check-qlit.c b/tests/check-qlit.c
index b8b5016af7..f012885534 100644
--- a/tests/check-qlit.c
+++ b/tests/check-qlit.c
@@ -9,7 +9,6 @@
 
 #include "qemu/osdep.h"
 
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qlit.h"
diff --git a/tests/device-introspect-test.c b/tests/device-introspect-test.c
index 2b3d01174d..b80058fe98 100644
--- a/tests/device-introspect-test.c
+++ b/tests/device-introspect-test.c
@@ -20,7 +20,6 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qapi/qmp/qstring.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "libqtest.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index c4d67e678c..03f9e83456 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -31,7 +31,6 @@
 #include "qemu/sockets.h"
 #include "qmp-commands.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qbool.h"
 #include "qapi/qmp/qjson.h"
 #include "qemu/notify.h"
 #include "migration/misc.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (12 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h " Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:58   ` Eric Blake
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h " Markus Armbruster
                   ` (7 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 tests/check-qlit.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tests/check-qlit.c b/tests/check-qlit.c
index f012885534..5d0f65b9c7 100644
--- a/tests/check-qlit.c
+++ b/tests/check-qlit.c
@@ -12,7 +12,6 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qlit.h"
-#include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
 
 static QLitObject qlit = QLIT_QDICT(((QLitDictEntry[]) {
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h exactly where needed
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (13 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h " Markus Armbruster
@ 2018-01-30 10:21 ` Markus Armbruster
  2018-01-30 17:59   ` Eric Blake
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h Markus Armbruster
                   ` (6 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:21 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 target/ppc/translate.c      | 1 -
 target/ppc/translate_init.c | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index eeaad9e91f..4132f67bb1 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -24,7 +24,6 @@
 #include "disas/disas.h"
 #include "exec/exec-all.h"
 #include "tcg-op.h"
-#include "qapi/qmp/qnull.h"
 #include "qemu/host-utils.h"
 #include "exec/cpu_ldst.h"
 
diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
index 2913af912a..434c42731d 100644
--- a/target/ppc/translate_init.c
+++ b/target/ppc/translate_init.c
@@ -30,6 +30,7 @@
 #include "mmu-hash64.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qnull.h"
 #include "qapi/visitor.h"
 #include "hw/qdev-properties.h"
 #include "hw/ppc/ppc.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (14 preceding siblings ...)
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h " Markus Armbruster
@ 2018-01-30 10:22 ` Markus Armbruster
  2018-01-30 18:00   ` Eric Blake
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h Markus Armbruster
                   ` (5 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 monitor.c                 | 1 -
 qga/main.c                | 1 -
 tests/test-qmp-commands.c | 1 -
 3 files changed, 3 deletions(-)

diff --git a/monitor.c b/monitor.c
index 02d9dd8708..6f70c8db9a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -79,7 +79,6 @@
 #include "sysemu/qtest.h"
 #include "sysemu/cpus.h"
 #include "qemu/cutils.h"
-#include "qapi/qmp/dispatch.h"
 
 #if defined(TARGET_S390X)
 #include "hw/s390x/storage-keys.h"
diff --git a/qga/main.c b/qga/main.c
index 64e0776bf2..30aa7f92f7 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -27,7 +27,6 @@
 #include "qga-qmp-commands.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/error.h"
-#include "qapi/qmp/dispatch.h"
 #include "qga/channel.h"
 #include "qemu/bswap.h"
 #include "qemu/help_option.h"
diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
index b5a3d88775..24660d0868 100644
--- a/tests/test-qmp-commands.c
+++ b/tests/test-qmp-commands.c
@@ -5,7 +5,6 @@
 #include "qapi/qmp/qstring.h"
 #include "test-qmp-commands.h"
 #include "qapi/error.h"
-#include "qapi/qmp/dispatch.h"
 #include "qemu/module.h"
 #include "qapi/qobject-input-visitor.h"
 #include "tests/test-qapi-types.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (15 preceding siblings ...)
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h Markus Armbruster
@ 2018-01-30 10:22 ` Markus Armbruster
  2018-01-30 18:01   ` Eric Blake
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users Markus Armbruster
                   ` (4 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 balloon.c                           | 1 -
 block/nbd.c                         | 1 -
 block/quorum.c                      | 1 -
 blockjob.c                          | 1 -
 hw/core/qdev.c                      | 1 -
 hw/net/virtio-net.c                 | 1 -
 hw/pci/pcie_aer.c                   | 1 -
 target/s390x/kvm.c                  | 1 -
 tests/test-qobject-output-visitor.c | 1 -
 ui/spice-core.c                     | 1 -
 vl.c                                | 1 -
 11 files changed, 11 deletions(-)

diff --git a/balloon.c b/balloon.c
index f8b5ca9870..d8dd6fe773 100644
--- a/balloon.c
+++ b/balloon.c
@@ -33,7 +33,6 @@
 #include "qmp-commands.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qjson.h"
 
 static QEMUBalloonEvent *balloon_event_fn;
 static QEMUBalloonStatus *balloon_stat_fn;
diff --git a/block/nbd.c b/block/nbd.c
index 8b8ba56cdd..fbec4ae320 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -36,7 +36,6 @@
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
 #include "qapi/qmp/qdict.h"
-#include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
 
diff --git a/block/quorum.c b/block/quorum.c
index 980403f63e..2dc79bf7e2 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -19,7 +19,6 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qlist.h"
 #include "qapi/qmp/qstring.h"
 #include "qapi-event.h"
diff --git a/blockjob.c b/blockjob.c
index 081f1d2b91..3f52f29f75 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -31,7 +31,6 @@
 #include "sysemu/block-backend.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
-#include "qapi/qmp/qjson.h"
 #include "qemu/coroutine.h"
 #include "qemu/id.h"
 #include "qemu/timer.h"
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index f93f7d9388..e1143ad542 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -31,7 +31,6 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/visitor.h"
-#include "qapi/qmp/qjson.h"
 #include "qemu/error-report.h"
 #include "hw/hotplug.h"
 #include "hw/boards.h"
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 0dd3cb8de4..369d40b378 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -23,7 +23,6 @@
 #include "net/vhost_net.h"
 #include "hw/virtio/virtio-bus.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qjson.h"
 #include "qapi-event.h"
 #include "hw/virtio/virtio-access.h"
 #include "migration/misc.h"
diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c
index 0b55392fe7..939da0b778 100644
--- a/hw/pci/pcie_aer.c
+++ b/hw/pci/pcie_aer.c
@@ -21,7 +21,6 @@
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
 #include "qapi/qmp/qdict.h"
-#include "qapi/qmp/qjson.h"
 #include "monitor/monitor.h"
 #include "hw/pci/pci_bridge.h"
 #include "hw/pci/pcie.h"
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 8736001156..bfff1fc88a 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -37,7 +37,6 @@
 #include "sysemu/hw_accel.h"
 #include "hw/hw.h"
 #include "sysemu/device_tree.h"
-#include "qapi/qmp/qjson.h"
 #include "exec/gdbstub.h"
 #include "exec/address-spaces.h"
 #include "trace.h"
diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c
index 1b8a9ee372..3cf942414c 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -22,7 +22,6 @@
 #include "qapi/qmp/qnull.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qstring.h"
-#include "qapi/qmp/qjson.h"
 
 typedef struct TestOutputVisitorData {
     Visitor *ov;
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 03f9e83456..64ed759be5 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -31,7 +31,6 @@
 #include "qemu/sockets.h"
 #include "qmp-commands.h"
 #include "qapi/error.h"
-#include "qapi/qmp/qjson.h"
 #include "qemu/notify.h"
 #include "migration/misc.h"
 #include "hw/hw.h"
diff --git a/vl.c b/vl.c
index 717625122f..581a54c323 100644
--- a/vl.c
+++ b/vl.c
@@ -98,7 +98,6 @@ int main(int argc, char **argv)
 #include "sysemu/hax.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi-visit.h"
-#include "qapi/qmp/qjson.h"
 #include "qemu/option.h"
 #include "qemu/config-file.h"
 #include "qemu-options.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (16 preceding siblings ...)
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h Markus Armbruster
@ 2018-01-30 10:22 ` Markus Armbruster
  2018-01-30 18:08   ` Eric Blake
  2018-01-30 13:39 ` [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time no-reply
                   ` (3 subsequent siblings)
  21 siblings, 1 reply; 49+ messages in thread
From: Markus Armbruster @ 2018-01-30 10:22 UTC (permalink / raw)
  To: qemu-devel

qemu-common.h includes qemu/option.h, but most places that include the
former don't actually need the latter.  Drop the include, and add it
to the places that actually need it.

While there, drop superfluous includes of both headers.

This cleanup makes the number of objects depending on qemu/option.h
drop from 4542 (out of 4739) to 284 in my "build everything" tree.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 accel/accel.c                 | 2 +-
 block.c                       | 1 +
 block/blkdebug.c              | 1 +
 block/blkverify.c             | 1 +
 block/block-backend.c         | 1 +
 block/crypto.c                | 1 +
 block/curl.c                  | 2 +-
 block/file-posix.c            | 2 ++
 block/file-win32.c            | 2 ++
 block/gluster.c               | 2 ++
 block/iscsi-opts.c            | 1 +
 block/iscsi.c                 | 2 +-
 block/nbd.c                   | 1 +
 block/nfs.c                   | 2 +-
 block/null.c                  | 1 +
 block/parallels.c             | 3 ++-
 block/qcow.c                  | 2 +-
 block/qed.c                   | 1 +
 block/quorum.c                | 1 +
 block/rbd.c                   | 1 +
 block/replication.c           | 2 +-
 block/sheepdog.c              | 1 +
 block/snapshot.c              | 1 +
 block/ssh.c                   | 1 +
 block/throttle.c              | 1 +
 block/vdi.c                   | 1 +
 block/vhdx.c                  | 2 +-
 block/vmdk.c                  | 1 +
 block/vpc.c                   | 3 ++-
 block/vvfat.c                 | 1 +
 chardev/char-file.c           | 3 ++-
 chardev/char-mux.c            | 3 ++-
 chardev/char-parallel.c       | 2 ++
 chardev/char-pipe.c           | 2 ++
 chardev/char-ringbuf.c        | 1 +
 chardev/char-serial.c         | 2 ++
 chardev/char-socket.c         | 2 ++
 chardev/char-stdio.c          | 3 ++-
 chardev/char-udp.c            | 2 ++
 chardev/char.c                | 1 +
 chardev/spice.c               | 1 +
 contrib/ivshmem-server/main.c | 2 +-
 cpus.c                        | 2 +-
 device-hotplug.c              | 1 +
 device_tree.c                 | 2 +-
 fsdev/qemu-fsdev-throttle.c   | 1 +
 fsdev/qemu-fsdev.c            | 2 +-
 fsdev/qemu-fsdev.h            | 1 -
 hw/9pfs/9p-handle.c           | 1 +
 hw/9pfs/9p-local.c            | 1 +
 hw/9pfs/9p-proxy.c            | 1 +
 hw/9pfs/xen-9p-backend.c      | 1 +
 hw/acpi/core.c                | 1 +
 hw/arm/boot.c                 | 1 +
 hw/core/qdev.c                | 1 +
 hw/i386/multiboot.c           | 2 +-
 hw/i386/pc.c                  | 1 +
 hw/i386/pc_sysfw.c            | 1 +
 hw/nvram/fw_cfg.c             | 2 ++
 hw/ppc/e500.c                 | 2 +-
 hw/ppc/virtex_ml507.c         | 1 +
 hw/s390x/s390-virtio-ccw.c    | 2 +-
 hw/scsi/scsi-bus.c            | 1 +
 hw/smbios/smbios.c            | 1 +
 hw/usb/xen-usb.c              | 2 +-
 hw/vfio/pci.c                 | 1 +
 hw/xen/xen_devconfig.c        | 1 +
 hw/xtensa/xtfpga.c            | 2 +-
 include/block/block.h         | 1 -
 include/block/block_int.h     | 1 -
 include/block/nbd.h           | 2 --
 include/block/snapshot.h      | 2 --
 include/chardev/char.h        | 2 --
 include/hw/acpi/acpi.h        | 1 -
 include/hw/qdev-core.h        | 1 -
 include/hw/smbios/smbios.h    | 1 -
 include/net/net.h             | 2 --
 include/net/slirp.h           | 2 --
 include/qapi/opts-visitor.h   | 1 -
 include/qemu-common.h         | 2 --
 include/qemu/config-file.h    | 1 -
 include/sysemu/arch_init.h    | 1 -
 include/sysemu/hostmem.h      | 1 -
 include/sysemu/numa.h         | 1 -
 include/sysemu/sysemu.h       | 1 -
 include/ui/qemu-spice.h       | 1 -
 monitor.c                     | 2 +-
 net/net.c                     | 2 +-
 net/vhost-user.c              | 1 +
 qdev-monitor.c                | 1 +
 qemu-io-cmds.c                | 1 +
 qemu-nbd.c                    | 2 +-
 qmp.c                         | 1 +
 qom/object_interfaces.c       | 1 +
 replay/replay.c               | 2 +-
 tests/test-char.c             | 2 +-
 tests/test-qemu-opts.c        | 1 +
 tests/test-replication.c      | 1 +
 trace/control.c               | 1 +
 ui/console.c                  | 2 +-
 ui/spice-core.c               | 2 +-
 ui/spice-display.c            | 2 +-
 ui/vnc.c                      | 1 +
 103 files changed, 98 insertions(+), 54 deletions(-)

diff --git a/accel/accel.c b/accel/accel.c
index 8ae40e1e13..93e2434c87 100644
--- a/accel/accel.c
+++ b/accel/accel.c
@@ -26,7 +26,6 @@
 #include "qemu/osdep.h"
 #include "sysemu/accel.h"
 #include "hw/boards.h"
-#include "qemu-common.h"
 #include "sysemu/arch_init.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
@@ -34,6 +33,7 @@
 #include "hw/xen/xen.h"
 #include "qom/object.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 
 static const TypeInfo accel_type = {
     .name = TYPE_ACCEL,
diff --git a/block.c b/block.c
index 924b084436..7269481050 100644
--- a/block.c
+++ b/block.c
@@ -37,6 +37,7 @@
 #include "sysemu/block-backend.h"
 #include "sysemu/sysemu.h"
 #include "qemu/notify.h"
+#include "qemu/option.h"
 #include "qemu/coroutine.h"
 #include "block/qapi.h"
 #include "qemu/timer.h"
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 356538482d..d83f23febd 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -29,6 +29,7 @@
 #include "qemu/config-file.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "sysemu/qtest.h"
diff --git a/block/blkverify.c b/block/blkverify.c
index 06369f9eac..331365be33 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -14,6 +14,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/cutils.h"
+#include "qemu/option.h"
 
 typedef struct {
     BdrvChild *test_file;
diff --git a/block/block-backend.c b/block/block-backend.c
index 6a5fdb7f42..3d7d3b4229 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -20,6 +20,7 @@
 #include "qapi-event.h"
 #include "qapi/error.h"
 #include "qemu/id.h"
+#include "qemu/option.h"
 #include "trace.h"
 #include "migration/misc.h"
 
diff --git a/block/crypto.c b/block/crypto.c
index 2626f8ae3a..70e3691cd8 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -28,6 +28,7 @@
 #include "qapi/qobject-input-visitor.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
+#include "qemu/option.h"
 #include "block/crypto.h"
 
 typedef struct BlockCrypto BlockCrypto;
diff --git a/block/curl.c b/block/curl.c
index fbd62b3864..059edfbeff 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -24,8 +24,8 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "block/block_int.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
diff --git a/block/file-posix.c b/block/file-posix.c
index 36ee89e940..2a94a84417 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -21,12 +21,14 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "trace.h"
 #include "block/thread-pool.h"
 #include "qemu/iov.h"
diff --git a/block/file-win32.c b/block/file-win32.c
index 2f1da48e71..f24c7bb92c 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -21,11 +21,13 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "block/raw-aio.h"
 #include "trace.h"
 #include "block/thread-pool.h"
diff --git a/block/gluster.c b/block/gluster.c
index 097b6930a5..d8decc41ad 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -7,6 +7,7 @@
  * See the COPYING file in the top-level directory.
  *
  */
+
 #include "qemu/osdep.h"
 #include <glusterfs/api/glfs.h>
 #include "block/block_int.h"
@@ -15,6 +16,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qemu/uri.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/cutils.h"
 
 #define GLUSTER_OPT_FILENAME        "filename"
diff --git a/block/iscsi-opts.c b/block/iscsi-opts.c
index 5335539130..9b19bd2f52 100644
--- a/block/iscsi-opts.c
+++ b/block/iscsi-opts.c
@@ -25,6 +25,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 
 static QemuOptsList qemu_iscsi_opts = {
     .name = "iscsi",
diff --git a/block/iscsi.c b/block/iscsi.c
index 9a1bf43cbc..b1585ca218 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -28,7 +28,6 @@
 #include <poll.h>
 #include <math.h>
 #include <arpa/inet.h>
-#include "qemu-common.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
 #include "qemu/bitops.h"
@@ -36,6 +35,7 @@
 #include "block/block_int.h"
 #include "scsi/constants.h"
 #include "qemu/iov.h"
+#include "qemu/option.h"
 #include "qemu/uuid.h"
 #include "qmp-commands.h"
 #include "qapi/error.h"
diff --git a/block/nbd.c b/block/nbd.c
index fbec4ae320..ef81a9f53b 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -32,6 +32,7 @@
 #include "qemu/uri.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qapi-visit.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
diff --git a/block/nfs.c b/block/nfs.c
index effc8719b5..6576a73d6e 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -25,13 +25,13 @@
 #include "qemu/osdep.h"
 
 #include <poll.h>
-#include "qemu-common.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
 #include "block/block_int.h"
 #include "trace.h"
 #include "qemu/iov.h"
+#include "qemu/option.h"
 #include "qemu/uri.h"
 #include "qemu/cutils.h"
 #include "sysemu/sysemu.h"
diff --git a/block/null.c b/block/null.c
index 0cdabaa440..214d394fff 100644
--- a/block/null.c
+++ b/block/null.c
@@ -14,6 +14,7 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
+#include "qemu/option.h"
 #include "block/block_int.h"
 
 #define NULL_OPT_LATENCY "latency-ns"
diff --git a/block/parallels.c b/block/parallels.c
index d3802085e3..e1e3d80c88 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -27,12 +27,13 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include "qemu/bitmap.h"
 #include "migration/blocker.h"
diff --git a/block/qcow.c b/block/qcow.c
index 0b32c04cd0..8631155ac8 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -24,11 +24,11 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include <zlib.h>
 #include "qapi/qmp/qdict.h"
diff --git a/block/qed.c b/block/qed.c
index 7e2b34c3a7..205dbf16e3 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "qemu/timer.h"
 #include "qemu/bswap.h"
+#include "qemu/option.h"
 #include "trace.h"
 #include "qed.h"
 #include "sysemu/block-backend.h"
diff --git a/block/quorum.c b/block/quorum.c
index 2dc79bf7e2..19f1c34425 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -15,6 +15,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
+#include "qemu/option.h"
 #include "block/block_int.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
diff --git a/block/rbd.c b/block/rbd.c
index 42be5ed49d..8474b0ba11 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -16,6 +16,7 @@
 #include <rbd/librbd.h>
 #include "qapi/error.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "block/block_int.h"
 #include "crypto/secret.h"
 #include "qemu/cutils.h"
diff --git a/block/replication.c b/block/replication.c
index b1ea3caa4b..f98ef094b9 100644
--- a/block/replication.c
+++ b/block/replication.c
@@ -13,7 +13,7 @@
  */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
+#include "qemu/option.h"
 #include "block/nbd.h"
 #include "block/blockjob.h"
 #include "block/block_int.h"
diff --git a/block/sheepdog.c b/block/sheepdog.c
index f684477328..af125a2c8d 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -19,6 +19,7 @@
 #include "qapi/qobject-input-visitor.h"
 #include "qemu/uri.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/sockets.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
diff --git a/block/snapshot.c b/block/snapshot.c
index 9294a9fcc4..eacc1f19a2 100644
--- a/block/snapshot.c
+++ b/block/snapshot.c
@@ -29,6 +29,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qstring.h"
+#include "qemu/option.h"
 
 QemuOptsList internal_snapshot_opts = {
     .name = "snapshot",
diff --git a/block/ssh.c b/block/ssh.c
index c693a4a4c7..521f49ce08 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -30,6 +30,7 @@
 #include "block/block_int.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/cutils.h"
 #include "qemu/sockets.h"
 #include "qemu/uri.h"
diff --git a/block/throttle.c b/block/throttle.c
index 833175ac77..495f88c752 100644
--- a/block/throttle.c
+++ b/block/throttle.c
@@ -19,6 +19,7 @@
 
 #include "qemu/osdep.h"
 #include "block/throttle-groups.h"
+#include "qemu/option.h"
 #include "qemu/throttle-options.h"
 #include "qapi/error.h"
 
diff --git a/block/vdi.c b/block/vdi.c
index 8da5dfc897..fc1c614cb1 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -54,6 +54,7 @@
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include "migration/blocker.h"
 #include "qemu/coroutine.h"
diff --git a/block/vhdx.c b/block/vhdx.c
index 9956933da6..c449c5dcfd 100644
--- a/block/vhdx.c
+++ b/block/vhdx.c
@@ -17,10 +17,10 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/crc32c.h"
 #include "qemu/bswap.h"
 #include "block/vhdx.h"
diff --git a/block/vmdk.c b/block/vmdk.c
index d71cec4f31..ef15ddbfd3 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -30,6 +30,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include "migration/blocker.h"
 #include "qemu/cutils.h"
diff --git a/block/vpc.c b/block/vpc.c
index 1576d7b595..cfa5144e86 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -22,12 +22,13 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "migration/blocker.h"
 #include "qemu/bswap.h"
 #include "qemu/uuid.h"
diff --git a/block/vvfat.c b/block/vvfat.c
index 5dca227311..7e06ebacf6 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -28,6 +28,7 @@
 #include "qapi/error.h"
 #include "block/block_int.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include "migration/blocker.h"
 #include "qapi/qmp/qdict.h"
diff --git a/chardev/char-file.c b/chardev/char-file.c
index a57b88aaf2..87fb61088c 100644
--- a/chardev/char-file.c
+++ b/chardev/char-file.c
@@ -21,9 +21,10 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
+#include "qemu/option.h"
 #include "chardev/char.h"
 
 #ifdef _WIN32
diff --git a/chardev/char-mux.c b/chardev/char-mux.c
index 567bf965cd..d48e78103a 100644
--- a/chardev/char-mux.c
+++ b/chardev/char-mux.c
@@ -21,9 +21,10 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
+#include "qemu/option.h"
 #include "chardev/char.h"
 #include "sysemu/block-backend.h"
 #include "chardev/char-mux.h"
diff --git a/chardev/char-parallel.c b/chardev/char-parallel.c
index bce89f8c36..ab82c72ac7 100644
--- a/chardev/char-parallel.c
+++ b/chardev/char-parallel.c
@@ -21,9 +21,11 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "chardev/char.h"
 #include "qapi/error.h"
+#include "qemu/option.h"
 #include <sys/ioctl.h>
 
 #ifdef CONFIG_BSD
diff --git a/chardev/char-pipe.c b/chardev/char-pipe.c
index 3a95e4c1b2..8a51872e5e 100644
--- a/chardev/char-pipe.c
+++ b/chardev/char-pipe.c
@@ -21,8 +21,10 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qemu/option.h"
 #include "chardev/char.h"
 
 #ifdef _WIN32
diff --git a/chardev/char-ringbuf.c b/chardev/char-ringbuf.c
index c1fa4c3f87..679afaa4fd 100644
--- a/chardev/char-ringbuf.c
+++ b/chardev/char-ringbuf.c
@@ -27,6 +27,7 @@
 #include "qmp-commands.h"
 #include "qapi/error.h"
 #include "qemu/base64.h"
+#include "qemu/option.h"
 
 /* Ring buffer chardev */
 
diff --git a/chardev/char-serial.c b/chardev/char-serial.c
index 93392c528c..feb52e559d 100644
--- a/chardev/char-serial.c
+++ b/chardev/char-serial.c
@@ -21,7 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
+#include "qemu/option.h"
 #include "qemu/sockets.h"
 #include "io/channel-file.h"
 #include "qapi/error.h"
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 77cdf487eb..3c6727dda8 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -21,12 +21,14 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "chardev/char.h"
 #include "io/channel-socket.h"
 #include "io/channel-tls.h"
 #include "io/net-listener.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qapi/error.h"
 #include "qapi/clone-visitor.h"
 
diff --git a/chardev/char-stdio.c b/chardev/char-stdio.c
index 6f5d798d7b..96375f2ab8 100644
--- a/chardev/char-stdio.c
+++ b/chardev/char-stdio.c
@@ -21,10 +21,11 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
+#include "qemu/option.h"
 #include "qemu/sockets.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "chardev/char.h"
 
 #ifdef _WIN32
diff --git a/chardev/char-udp.c b/chardev/char-udp.c
index d46ff7ab53..097a2f0f42 100644
--- a/chardev/char-udp.c
+++ b/chardev/char-udp.c
@@ -21,10 +21,12 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "chardev/char.h"
 #include "io/channel-socket.h"
 #include "qapi/error.h"
+#include "qemu/option.h"
 
 #include "chardev/char-io.h"
 
diff --git a/chardev/char.c b/chardev/char.c
index 51f269796a..01d979a1da 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -34,6 +34,7 @@
 #include "qapi/error.h"
 #include "sysemu/replay.h"
 #include "qemu/help_option.h"
+#include "qemu/option.h"
 
 #include "chardev/char-mux.h"
 
diff --git a/chardev/spice.c b/chardev/spice.c
index bbdf649904..e66e3ad568 100644
--- a/chardev/spice.c
+++ b/chardev/spice.c
@@ -4,6 +4,7 @@
 #include "chardev/char.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include <spice.h>
 #include <spice/protocol.h>
 
diff --git a/contrib/ivshmem-server/main.c b/contrib/ivshmem-server/main.c
index 45776d8af4..197c79c57e 100644
--- a/contrib/ivshmem-server/main.c
+++ b/contrib/ivshmem-server/main.c
@@ -9,7 +9,7 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/cutils.h"
-
+#include "qemu/option.h"
 #include "ivshmem-server.h"
 
 #define IVSHMEM_SERVER_DEFAULT_VERBOSE        0
diff --git a/cpus.c b/cpus.c
index e3b2da1572..d1a3724dee 100644
--- a/cpus.c
+++ b/cpus.c
@@ -25,7 +25,6 @@
 /* Needed early for CONFIG_BSD etc. */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
 #include "qemu/config-file.h"
 #include "cpu.h"
 #include "monitor/monitor.h"
@@ -47,6 +46,7 @@
 #include "sysemu/cpus.h"
 #include "sysemu/qtest.h"
 #include "qemu/main-loop.h"
+#include "qemu/option.h"
 #include "qemu/bitmap.h"
 #include "qemu/seqlock.h"
 #include "tcg.h"
diff --git a/device-hotplug.c b/device-hotplug.c
index b10e8cc6d4..23fd6656f1 100644
--- a/device-hotplug.c
+++ b/device-hotplug.c
@@ -29,6 +29,7 @@
 #include "sysemu/blockdev.h"
 #include "qapi/qmp/qdict.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 #include "sysemu/sysemu.h"
 #include "monitor/monitor.h"
 #include "block/block_int.h"
diff --git a/device_tree.c b/device_tree.c
index a24ddff02b..19458b32bf 100644
--- a/device_tree.c
+++ b/device_tree.c
@@ -18,8 +18,8 @@
 #endif
 
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/bswap.h"
 #include "sysemu/device_tree.h"
 #include "sysemu/sysemu.h"
diff --git a/fsdev/qemu-fsdev-throttle.c b/fsdev/qemu-fsdev-throttle.c
index 49eebb5412..ea9508da0a 100644
--- a/fsdev/qemu-fsdev-throttle.c
+++ b/fsdev/qemu-fsdev-throttle.c
@@ -16,6 +16,7 @@
 #include "qemu/error-report.h"
 #include "qemu-fsdev-throttle.h"
 #include "qemu/iov.h"
+#include "qemu/option.h"
 
 static void fsdev_throttle_read_timer_cb(void *opaque)
 {
diff --git a/fsdev/qemu-fsdev.c b/fsdev/qemu-fsdev.c
index 96e8683a09..1b721a9ee4 100644
--- a/fsdev/qemu-fsdev.c
+++ b/fsdev/qemu-fsdev.c
@@ -15,9 +15,9 @@
 #include "qapi/error.h"
 #include "qemu-fsdev.h"
 #include "qemu/queue.h"
-#include "qemu-common.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 
 static QTAILQ_HEAD(FsDriverEntry_head, FsDriverListEntry) fsdriver_entries =
     QTAILQ_HEAD_INITIALIZER(fsdriver_entries);
diff --git a/fsdev/qemu-fsdev.h b/fsdev/qemu-fsdev.h
index 29c962296d..65e4b1cfab 100644
--- a/fsdev/qemu-fsdev.h
+++ b/fsdev/qemu-fsdev.h
@@ -12,7 +12,6 @@
  */
 #ifndef QEMU_FSDEV_H
 #define QEMU_FSDEV_H
-#include "qemu/option.h"
 #include "file-op-9p.h"
 
 
diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c
index c1681d3c8a..4dc0d2bed1 100644
--- a/hw/9pfs/9p-handle.c
+++ b/hw/9pfs/9p-handle.c
@@ -22,6 +22,7 @@
 #include "qemu/xattr.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include <linux/fs.h>
 #ifdef CONFIG_LINUX_MAGIC_H
 #include <linux/magic.h>
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index c6d8af4fb8..d85494bd31 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -26,6 +26,7 @@
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include <libgen.h>
 #include <linux/fs.h>
 #ifdef CONFIG_LINUX_MAGIC_H
diff --git a/hw/9pfs/9p-proxy.c b/hw/9pfs/9p-proxy.c
index 0f288b1300..e2e03292de 100644
--- a/hw/9pfs/9p-proxy.c
+++ b/hw/9pfs/9p-proxy.c
@@ -17,6 +17,7 @@
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "fsdev/qemu-fsdev.h"
 #include "9p-proxy.h"
 
diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index df2a4100bf..d0542bfc30 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -15,6 +15,7 @@
 #include "hw/xen/xen_backend.h"
 #include "hw/9pfs/xen-9pfs.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 #include "fsdev/qemu-fsdev.h"
 
 #define VERSIONS "1"
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index 5ee55414c1..b50b3ca772 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -30,6 +30,7 @@
 #include "qapi-visit.h"
 #include "qapi-event.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 
 struct acpi_table_header {
     uint16_t _length;         /* our length, not actual part of the hdr */
diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index c2720c8046..32628202c5 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -21,6 +21,7 @@
 #include "elf.h"
 #include "sysemu/device_tree.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 #include "exec/address-spaces.h"
 
 /* Kernel boot protocol is specified in the kernel docs
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index e1143ad542..e2eea34f79 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -32,6 +32,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/visitor.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "hw/hotplug.h"
 #include "hw/boards.h"
 #include "hw/sysbus.h"
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index c7b70c91d5..46d9c68bf5 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
+#include "qemu/option.h"
 #include "cpu.h"
 #include "hw/hw.h"
 #include "hw/nvram/fw_cfg.h"
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index f610253953..55e69d66fe 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -59,6 +59,7 @@
 #include "qemu/bitmap.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/cpu_hotplug.h"
 #include "hw/boards.h"
diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c
index 6b183747fc..4325575e7d 100644
--- a/hw/i386/pc_sysfw.c
+++ b/hw/i386/pc_sysfw.c
@@ -27,6 +27,7 @@
 #include "qapi/error.h"
 #include "sysemu/block-backend.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "hw/sysbus.h"
 #include "hw/hw.h"
 #include "hw/i386/pc.h"
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 4313484b21..2a0739d0e9 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "sysemu/sysemu.h"
@@ -31,6 +32,7 @@
 #include "hw/sysbus.h"
 #include "trace.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/config-file.h"
 #include "qemu/cutils.h"
 #include "qapi/error.h"
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index c4fe06ea2a..937bc9e4eb 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -16,7 +16,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "e500.h"
 #include "e500-ccsr.h"
 #include "net/net.h"
@@ -36,6 +35,7 @@
 #include "hw/sysbus.h"
 #include "exec/address-spaces.h"
 #include "qemu/host-utils.h"
+#include "qemu/option.h"
 #include "hw/pci-host/ppce500.h"
 #include "qemu/error-report.h"
 #include "hw/platform-bus.h"
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 5ac4f76613..ca9e8bf05c 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -36,6 +36,7 @@
 #include "elf.h"
 #include "qemu/error-report.h"
 #include "qemu/log.h"
+#include "qemu/option.h"
 #include "exec/address-spaces.h"
 
 #include "hw/ppc/ppc.h"
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 7d922ad732..f2db448233 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -12,7 +12,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "cpu.h"
 #include "hw/boards.h"
 #include "exec/address-spaces.h"
@@ -24,6 +23,7 @@
 #include "virtio-ccw.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "s390-pci-bus.h"
 #include "hw/s390x/storage-keys.h"
 #include "hw/s390x/storage-attributes.h"
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 05e501efd3..b7bafbed6e 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -2,6 +2,7 @@
 #include "hw/hw.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "hw/scsi/scsi.h"
 #include "scsi/constants.h"
 #include "hw/qdev.h"
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index 5d11f01874..27a07e96f4 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -19,6 +19,7 @@
 #include "qapi/error.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "sysemu/sysemu.h"
 #include "qemu/uuid.h"
 #include "sysemu/cpus.h"
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index e9eb1e902f..3beeb0d170 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -23,8 +23,8 @@
 #include <libusb.h>
 #include <sys/user.h>
 
-#include "qemu-common.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 #include "hw/sysbus.h"
 #include "hw/usb.h"
 #include "hw/xen/xen_backend.h"
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 2c71295125..d6b386b1b9 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -26,6 +26,7 @@
 #include "hw/pci/msix.h"
 #include "hw/pci/pci_bridge.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/range.h"
 #include "sysemu/kvm.h"
 #include "sysemu/sysemu.h"
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index a80e78c0dc..fac9d3fcdc 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "hw/xen/xen_backend.h"
+#include "qemu/option.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 
diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c
index 76ea970215..70686a2eb1 100644
--- a/hw/xtensa/xtfpga.c
+++ b/hw/xtensa/xtfpga.c
@@ -27,7 +27,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "cpu.h"
 #include "sysemu/sysemu.h"
 #include "hw/boards.h"
@@ -43,6 +42,7 @@
 #include "chardev/char.h"
 #include "sysemu/device_tree.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "bootparam.h"
 #include "xtensa_memory.h"
 
diff --git a/include/block/block.h b/include/block/block.h
index d2fc44dd30..ae1517f32d 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -4,7 +4,6 @@
 #include "block/aio.h"
 #include "qapi-types.h"
 #include "qemu/iov.h"
-#include "qemu/option.h"
 #include "qemu/coroutine.h"
 #include "block/accounting.h"
 #include "block/dirty-bitmap.h"
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 6499f7c16a..5a54c4d0de 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -26,7 +26,6 @@
 
 #include "block/accounting.h"
 #include "block/block.h"
-#include "qemu/option.h"
 #include "qemu/queue.h"
 #include "qemu/coroutine.h"
 #include "qemu/stats64.h"
diff --git a/include/block/nbd.h b/include/block/nbd.h
index 978e443366..18648e215e 100644
--- a/include/block/nbd.h
+++ b/include/block/nbd.h
@@ -21,8 +21,6 @@
 #define NBD_H
 
 
-#include "qemu-common.h"
-#include "qemu/option.h"
 #include "io/channel-socket.h"
 #include "crypto/tlscreds.h"
 
diff --git a/include/block/snapshot.h b/include/block/snapshot.h
index 9407799941..f73d1094af 100644
--- a/include/block/snapshot.h
+++ b/include/block/snapshot.h
@@ -25,8 +25,6 @@
 #ifndef SNAPSHOT_H
 #define SNAPSHOT_H
 
-#include "qemu-common.h"
-#include "qemu/option.h"
 
 
 #define SNAPSHOT_OPT_BASE       "snapshot."
diff --git a/include/chardev/char.h b/include/chardev/char.h
index d8941fcbb1..a381dc3df8 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -1,8 +1,6 @@
 #ifndef QEMU_CHAR_H
 #define QEMU_CHAR_H
 
-#include "qemu-common.h"
-#include "qemu/option.h"
 #include "qemu/main-loop.h"
 #include "qemu/bitmap.h"
 #include "qom/object.h"
diff --git a/include/hw/acpi/acpi.h b/include/hw/acpi/acpi.h
index 39ff512129..c20ace0d0b 100644
--- a/include/hw/acpi/acpi.h
+++ b/include/hw/acpi/acpi.h
@@ -21,7 +21,6 @@
  */
 
 #include "qemu/notify.h"
-#include "qemu/option.h"
 #include "exec/memory.h"
 #include "hw/irq.h"
 #include "hw/acpi/acpi_dev_interface.h"
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 51473eee7b..bf022dc75b 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -2,7 +2,6 @@
 #define QDEV_CORE_H
 
 #include "qemu/queue.h"
-#include "qemu/option.h"
 #include "qemu/bitmap.h"
 #include "qom/object.h"
 #include "hw/irq.h"
diff --git a/include/hw/smbios/smbios.h b/include/hw/smbios/smbios.h
index a83adb93d7..eeb5a4d7b6 100644
--- a/include/hw/smbios/smbios.h
+++ b/include/hw/smbios/smbios.h
@@ -14,7 +14,6 @@
  *
  */
 
-#include "qemu/option.h"
 
 #define SMBIOS_MAX_TYPE 127
 
diff --git a/include/net/net.h b/include/net/net.h
index 71f1119bc9..3fc48e4f51 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -2,9 +2,7 @@
 #define QEMU_NET_H
 
 #include "qemu/queue.h"
-#include "qemu-common.h"
 #include "qapi-types.h"
-#include "qemu/option.h"
 #include "net/queue.h"
 #include "migration/vmstate.h"
 
diff --git a/include/net/slirp.h b/include/net/slirp.h
index 9a492b84a4..4d63d74da4 100644
--- a/include/net/slirp.h
+++ b/include/net/slirp.h
@@ -24,8 +24,6 @@
 #ifndef QEMU_NET_SLIRP_H
 #define QEMU_NET_SLIRP_H
 
-#include "qemu-common.h"
-#include "qemu/option.h"
 
 #ifdef CONFIG_SLIRP
 
diff --git a/include/qapi/opts-visitor.h b/include/qapi/opts-visitor.h
index 6462c96c29..9b989e7e08 100644
--- a/include/qapi/opts-visitor.h
+++ b/include/qapi/opts-visitor.h
@@ -14,7 +14,6 @@
 #define OPTS_VISITOR_H
 
 #include "qapi/visitor.h"
-#include "qemu/option.h"
 
 /* Inclusive upper bound on the size of any flattened range. This is a safety
  * (= anti-annoyance) measure; wrong ranges should not cause long startup
diff --git a/include/qemu-common.h b/include/qemu-common.h
index 05319b9ddc..8a4f63c9de 100644
--- a/include/qemu-common.h
+++ b/include/qemu-common.h
@@ -16,8 +16,6 @@
 
 #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
-#include "qemu/option.h"
-
 /* Copyright string for -version arguments, About dialogs, etc */
 #define QEMU_COPYRIGHT "Copyright (c) 2003-2017 " \
     "Fabrice Bellard and the QEMU Project developers"
diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h
index 449e631c86..d74f920152 100644
--- a/include/qemu/config-file.h
+++ b/include/qemu/config-file.h
@@ -1,7 +1,6 @@
 #ifndef QEMU_CONFIG_FILE_H
 #define QEMU_CONFIG_FILE_H
 
-#include "qemu/option.h"
 
 QemuOptsList *qemu_find_opts(const char *group);
 QemuOptsList *qemu_find_opts_err(const char *group, Error **errp);
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index c9e786b6ac..ced67c7842 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -2,7 +2,6 @@
 #define QEMU_ARCH_INIT_H
 
 #include "qapi-types.h"
-#include "qemu/option.h"
 
 enum {
     QEMU_ARCH_ALL = -1,
diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
index ed6a437f4d..621a3f9d42 100644
--- a/include/sysemu/hostmem.h
+++ b/include/sysemu/hostmem.h
@@ -16,7 +16,6 @@
 #include "sysemu/sysemu.h" /* for MAX_NODES */
 #include "qom/object.h"
 #include "exec/memory.h"
-#include "qemu/option.h"
 #include "qemu/bitmap.h"
 
 #define TYPE_MEMORY_BACKEND "memory-backend"
diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h
index b3545215f6..d99e5474b4 100644
--- a/include/sysemu/numa.h
+++ b/include/sysemu/numa.h
@@ -2,7 +2,6 @@
 #define SYSEMU_NUMA_H
 
 #include "qemu/bitmap.h"
-#include "qemu/option.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/hostmem.h"
 #include "hw/boards.h"
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 36fd371c93..77bb3da582 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -2,7 +2,6 @@
 #define SYSEMU_H
 /* Misc. things related to the system emulator.  */
 
-#include "qemu/option.h"
 #include "qemu/queue.h"
 #include "qemu/timer.h"
 #include "qemu/notify.h"
diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
index 52a9f8808b..c6d50eb87a 100644
--- a/include/ui/qemu-spice.h
+++ b/include/ui/qemu-spice.h
@@ -23,7 +23,6 @@
 #ifdef CONFIG_SPICE
 
 #include <spice.h>
-#include "qemu/option.h"
 #include "qemu/config-file.h"
 
 extern int using_spice;
diff --git a/monitor.c b/monitor.c
index 6f70c8db9a..31f7aa2488 100644
--- a/monitor.c
+++ b/monitor.c
@@ -24,7 +24,6 @@
 
 #include "qemu/osdep.h"
 #include <dirent.h>
-#include "qemu-common.h"
 #include "cpu.h"
 #include "hw/hw.h"
 #include "monitor/qdev.h"
@@ -68,6 +67,7 @@
 #include "exec/memory.h"
 #include "exec/exec-all.h"
 #include "qemu/log.h"
+#include "qemu/option.h"
 #include "qmp-commands.h"
 #include "hmp.h"
 #include "qemu/thread.h"
diff --git a/net/net.c b/net/net.c
index 63068ce8e2..e25a18dc8e 100644
--- a/net/net.c
+++ b/net/net.c
@@ -32,7 +32,6 @@
 #include "util.h"
 
 #include "monitor/monitor.h"
-#include "qemu-common.h"
 #include "qemu/help_option.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
@@ -43,6 +42,7 @@
 #include "hw/qdev.h"
 #include "qemu/iov.h"
 #include "qemu/main-loop.h"
+#include "qemu/option.h"
 #include "qapi-visit.h"
 #include "qapi/error.h"
 #include "qapi/opts-visitor.h"
diff --git a/net/vhost-user.c b/net/vhost-user.c
index fd766504ab..cb45512506 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qmp-commands.h"
 #include "trace.h"
 
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 0aa8a6c60b..77bb1993ed 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -29,6 +29,7 @@
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
 #include "qemu/help_option.h"
+#include "qemu/option.h"
 #include "sysemu/block-backend.h"
 #include "migration/misc.h"
 
diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
index a6a70fc3dc..9b3cd00af6 100644
--- a/qemu-io-cmds.c
+++ b/qemu-io-cmds.c
@@ -17,6 +17,7 @@
 #include "block/qapi.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
+#include "qemu/option.h"
 #include "qemu/timer.h"
 #include "qemu/cutils.h"
 
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 6ff8ef41e9..ed5d9b5062 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -22,12 +22,12 @@
 #include <pthread.h>
 
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "qemu/cutils.h"
 #include "sysemu/block-backend.h"
 #include "block/block_int.h"
 #include "block/nbd.h"
 #include "qemu/main-loop.h"
+#include "qemu/option.h"
 #include "qemu/error-report.h"
 #include "qemu/config-file.h"
 #include "qemu/bswap.h"
diff --git a/qmp.c b/qmp.c
index f87de2bc26..d53021f7d4 100644
--- a/qmp.c
+++ b/qmp.c
@@ -16,6 +16,7 @@
 #include "qemu/osdep.h"
 #include "qemu-version.h"
 #include "qemu/cutils.h"
+#include "qemu/option.h"
 #include "monitor/monitor.h"
 #include "sysemu/sysemu.h"
 #include "qemu/config-file.h"
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index 2719df3bae..80d09139be 100644
--- a/qom/object_interfaces.c
+++ b/qom/object_interfaces.c
@@ -3,6 +3,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qom/object_interfaces.h"
 #include "qemu/module.h"
+#include "qemu/option.h"
 #include "qapi-visit.h"
 #include "qapi/opts-visitor.h"
 #include "qemu/config-file.h"
diff --git a/replay/replay.c b/replay/replay.c
index ff58a5adf9..7a23c62d61 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -11,11 +11,11 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qemu-common.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
 #include "qemu/timer.h"
 #include "qemu/main-loop.h"
+#include "qemu/option.h"
 #include "sysemu/cpus.h"
 #include "sysemu/sysemu.h"
 #include "qemu/error-report.h"
diff --git a/tests/test-char.c b/tests/test-char.c
index 911e3f6e8d..b17d094b85 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -1,8 +1,8 @@
 #include "qemu/osdep.h"
 #include <glib/gstdio.h>
 
-#include "qemu-common.h"
 #include "qemu/config-file.h"
+#include "qemu/option.h"
 #include "qemu/sockets.h"
 #include "chardev/char-fe.h"
 #include "chardev/char-mux.h"
diff --git a/tests/test-qemu-opts.c b/tests/test-qemu-opts.c
index b37d695c28..5d5a3daa7b 100644
--- a/tests/test-qemu-opts.c
+++ b/tests/test-qemu-opts.c
@@ -9,6 +9,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/cutils.h"
+#include "qemu/option.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
diff --git a/tests/test-replication.c b/tests/test-replication.c
index 31372777ae..68c0d04f2a 100644
--- a/tests/test-replication.c
+++ b/tests/test-replication.c
@@ -12,6 +12,7 @@
 
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
+#include "qemu/option.h"
 #include "replication.h"
 #include "block/block_int.h"
 #include "sysemu/block-backend.h"
diff --git a/trace/control.c b/trace/control.c
index 2769934bec..1f70841db5 100644
--- a/trace/control.c
+++ b/trace/control.c
@@ -18,6 +18,7 @@
 #endif
 #ifdef CONFIG_TRACE_LOG
 #include "qemu/log.h"
+#include "qemu/option.h"
 #endif
 #ifdef CONFIG_TRACE_SYSLOG
 #include <syslog.h>
diff --git a/ui/console.c b/ui/console.c
index f678979f86..36584d039e 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -23,10 +23,10 @@
  */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
 #include "ui/console.h"
 #include "hw/qdev-core.h"
 #include "qapi/error.h"
+#include "qemu/option.h"
 #include "qemu/timer.h"
 #include "qmp-commands.h"
 #include "chardev/char-fe.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 64ed759be5..e449172fe9 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -21,7 +21,6 @@
 #include <netdb.h>
 #include "sysemu/sysemu.h"
 
-#include "qemu-common.h"
 #include "ui/qemu-spice.h"
 #include "qemu/error-report.h"
 #include "qemu/thread.h"
@@ -32,6 +31,7 @@
 #include "qmp-commands.h"
 #include "qapi/error.h"
 #include "qemu/notify.h"
+#include "qemu/option.h"
 #include "migration/misc.h"
 #include "hw/hw.h"
 #include "ui/spice-display.h"
diff --git a/ui/spice-display.c b/ui/spice-display.c
index efe9c57eb5..98ccdfb687 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -16,9 +16,9 @@
  */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
 #include "ui/qemu-spice.h"
 #include "qemu/timer.h"
+#include "qemu/option.h"
 #include "qemu/queue.h"
 #include "ui/console.h"
 #include "sysemu/sysemu.h"
diff --git a/ui/vnc.c b/ui/vnc.c
index 8458e6d9fe..76b2885c26 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -30,6 +30,7 @@
 #include "trace.h"
 #include "sysemu/sysemu.h"
 #include "qemu/error-report.h"
+#include "qemu/option.h"
 #include "qemu/sockets.h"
 #include "qemu/timer.h"
 #include "qemu/acl.h"
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 01/18] Clean up includes
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
@ 2018-01-30 13:22   ` BALATON Zoltan
  2018-01-31  7:48     ` Markus Armbruster
  2018-01-30 15:23   ` Eric Blake
  1 sibling, 1 reply; 49+ messages in thread
From: BALATON Zoltan @ 2018-01-30 13:22 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-devel

On Tue, 30 Jan 2018, Markus Armbruster wrote:
> Clean up includes so that osdep.h is included first and headers
> which it implies are not included manually.
>
> This commit was created with scripts/clean-includes, with the change
> to target/s390x/gen-features.c manually reverted, and blank lines
> around deletions collapsed.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> block/parallels.h                                     |  1 -
> hw/block/vhost-user-blk.c                             |  1 -
> hw/ide/sii3112.c                                      |  1 +
> hw/nvram/eeprom_at24c.c                               |  3 +--
> hw/tpm/tpm_emulator.c                                 |  4 ----
> hw/tpm/tpm_int.h                                      |  2 --
> hw/tpm/tpm_ioctl.h                                    |  2 --
> hw/xtensa/xtensa_memory.h                             |  1 -
> include/exec/tb-lookup.h                              |  2 --
> include/hw/intc/xlnx-pmu-iomod-intc.h                 |  1 -
> include/hw/intc/xlnx-zynqmp-ipi.h                     |  1 -
> include/hw/nvram/fw_cfg.h                             |  1 -
> include/hw/pci-bridge/simba.h                         |  1 -
> include/hw/xtensa/xtensa-isa.h                        |  2 --
> include/qapi/clone-visitor.h                          |  1 -
> include/sysemu/hvf.h                                  |  2 --
> include/ui/console.h                                  |  1 -
> io/channel-websock.c                                  |  3 ---
> linux-user/syscall.c                                  |  1 -
> scsi/pr-helper.h                                      |  2 --
> target/i386/hvf/vmx.h                                 |  1 -
> target/i386/hvf/x86hvf.c                              |  3 ---
> target/xtensa/core-dc232b/xtensa-modules.c            |  1 +
> target/xtensa/core-dc233c/xtensa-modules.c            |  1 +
> target/xtensa/core-de212/xtensa-modules.c             |  1 +
> target/xtensa/core-fsf/xtensa-modules.c               |  1 +
> target/xtensa/core-sample_controller/xtensa-modules.c |  1 +
> target/xtensa/xtensa-isa.c                            |  4 +---
> tests/migration/stress.c                              | 10 +---------
> tests/ptimer-test.c                                   |  4 ++--
> trace/control-internal.h                              |  2 --
> 31 files changed, 11 insertions(+), 51 deletions(-)
>
> diff --git a/block/parallels.h b/block/parallels.h
> index 4b044079ef..5aa101cfc8 100644
> --- a/block/parallels.h
> +++ b/block/parallels.h
> @@ -32,7 +32,6 @@
> #ifndef BLOCK_PARALLELS_H
> #define BLOCK_PARALLELS_H
> #include "qemu/coroutine.h"
> -#include "qemu/typedefs.h"
>
> #define HEADS_NUMBER 16
> #define SEC_IN_CYL 32
> diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
> index b53b4c9c57..f840f07dfe 100644
> --- a/hw/block/vhost-user-blk.c
> +++ b/hw/block/vhost-user-blk.c
> @@ -19,7 +19,6 @@
> #include "qemu/osdep.h"
> #include "qapi/error.h"
> #include "qemu/error-report.h"
> -#include "qemu/typedefs.h"
> #include "qemu/cutils.h"
> #include "qom/object.h"
> #include "hw/qdev-core.h"
> diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c
> index 17aa930e39..a5d1776756 100644
> --- a/hw/ide/sii3112.c
> +++ b/hw/ide/sii3112.c
> @@ -12,6 +12,7 @@
>  * http://wiki.osdev.org/User:Quok/Silicon_Image_Datasheets
>  */
>
> +#include "qemu/osdep.h"
> #include <qemu/osdep.h>
> #include <hw/ide/pci.h>
> #include "trace.h"

This is wrong. I've sent a patch instead to change angle brackets to 
quotes for these two includes. This wasn't catched either by checkpatch 
nor review though so maybe it could be added to checkpatch if quotes are 
the preferred style for these includes.

Regards,
BALATON Zoltan

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (17 preceding siblings ...)
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users Markus Armbruster
@ 2018-01-30 13:39 ` no-reply
  2018-01-30 18:36 ` Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 49+ messages in thread
From: no-reply @ 2018-01-30 13:39 UTC (permalink / raw)
  To: armbru; +Cc: famz, qemu-devel

Hi,

This series failed docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180130102202.28519-1-armbru@redhat.com
Subject: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-mingw@fedora
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
b82040d7c2 Move include qemu/option.h from qemu-common.h to actual users
35c5d79dfc Drop superfluous includes of qapi/qmp/qjson.h
08042c2c46 Drop superfluous includes of qapi/qmp/dispatch.h
490c58458e Include qapi/qmp/qnull.h exactly where needed
661e629169 Include qapi/qmp/qnum.h exactly where needed
b2a77fa265 Include qapi/qmp/qbool.h exactly where needed
2083f5d04d Include qapi/qmp/qstring.h exactly where needed
4dacfa5ea1 Include qapi/qmp/qdict.h exactly where needed
40d80b9c49 Include qapi/qmp/qlist.h exactly where needed
b1aa592bef Include qapi/qmp/qobject.h exactly where needed
23f8be7488 qdict qlist: Make most helper macros functions
92f9da25c9 Eliminate qapi/qmp/types.h
8d457a8644 Typedef the subtypes of QObject in qemu/typedefs.h, too
1c6de32770 Include qmp-commands.h exactly where needed
6813f055bb Drop superfluous includes of qapi/qmp/qerror.h
f93b76ad10 Include qapi/error.h exactly where needed
5f1752d1f5 Drop superfluous includes of qapi-types.h
772b091f1c Clean up includes

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-r8up9vt2/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   fedora
  GEN     /var/tmp/patchew-tester-tmp-r8up9vt2/src/docker-src.2018-01-30-08.37.51.23589/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-r8up9vt2/src/docker-src.2018-01-30-08.37.51.23589/qemu.tar.vroot'...
done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-r8up9vt2/src/docker-src.2018-01-30-08.37.51.23589/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-r8up9vt2/src/docker-src.2018-01-30-08.37.51.23589/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e'
  COPY    RUNNER
    RUN test-mingw in qemu:fedora 
Packages installed:
PyYAML-3.11-13.fc25.x86_64
SDL-devel-1.2.15-21.fc24.x86_64
bc-1.06.95-16.fc24.x86_64
bison-3.0.4-4.fc24.x86_64
bzip2-1.0.6-21.fc25.x86_64
ccache-3.3.4-1.fc25.x86_64
clang-3.9.1-2.fc25.x86_64
findutils-4.6.0-8.fc25.x86_64
flex-2.6.0-3.fc25.x86_64
gcc-6.4.1-1.fc25.x86_64
gcc-c++-6.4.1-1.fc25.x86_64
gettext-0.19.8.1-3.fc25.x86_64
git-2.9.5-3.fc25.x86_64
glib2-devel-2.50.3-1.fc25.x86_64
hostname-3.15-8.fc25.x86_64
libaio-devel-0.3.110-6.fc24.x86_64
libasan-6.4.1-1.fc25.x86_64
libfdt-devel-1.4.2-1.fc25.x86_64
libubsan-6.4.1-1.fc25.x86_64
make-4.1-6.fc25.x86_64
mingw32-SDL-1.2.15-7.fc24.noarch
mingw32-bzip2-1.0.6-7.fc24.noarch
mingw32-curl-7.47.0-1.fc24.noarch
mingw32-glib2-2.50.3-1.fc25.noarch
mingw32-gmp-6.1.1-1.fc25.noarch
mingw32-gnutls-3.5.5-2.fc25.noarch
mingw32-gtk2-2.24.31-2.fc25.noarch
mingw32-gtk3-3.22.17-1.fc25.noarch
mingw32-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw32-libpng-1.6.27-1.fc25.noarch
mingw32-libssh2-1.4.3-5.fc24.noarch
mingw32-libtasn1-4.9-1.fc25.noarch
mingw32-nettle-3.3-1.fc25.noarch
mingw32-pixman-0.34.0-1.fc25.noarch
mingw32-pkg-config-0.28-6.fc24.x86_64
mingw64-SDL-1.2.15-7.fc24.noarch
mingw64-bzip2-1.0.6-7.fc24.noarch
mingw64-curl-7.47.0-1.fc24.noarch
mingw64-glib2-2.50.3-1.fc25.noarch
mingw64-gmp-6.1.1-1.fc25.noarch
mingw64-gnutls-3.5.5-2.fc25.noarch
mingw64-gtk2-2.24.31-2.fc25.noarch
mingw64-gtk3-3.22.17-1.fc25.noarch
mingw64-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw64-libpng-1.6.27-1.fc25.noarch
mingw64-libssh2-1.4.3-5.fc24.noarch
mingw64-libtasn1-4.9-1.fc25.noarch
mingw64-nettle-3.3-1.fc25.noarch
mingw64-pixman-0.34.0-1.fc25.noarch
mingw64-pkg-config-0.28-6.fc24.x86_64
nettle-devel-3.3-1.fc25.x86_64
package python2 is not installed
perl-5.24.3-389.fc25.x86_64
pixman-devel-0.34.0-2.fc24.x86_64
sparse-0.5.0-10.fc25.x86_64
tar-1.29-3.fc25.x86_64
which-2.21-1.fc25.x86_64
zlib-devel-1.2.8-10.fc24.x86_64

Environment variables:
PACKAGES=ccache gettext git tar PyYAML sparse flex bison python2 bzip2 hostname     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel     gcc gcc-c++ clang make perl which bc findutils libaio-devel     nettle-devel libasan libubsan     mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config     mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1     mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2     mingw32-bzip2     mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config     mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1     mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2     mingw64-bzip2
HOSTNAME=3d28e3397043
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
FGC=f25
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
DISTTAG=f25container
FEATURES=mingw clang pyyaml asan dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0
Install prefix    /tmp/qemu-test/install
BIOS directory    /tmp/qemu-test/install
firmware path     /tmp/qemu-test/install/share/qemu-firmware
binary directory  /tmp/qemu-test/install
library directory /tmp/qemu-test/install/lib
module directory  /tmp/qemu-test/install/lib
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory  /tmp/qemu-test/install
local state directory   queried at runtime
Windows SDK       no
Source path       /tmp/qemu-test/src
GIT binary        git
GIT submodules    
C compiler        x86_64-w64-mingw32-gcc
Host C compiler   cc
C++ compiler      x86_64-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1  -I$(SRC_PATH)/dtc/libfdt -Werror -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -I/usr/x86_64-w64-mingw32/sys-root/mingw/include   -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16 
LDFLAGS           -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu aarch64-softmmu
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.15)
GTK support       yes (2.24.31)
GTK GL support    no
VTE support       no 
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    no
virgl support     no
curl support      yes
mingw32 support   yes
Audio drivers     dsound
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    no
Multipath support no
VNC support       yes
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
PIE               no
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support no
Install blobs     yes
KVM support       no
HAX support       yes
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support no
RDMA support      no
fdt support       yes
preadv support    no
fdatasync         no
madvise           no
posix_madvise     no
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
vhost-user support no
Trace backends    simple
Trace output file trace-<pid>
spice support     no 
rbd support       no
xfsctl support    no
smartcard support no
libusb            no
usb net redir     no
OpenGL support    no
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info yes
QGA MSI support   no
seccomp support   no
coroutine backend win32
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
TPM emulator      no
QOM debugging     yes
Live block migration yes
lzo support       no
snappy support    no
bzip2 support     yes
NUMA host support no
libxml2           no
tcmalloc support  no
jemalloc support  no
avx2 optimization yes
replication support yes
VxHS block device no
capstone          no

WARNING: Use of GTK 2.0 is deprecated and will be removed in
WARNING: future releases. Please switch to using GTK 3.0

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     config-host.h
  GEN     qemu-options.def
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qmp-commands.h
  GEN     qapi-event.h
  GEN     x86_64-softmmu/config-devices.mak
  GEN     qmp-marshal.c
  GEN     aarch64-softmmu/config-devices.mak
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
	 DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
	 DEP /tmp/qemu-test/src/dtc/tests/trees.S
	 DEP /tmp/qemu-test/src/dtc/tests/testutils.c
	 DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
	 DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
	 DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
	 DEP /tmp/qemu-test/src/dtc/tests/check_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
	 DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
	 DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
	 DEP /tmp/qemu-test/src/dtc/tests/incbin.c
	 DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
	 DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
	 DEP /tmp/qemu-test/src/dtc/tests/path-references.c
	 DEP /tmp/qemu-test/src/dtc/tests/references.c
	 DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/set_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
	 DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
	 DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
	 DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
	 DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
	 DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/notfound.c
	 DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
	 DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/getprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/find_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/root_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
	 DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
	 DEP /tmp/qemu-test/src/dtc/util.c
	 DEP /tmp/qemu-test/src/dtc/fdtput.c
	 DEP /tmp/qemu-test/src/dtc/fdtdump.c
	 DEP /tmp/qemu-test/src/dtc/fdtget.c
	 LEX convert-dtsv0-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/srcpos.c
	 BISON dtc-parser.tab.c
	 LEX dtc-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/treesource.c
	 DEP /tmp/qemu-test/src/dtc/livetree.c
	 DEP /tmp/qemu-test/src/dtc/fstree.c
	 DEP /tmp/qemu-test/src/dtc/flattree.c
	 DEP /tmp/qemu-test/src/dtc/dtc.c
	 DEP /tmp/qemu-test/src/dtc/data.c
	 DEP /tmp/qemu-test/src/dtc/checks.c
	 DEP convert-dtsv0-lexer.lex.c
	 DEP dtc-parser.tab.c
	 DEP dtc-lexer.lex.c
	CHK version_gen.h
	UPD version_gen.h
	 DEP /tmp/qemu-test/src/dtc/util.c
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_strerror.o
	 CC libfdt/fdt_empty_tree.o
	 CC libfdt/fdt_addresses.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_overlay.o
	 AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
  RC      version.o
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-commands.h
  CC      qmp-introspect.o
  CC      qapi-types.o
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-output-visitor.o
  CC      qapi/string-input-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/simple.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
/tmp/qemu-test/src/trace/control.c:43:1: error: variable 'qemu_trace_opts' has initializer but incomplete type
 QemuOptsList qemu_trace_opts = {
 ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:44:5: error: unknown field 'name' specified in initializer
     .name = "trace",
     ^
/tmp/qemu-test/src/trace/control.c:44:13: error: excess elements in struct initializer [-Werror]
     .name = "trace",
             ^~~~~~~
/tmp/qemu-test/src/trace/control.c:44:13: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:45:5: error: unknown field 'implied_opt_name' specified in initializer
     .implied_opt_name = "enable",
     ^
/tmp/qemu-test/src/trace/control.c:45:25: error: excess elements in struct initializer [-Werror]
     .implied_opt_name = "enable",
                         ^~~~~~~~
/tmp/qemu-test/src/trace/control.c:45:25: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:46:5: error: unknown field 'head' specified in initializer
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
     ^
In file included from /tmp/qemu-test/src/include/hw/qdev-core.h:4:0,
                 from /tmp/qemu-test/src/include/qom/cpu.h:23,
                 from /tmp/qemu-test/src/trace/control-internal.h:13,
                 from /tmp/qemu-test/src/trace/control.h:270,
                 from /tmp/qemu-test/src/trace/control.c:11:
/tmp/qemu-test/src/include/qemu/queue.h:352:9: error: extra brace group at end of initializer
         { NULL, &(head).tqh_first }
         ^
/tmp/qemu-test/src/trace/control.c:46:13: note: in expansion of macro 'QTAILQ_HEAD_INITIALIZER'
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
             ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/include/qemu/queue.h:352:9: note: (near initialization for 'qemu_trace_opts')
         { NULL, &(head).tqh_first }
         ^
/tmp/qemu-test/src/trace/control.c:46:13: note: in expansion of macro 'QTAILQ_HEAD_INITIALIZER'
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
             ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:46:5: error: invalid use of incomplete typedef 'QemuOptsList {aka struct QemuOptsList}'
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
     ^
In file included from /tmp/qemu-test/src/include/hw/qdev-core.h:4:0,
                 from /tmp/qemu-test/src/include/qom/cpu.h:23,
                 from /tmp/qemu-test/src/trace/control-internal.h:13,
                 from /tmp/qemu-test/src/trace/control.h:270,
                 from /tmp/qemu-test/src/trace/control.c:11:
/tmp/qemu-test/src/include/qemu/queue.h:352:9: error: excess elements in struct initializer [-Werror]
         { NULL, &(head).tqh_first }
         ^
/tmp/qemu-test/src/trace/control.c:46:13: note: in expansion of macro 'QTAILQ_HEAD_INITIALIZER'
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
             ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/include/qemu/queue.h:352:9: note: (near initialization for 'qemu_trace_opts')
         { NULL, &(head).tqh_first }
         ^
/tmp/qemu-test/src/trace/control.c:46:13: note: in expansion of macro 'QTAILQ_HEAD_INITIALIZER'
     .head = QTAILQ_HEAD_INITIALIZER(qemu_trace_opts.head),
             ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:47:5: error: unknown field 'desc' specified in initializer
     .desc = {
     ^
/tmp/qemu-test/src/trace/control.c:47:13: error: extra brace group at end of initializer
     .desc = {
             ^
/tmp/qemu-test/src/trace/control.c:47:13: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:48:9: error: extra brace group at end of initializer
         {
         ^
/tmp/qemu-test/src/trace/control.c:48:9: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:50:21: error: 'QEMU_OPT_STRING' undeclared here (not in a function)
             .type = QEMU_OPT_STRING,
                     ^~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:52:9: error: extra brace group at end of initializer
         {
         ^
/tmp/qemu-test/src/trace/control.c:52:9: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:55:11: error: extra brace group at end of initializer
         },{
           ^
/tmp/qemu-test/src/trace/control.c:55:11: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:59:9: error: extra brace group at end of initializer
         { /* end of list */ }
         ^
/tmp/qemu-test/src/trace/control.c:59:9: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c:47:13: error: excess elements in struct initializer [-Werror]
     .desc = {
             ^
/tmp/qemu-test/src/trace/control.c:47:13: note: (near initialization for 'qemu_trace_opts')
/tmp/qemu-test/src/trace/control.c: In function 'trace_opt_parse':
/tmp/qemu-test/src/trace/control.c:315:22: error: implicit declaration of function 'qemu_opts_parse_noisily' [-Werror=implicit-function-declaration]
     QemuOpts *opts = qemu_opts_parse_noisily(qemu_find_opts("trace"),
                      ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:315:5: error: nested extern declaration of 'qemu_opts_parse_noisily' [-Werror=nested-externs]
     QemuOpts *opts = qemu_opts_parse_noisily(qemu_find_opts("trace"),
     ^~~~~~~~
/tmp/qemu-test/src/trace/control.c:315:22: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
     QemuOpts *opts = qemu_opts_parse_noisily(qemu_find_opts("trace"),
                      ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:320:9: error: implicit declaration of function 'qemu_opt_get' [-Werror=implicit-function-declaration]
     if (qemu_opt_get(opts, "enable")) {
         ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:320:5: error: nested extern declaration of 'qemu_opt_get' [-Werror=nested-externs]
     if (qemu_opt_get(opts, "enable")) {
     ^~
/tmp/qemu-test/src/trace/control.c:321:29: error: passing argument 1 of 'trace_enable_events' makes pointer from integer without a cast [-Werror=int-conversion]
         trace_enable_events(qemu_opt_get(opts, "enable"));
                             ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:202:6: note: expected 'const char *' but argument is of type 'int'
 void trace_enable_events(const char *line_buf)
      ^~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:323:23: error: passing argument 1 of 'trace_init_events' makes pointer from integer without a cast [-Werror=int-conversion]
     trace_init_events(qemu_opt_get(opts, "events"));
                       ^~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:214:13: note: expected 'const char *' but argument is of type 'int'
 static void trace_init_events(const char *fname)
             ^~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:324:27: error: passing argument 1 of 'g_strdup' makes pointer from integer without a cast [-Werror=int-conversion]
     trace_file = g_strdup(qemu_opt_get(opts, "file"));
                           ^~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib.h:79:0,
                 from /tmp/qemu-test/src/include/glib-compat.h:19,
                 from /tmp/qemu-test/src/include/qemu/osdep.h:107,
                 from /tmp/qemu-test/src/trace/control.c:10:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0/glib/gstrfuncs.h:216:22: note: expected 'const gchar * {aka const char *}' but argument is of type 'int'
 gchar*               g_strdup        (const gchar *str) G_GNUC_MALLOC;
                      ^~~~~~~~
/tmp/qemu-test/src/trace/control.c:325:5: error: implicit declaration of function 'qemu_opts_del' [-Werror=implicit-function-declaration]
     qemu_opts_del(opts);
     ^~~~~~~~~~~~~
/tmp/qemu-test/src/trace/control.c:325:5: error: nested extern declaration of 'qemu_opts_del' [-Werror=nested-externs]
/tmp/qemu-test/src/trace/control.c: At top level:
/tmp/qemu-test/src/trace/control.c:43:14: error: storage size of 'qemu_trace_opts' isn't known
 QemuOptsList qemu_trace_opts = {
              ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [trace/control.o] Error 1
/tmp/qemu-test/src/rules.mak:66: recipe for target 'trace/control.o' failed
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 407, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 404, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 261, in run
    return Docker().run(argv, args.keep, quiet=args.quiet)
  File "./tests/docker/docker.py", line 229, in run
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=cc861ae005c211e895a552540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-r8up9vt2/src/docker-src.2018-01-30-08.37.51.23589:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make: *** [tests/docker/Makefile.include:163: docker-run-test-mingw@fedora] Error 2

real	1m41.698s
user	0m4.579s
sys	0m3.261s
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 01/18] Clean up includes
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
  2018-01-30 13:22   ` BALATON Zoltan
@ 2018-01-30 15:23   ` Eric Blake
  1 sibling, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 15:23 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 814 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Clean up includes so that osdep.h is included first and headers
> which it implies are not included manually.
> 
> This commit was created with scripts/clean-includes, with the change
> to target/s390x/gen-features.c manually reverted, and blank lines
> around deletions collapsed.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block/parallels.h                                     |  1 -
>  hw/block/vhost-user-blk.c                             |  1 -
>  hw/ide/sii3112.c                                      |  1 +

Modulo the bogus change here,

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h Markus Armbruster
@ 2018-01-30 15:46   ` Eric Blake
  2018-01-31  7:49     ` Markus Armbruster
  0 siblings, 1 reply; 49+ messages in thread
From: Eric Blake @ 2018-01-30 15:46 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

> +++ b/tests/test-clone-visitor.c
> @@ -11,7 +11,6 @@
>  
>  #include "qemu-common.h"
>  #include "qapi/clone-visitor.h"
> -#include "test-qapi-types.h"

Overactive sed pattern?  This is a different header.  While the tests
still pass after deleting this include, removal of the test-qapi-types.h
line here and in other tests/ files should be a separate patch, or else
the commit message updated to mention it.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed Markus Armbruster
@ 2018-01-30 16:14   ` Eric Blake
  2018-01-31  7:58     ` Markus Armbruster
  0 siblings, 1 reply; 49+ messages in thread
From: Eric Blake @ 2018-01-30 16:14 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 3253 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> This cleanup makes the number of objects depending on qapi/error.h
> drop from 1910 (out of 4739) to 1612 in my "build everything" tree.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  arch_init.c                             | 1 +
>  audio/wavcapture.c                      | 1 +
>  balloon.c                               | 1 +
>  block.c                                 | 2 ++
>  block/block-backend.c                   | 1 +
>  block/iscsi.c                           | 1 +
>  block/qapi.c                            | 1 +

So several .c files have to use it explicitly,

>  fsdev/qemu-fsdev-throttle.h             | 1 -

>  include/crypto/random.h                 | 1 -
>  include/crypto/xts.h                    | 1 -
>  include/hw/ide/internal.h               | 1 -
>  include/ui/console.h                    | 1 -

because they were previously getting it from .h files that don't
directly emit an error.  Makes sense.

Patches like this are easy to test - if it still compiles, you did it
right ;)  Out of curiousity, how are you counting how many files got
compiled per run?  Touch the .h, then pass 'make' output to 'grep -c "^
CC "'?

But just to make sure nothing weird is happening, I also read through
it, and found:

> 
> diff --git a/arch_init.c b/arch_init.c
> index a0b8ed6167..0fb8093f92 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -21,6 +21,7 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "qemu-common.h"
>  #include "cpu.h"

Spurious whitespace change.  Should this belong in 1/18, even though
arch_init.c didn't need cleanup there?  Or...

> +++ b/block.c
> @@ -21,6 +21,7 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "block/trace.h"
>  #include "block/block_int.h"

...since you did it again, do you need a separate patch for ALL of these
types of whitespace cleanups near osdep.h?

> +++ b/block/qcow2.c
> @@ -21,6 +21,7 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "block/block_int.h"
>  #include "sysemu/block-backend.h"

and again

> +++ b/chardev/char-ringbuf.c
> @@ -21,9 +21,11 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "chardev/char.h"
>  #include "qmp-commands.h"
> +#include "qapi/error.h"
>  #include "qemu/base64.h"
>  
>  /* Ring buffer chardev */

Here, it's in the same hunk, so a bit more forgivable.  But there's
definitely enough of them that a separate commit might be in order.

At any rate, whether done as one patch (with a better commit message) or
as two, I see nothing semantically wrong with the cleanups done here, so

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h Markus Armbruster
@ 2018-01-30 16:20   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 16:20 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  backends/tpm.c             | 1 -
>  block/qcow.c               | 1 -
>  block/qed.c                | 1 -
>  blockdev-nbd.c             | 1 -
>  hw/s390x/s390-virtio-ccw.c | 1 -
>  net/colo-compare.c         | 1 -
>  net/filter-mirror.c        | 1 -
>  net/filter-rewriter.c      | 1 -
>  qapi/qmp-dispatch.c        | 1 -
>  qemu-img.c                 | 1 -
>  ui/vnc.c                   | 1 -
>  11 files changed, 11 deletions(-)
> 
> diff --git a/backends/tpm.c b/backends/tpm.c
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed Markus Armbruster
@ 2018-01-30 16:43   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 16:43 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too Markus Armbruster
@ 2018-01-30 16:50   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 16:50 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1031 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> This renders many inclusions of qapi/qmp/q*.h superfluous.  They'll be
> dropped in the next few commits.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

> +++ b/include/qemu/typedefs.h
> @@ -92,8 +92,13 @@ typedef struct QemuOptsList QemuOptsList;
>  typedef struct QEMUSGList QEMUSGList;
>  typedef struct QEMUTimer QEMUTimer;
>  typedef struct QEMUTimerListGroup QEMUTimerListGroup;
> -typedef struct QObject QObject;
> +typedef struct QBool QBool;
> +typedef struct QDict QDict;
> +typedef struct QList QList;
>  typedef struct QNull QNull;
> +typedef struct QNum QNum;
> +typedef struct QObject QObject;

And sorting QNull before QOjbect while at it, broken since 4d2d5c41a
(it's appalling how often we break sorting, in spite of a comment
requesting it).

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h Markus Armbruster
@ 2018-01-30 16:56   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 16:56 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 978 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> qapi/qmp/types.h is a convenience header to include a number of
> qapi/qmp/ headers.  Since we rarely need all of the headers
> qapi/qmp/types.h includes, we bypass it most of the time.  Most of the
> places that use it don't need all the headers, either.
> 
> Include the necessary headers directly, and drop qapi/qmp/types.h.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block/qapi.c                        |  3 ++-
>  block/qcow2.c                       |  3 ++-
>  blockdev.c                          |  2 +-
>  hw/pci/pcie_aer.c                   |  1 -
>  hw/watchdog/watchdog.c              |  1 -
>  include/qapi/qmp/types.h            | 24 ------------------------

Goodbye!  Glad to be rid of you!

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions Markus Armbruster
@ 2018-01-30 17:02   ` Eric Blake
  2018-01-31  8:11     ` Markus Armbruster
  0 siblings, 1 reply; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:02 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1769 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> The macro expansions of qdict_put_TYPE() and qlist_append_TYPE() need
> qbool.h, qnull.h, qnum.h and qstring.h to compile.  We include qnull.h
> and qnum.h in the headers, but not qbool.h and qstring.h.  Works,
> because we include those wherever the macros get used.
> 
> Open-coding these helpers is of dubious value.  Turn them into
> functions and drop the includes from the headers.
> 
> This cleanup makes the number of objects depending on qapi/qmp/qnum.h
> from 4548 (out of 4739) to 46 in my "build everything" tree.  For
> qapi/qmp/qnull.h, the number drops from 4549 to 21.

Impressive!


> +++ b/qobject/qdict.c
> @@ -14,6 +14,7 @@
>  #include "qapi/qmp/qnum.h"
>  #include "qapi/qmp/qdict.h"
>  #include "qapi/qmp/qbool.h"
> +#include "qapi/qmp/qnull.h"
>  #include "qapi/qmp/qstring.h"
>  #include "qapi/qmp/qobject.h"
>  #include "qapi/error.h"
> @@ -143,6 +144,26 @@ void qdict_put_obj(QDict *qdict, const char *key, QObject *value)
>      }
>  }
>  
> +void qdict_put_int(QDict *qdict, const char *key, int64_t value)
> +{
> +    qdict_put(qdict, key, qnum_from_int(value));
> +}

If I'm not mistaken (although I didn't actually test), this triggers a
false positive in scripts/coccinelle/qobject.cocci, no?  Is there a
convenient way to tell coccinelle that a rewrite pattern applies
everywhere except for where the pattern itself is implemented?  But even
if not, we can always use manual inspection when rerunning Coccinelle to
make sure we don't turn these into infinite loops.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed Markus Armbruster
@ 2018-01-30 17:03   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:03 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 290 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h " Markus Armbruster
@ 2018-01-30 17:47   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:47 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1409 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> This cleanup makes the number of objects depending on qapi/qmp/qlist.h
> drop from 4548 (out of 4739) to 16 in my "build everything" tree.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

> +++ b/tests/check-qdict.c
> @@ -9,9 +9,11 @@
>   * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
>   * See the COPYING.LIB file in the top-level directory.
>   */
> +
>  #include "qemu/osdep.h"

Another one of these whitespace cleanups around osdep.h that might be
worth collecting into its own patch.

>  
>  #include "qapi/qmp/qdict.h"
> +#include "qapi/qmp/qlist.h"
>  #include "qapi/qmp/qnum.h"
>  #include "qapi/qmp/qstring.h"
>  #include "qapi/error.h"

But at least it was in the same hunk as the actual meat of the commit.

> +++ b/tests/libqtest.c
> @@ -14,6 +14,7 @@
>   * See the COPYING file in the top-level directory.
>   *
>   */
> +
>  #include "qemu/osdep.h"
>  #include "libqtest.h"
>  
> @@ -25,6 +26,7 @@
>  #include "qapi/qmp/json-parser.h"
>  #include "qapi/qmp/json-streamer.h"
>  #include "qapi/qmp/qjson.h"
> +#include "qapi/qmp/qlist.h"
>  

In contrast to this location.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h " Markus Armbruster
@ 2018-01-30 17:51   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:51 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 931 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> This cleanup makes the number of objects depending on qapi/qmp/qdict.h
> drop from 4547 (out of 4739) to 368 in my "build everything" tree.
> For qapi/qmp/qobject.h, the number drops from 4549 to 390.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

> +++ b/block/qcow.c
> @@ -21,6 +21,7 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "qapi/error.h"
>  #include "qemu-common.h"
> @@ -30,6 +31,7 @@
>  #include "qemu/module.h"
>  #include "qemu/bswap.h"
>  #include <zlib.h>
> +#include "qapi/qmp/qdict.h"

Same comments as on other patches in the series.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h " Markus Armbruster
@ 2018-01-30 17:55   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:55 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h " Markus Armbruster
@ 2018-01-30 17:57   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:57 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1150 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block.c                        | 1 -
>  block/blkdebug.c               | 1 -
>  block/curl.c                   | 1 -
>  block/qcow2.c                  | 1 -
>  block/quorum.c                 | 1 -
>  block/vvfat.c                  | 1 -
>  hw/usb/xen-usb.c               | 1 -
>  monitor.c                      | 1 -
>  qemu-img.c                     | 1 -
>  qemu-io.c                      | 1 -
>  target/s390x/cpu_models.c      | 1 -
>  tests/check-qlit.c             | 1 -
>  tests/device-introspect-test.c | 1 -
>  ui/spice-core.c                | 1 -
>  14 files changed, 14 deletions(-)

All deletions == fun patch

(Obviously, the header is still in use, but your earlier patches in the
series fixed the other .c files that actually need the header, and
weren't already including it, as side effects of cleaning other messes)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h " Markus Armbruster
@ 2018-01-30 17:58   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:58 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 382 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  tests/check-qlit.c | 1 -
>  1 file changed, 1 deletion(-)

Not much to this one :)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h exactly where needed
  2018-01-30 10:21 ` [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h " Markus Armbruster
@ 2018-01-30 17:59   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 17:59 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

On 01/30/2018 04:21 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  target/ppc/translate.c      | 1 -
>  target/ppc/translate_init.c | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
> 
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h Markus Armbruster
@ 2018-01-30 18:00   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 18:00 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 436 bytes --]

On 01/30/2018 04:22 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  monitor.c                 | 1 -
>  qga/main.c                | 1 -
>  tests/test-qmp-commands.c | 1 -
>  3 files changed, 3 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h Markus Armbruster
@ 2018-01-30 18:01   ` Eric Blake
  0 siblings, 0 replies; 49+ messages in thread
From: Eric Blake @ 2018-01-30 18:01 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 836 bytes --]

On 01/30/2018 04:22 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  balloon.c                           | 1 -
>  block/nbd.c                         | 1 -
>  block/quorum.c                      | 1 -
>  blockjob.c                          | 1 -
>  hw/core/qdev.c                      | 1 -
>  hw/net/virtio-net.c                 | 1 -
>  hw/pci/pcie_aer.c                   | 1 -
>  target/s390x/kvm.c                  | 1 -
>  tests/test-qobject-output-visitor.c | 1 -
>  ui/spice-core.c                     | 1 -
>  vl.c                                | 1 -
>  11 files changed, 11 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users
  2018-01-30 10:22 ` [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users Markus Armbruster
@ 2018-01-30 18:08   ` Eric Blake
  2018-01-31  8:14     ` Markus Armbruster
  0 siblings, 1 reply; 49+ messages in thread
From: Eric Blake @ 2018-01-30 18:08 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2092 bytes --]

On 01/30/2018 04:22 AM, Markus Armbruster wrote:
> qemu-common.h includes qemu/option.h, but most places that include the
> former don't actually need the latter.  Drop the include, and add it
> to the places that actually need it.
> 
> While there, drop superfluous includes of both headers.
> 
> This cleanup makes the number of objects depending on qemu/option.h
> drop from 4542 (out of 4739) to 284 in my "build everything" tree.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  103 files changed, 98 insertions(+), 54 deletions(-)

Bigger effort, but still a nice cleanup.  And especially nice if we're
trying to reduce users of QemuOpts.

Reviewed-by: Eric Blake <eblake@redhat.com>

> +++ b/block/file-posix.c
> @@ -21,12 +21,14 @@
>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   * THE SOFTWARE.
>   */
> +
>  #include "qemu/osdep.h"
>  #include "qapi/error.h"
>  #include "qemu/cutils.h"
>  #include "qemu/error-report.h"
>  #include "block/block_int.h"
>  #include "qemu/module.h"
> +#include "qemu/option.h"
>  #include "trace.h"

More of the blank line before osdep.h cleanup comment.

> +++ b/hw/9pfs/9p-handle.c
> @@ -22,6 +22,7 @@
>  #include "qemu/xattr.h"
>  #include "qemu/cutils.h"
>  #include "qemu/error-report.h"
> +#include "qemu/option.h"
>  #include <linux/fs.h>
>  #ifdef CONFIG_LINUX_MAGIC_H
>  #include <linux/magic.h>

Shouldn't we be fixing this one to include system headers (like
<linux/fs.h> prior to internal headers?  Separate cleanup, though.

> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
> index c6d8af4fb8..d85494bd31 100644
> --- a/hw/9pfs/9p-local.c
> +++ b/hw/9pfs/9p-local.c
> @@ -26,6 +26,7 @@
>  #include "qapi/error.h"
>  #include "qemu/cutils.h"
>  #include "qemu/error-report.h"
> +#include "qemu/option.h"
>  #include <libgen.h>
>  #include <linux/fs.h>

More of that separate cleanup.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (18 preceding siblings ...)
  2018-01-30 13:39 ` [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time no-reply
@ 2018-01-30 18:36 ` Philippe Mathieu-Daudé
  2018-01-31  8:31   ` Markus Armbruster
  2018-01-31  0:12 ` no-reply
  2018-01-31  7:10 ` Thomas Huth
  21 siblings, 1 reply; 49+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-01-30 18:36 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

On 01/30/2018 07:21 AM, Markus Armbruster wrote:
> We have awfully many "touch it, recompile the world" headers.  Right
> now, I count about fifty that are prerequisites of more than half the
> objects in my "build everything" tree.
> 
> Some of them are that way by necessity.  Many of them are not.  This
> series takes care of six I happen to touch, because serve as their
> maintainer:
> 
>     include/qapi/qmp/qdict.h
>     include/qapi/qmp/qlist.h
>     include/qapi/qmp/qnull.h
>     include/qapi/qmp/qnum.h
>     include/qapi/qmp/qobject.h
>     include/qemu/option.h
> 
> Before this series, touching any of these recompiles more than 95% of
> my objects.  That's more than 4500 compiler runs.  After this series,
> only 0.3% - 8% of my objects get recompiled.

nice cleanup :)

No more comment than what Eric said (mostly newlines),
and Zoltan regarding <qemu/osdep.h>, so
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Is there a way to check if an header got used or not?
(thinking about a patchew check to not add headers until effectively used).

> 
> Markus Armbruster (18):
>   Clean up includes
>   Drop superfluous includes of qapi-types.h
>   Include qapi/error.h exactly where needed
>   Drop superfluous includes of qapi/qmp/qerror.h
>   Include qmp-commands.h exactly where needed
>   Typedef the subtypes of QObject in qemu/typedefs.h, too
>   Eliminate qapi/qmp/types.h
>   qdict qlist: Make most helper macros functions
>   Include qapi/qmp/qobject.h exactly where needed
>   Include qapi/qmp/qlist.h exactly where needed
>   Include qapi/qmp/qdict.h exactly where needed
>   Include qapi/qmp/qstring.h exactly where needed
>   Include qapi/qmp/qbool.h exactly where needed
>   Include qapi/qmp/qnum.h exactly where needed
>   Include qapi/qmp/qnull.h exactly where needed
>   Drop superfluous includes of qapi/qmp/dispatch.h
>   Drop superfluous includes of qapi/qmp/qjson.h
>   Move include qemu/option.h from qemu-common.h to actual users
> 
>  accel/accel.c                                      |  2 +-
>  arch_init.c                                        |  1 +
>  audio/wavcapture.c                                 |  1 +
>  backends/cryptodev.c                               |  1 -
>  backends/hostmem.c                                 |  1 -
>  backends/tpm.c                                     |  1 -
>  balloon.c                                          |  2 +-
>  block.c                                            |  6 ++++--
>  block/blkdebug.c                                   |  2 +-
>  block/blkverify.c                                  |  1 +
>  block/block-backend.c                              |  2 ++
>  block/crypto.c                                     |  2 ++
>  block/curl.c                                       |  5 +++--
>  block/file-posix.c                                 |  2 ++
>  block/file-win32.c                                 |  3 +++
>  block/gluster.c                                    |  3 +++
>  block/iscsi-opts.c                                 |  1 +
>  block/iscsi.c                                      |  3 ++-
>  block/nbd.c                                        |  2 +-
>  block/nfs.c                                        |  2 +-
>  block/null.c                                       |  1 +
>  block/parallels.c                                  |  3 ++-
>  block/parallels.h                                  |  1 -
>  block/qapi.c                                       |  6 +++++-
>  block/qcow.c                                       |  5 +++--
>  block/qcow2-cluster.c                              |  1 -
>  block/qcow2.c                                      |  6 ++++--
>  block/qed.c                                        |  2 +-
>  block/quorum.c                                     |  4 ++--
>  block/rbd.c                                        |  3 +++
>  block/replication.c                                |  2 +-
>  block/sheepdog.c                                   |  1 +
>  block/snapshot.c                                   |  2 ++
>  block/ssh.c                                        |  2 ++
>  block/throttle.c                                   |  1 +
>  block/vdi.c                                        |  1 +
>  block/vhdx.c                                       |  2 +-
>  block/vmdk.c                                       |  1 +
>  block/vpc.c                                        |  3 ++-
>  block/vvfat.c                                      |  4 +++-
>  block/write-threshold.c                            |  1 +
>  blockdev-nbd.c                                     |  2 +-
>  blockdev.c                                         |  5 ++++-
>  blockjob.c                                         |  3 +--
>  chardev/char-file.c                                |  3 ++-
>  chardev/char-mux.c                                 |  3 ++-
>  chardev/char-parallel.c                            |  2 ++
>  chardev/char-pipe.c                                |  2 ++
>  chardev/char-ringbuf.c                             |  3 +++
>  chardev/char-serial.c                              |  2 ++
>  chardev/char-socket.c                              |  2 ++
>  chardev/char-stdio.c                               |  3 ++-
>  chardev/char-udp.c                                 |  2 ++
>  chardev/char.c                                     |  3 +++
>  chardev/spice.c                                    |  2 ++
>  contrib/ivshmem-server/main.c                      |  2 +-
>  cpus.c                                             |  4 +++-
>  crypto/hash.c                                      |  1 -
>  crypto/hmac.c                                      |  1 -
>  crypto/ivgen-essiv.c                               |  1 -
>  crypto/ivgen-plain.c                               |  1 -
>  crypto/ivgen-plain64.c                             |  1 -
>  crypto/random-gnutls.c                             |  1 +
>  crypto/random-platform.c                           |  1 +
>  device-hotplug.c                                   |  2 ++
>  device_tree.c                                      |  2 +-
>  docs/devel/qapi-code-gen.txt                       |  2 --
>  dump.c                                             |  1 +
>  fsdev/qemu-fsdev-throttle.c                        |  1 +
>  fsdev/qemu-fsdev-throttle.h                        |  1 -
>  fsdev/qemu-fsdev.c                                 |  4 +++-
>  fsdev/qemu-fsdev.h                                 |  1 -
>  hmp.c                                              |  1 +
>  hmp.h                                              |  2 --
>  hw/9pfs/9p-handle.c                                |  1 +
>  hw/9pfs/9p-local.c                                 |  2 ++
>  hw/9pfs/9p-proxy.c                                 |  3 +++
>  hw/9pfs/xen-9p-backend.c                           |  1 +
>  hw/acpi/acpi-stub.c                                |  2 +-
>  hw/acpi/core.c                                     |  3 +++
>  hw/acpi/memory_hotplug.c                           |  1 +
>  hw/acpi/vmgenid.c                                  |  1 +
>  hw/adc/stm32f2xx_adc.c                             |  1 -
>  hw/arm/boot.c                                      |  1 +
>  hw/block/vhost-user-blk.c                          |  1 -
>  hw/char/mcf_uart.c                                 |  1 -
>  hw/char/virtio-console.c                           |  1 +
>  hw/core/qdev.c                                     |  3 ++-
>  hw/display/milkymist-tmu2.c                        |  1 +
>  hw/display/qxl.c                                   |  1 +
>  hw/display/virtio-gpu-3d.c                         |  1 -
>  hw/display/xlnx_dp.c                               |  1 +
>  hw/i2c/ppc4xx_i2c.c                                |  1 -
>  hw/i386/acpi-build.c                               |  1 +
>  hw/i386/multiboot.c                                |  2 +-
>  hw/i386/pc.c                                       |  3 +++
>  hw/i386/pc_piix.c                                  |  1 +
>  hw/i386/pc_q35.c                                   |  2 ++
>  hw/i386/pc_sysfw.c                                 |  1 +
>  hw/i386/xen/xen-hvm.c                              |  2 +-
>  hw/ide/core.c                                      |  2 ++
>  hw/ide/sii3112.c                                   |  1 +
>  hw/intc/xics_pnv.c                                 |  1 -
>  hw/intc/xics_spapr.c                               |  1 -
>  hw/ipmi/ipmi.c                                     |  1 +
>  hw/mips/mips_jazz.c                                |  1 +
>  hw/mips/mips_malta.c                               |  1 +
>  hw/misc/exynos4210_rng.c                           |  1 +
>  hw/misc/mips_cmgcr.c                               |  1 -
>  hw/misc/mps2-scc.c                                 |  1 -
>  hw/net/rocker/qmp-norocker.c                       |  1 +
>  hw/net/rocker/rocker.c                             |  1 +
>  hw/net/rocker/rocker_of_dpa.c                      |  1 +
>  hw/net/virtio-net.c                                |  2 +-
>  hw/nios2/cpu_pic.c                                 |  1 -
>  hw/nvram/eeprom_at24c.c                            |  3 +--
>  hw/nvram/fw_cfg.c                                  |  2 ++
>  hw/pci-bridge/i82801b11.c                          |  1 -
>  hw/pci-bridge/ioh3420.c                            |  1 -
>  hw/pci-bridge/xio3130_upstream.c                   |  1 -
>  hw/pci-host/sabre.c                                |  1 -
>  hw/pci/pci-stub.c                                  |  1 +
>  hw/pci/pci.c                                       |  2 ++
>  hw/pci/pcie_aer.c                                  |  3 +--
>  hw/ppc/e500.c                                      |  2 +-
>  hw/ppc/fdt.c                                       |  1 -
>  hw/ppc/pnv_bmc.c                                   |  1 -
>  hw/ppc/pnv_xscom.c                                 |  1 -
>  hw/ppc/ppc.c                                       |  1 -
>  hw/ppc/spapr.c                                     |  1 -
>  hw/ppc/spapr_drc.c                                 |  1 +
>  hw/ppc/spapr_pci_vfio.c                            |  1 -
>  hw/ppc/spapr_rtas.c                                |  1 +
>  hw/ppc/spapr_rtc.c                                 |  2 ++
>  hw/ppc/virtex_ml507.c                              |  1 +
>  hw/s390x/s390-skeys.c                              |  1 +
>  hw/s390x/s390-stattrib.c                           |  2 +-
>  hw/s390x/s390-virtio-ccw.c                         |  3 +--
>  hw/scsi/esp.c                                      |  1 -
>  hw/scsi/scsi-bus.c                                 |  1 +
>  hw/scsi/vhost-scsi-common.c                        |  1 -
>  hw/sd/sdhci.c                                      |  1 -
>  hw/smbios/smbios-stub.c                            |  2 +-
>  hw/smbios/smbios.c                                 |  1 +
>  hw/sparc64/niagara.c                               |  1 -
>  hw/sparc64/sun4u_iommu.c                           |  1 -
>  hw/ssi/stm32f2xx_spi.c                             |  1 -
>  hw/timer/m48t59.c                                  |  1 -
>  hw/timer/mc146818rtc.c                             |  2 ++
>  hw/tpm/tpm_emulator.c                              |  4 ----
>  hw/tpm/tpm_int.h                                   |  2 --
>  hw/tpm/tpm_ioctl.h                                 |  2 --
>  hw/usb/ccid-card-passthru.c                        |  1 -
>  hw/usb/xen-usb.c                                   |  4 ++--
>  hw/vfio/pci.c                                      |  1 +
>  hw/virtio/virtio-balloon.c                         |  1 +
>  hw/watchdog/watchdog.c                             |  2 +-
>  hw/xen/xen-common.c                                |  1 -
>  hw/xen/xen_devconfig.c                             |  1 +
>  hw/xtensa/xtensa_memory.h                          |  1 -
>  hw/xtensa/xtfpga.c                                 |  2 +-
>  include/block/block.h                              |  4 +---
>  include/block/block_int.h                          |  2 --
>  include/block/dirty-bitmap.h                       |  1 +
>  include/block/nbd.h                                |  2 --
>  include/block/qapi.h                               |  1 -
>  include/block/snapshot.h                           |  2 --
>  include/chardev/char.h                             |  2 --
>  include/crypto/random.h                            |  1 -
>  include/crypto/xts.h                               |  1 -
>  include/exec/tb-lookup.h                           |  2 --
>  include/hw/acpi/acpi.h                             |  1 -
>  include/hw/acpi/acpi_dev_interface.h               |  1 -
>  include/hw/block/block.h                           |  1 +
>  include/hw/block/fdc.h                             |  1 +
>  include/hw/ide/internal.h                          |  1 -
>  include/hw/intc/xlnx-pmu-iomod-intc.h              |  1 -
>  include/hw/intc/xlnx-zynqmp-ipi.h                  |  1 -
>  include/hw/loader.h                                |  1 -
>  include/hw/nvram/fw_cfg.h                          |  1 -
>  include/hw/pci-bridge/simba.h                      |  1 -
>  include/hw/qdev-core.h                             |  1 -
>  include/hw/smbios/smbios.h                         |  1 -
>  include/hw/xtensa/xtensa-isa.h                     |  2 --
>  include/migration/colo.h                           |  1 +
>  include/monitor/monitor.h                          |  1 -
>  include/net/net.h                                  |  5 +----
>  include/net/slirp.h                                |  4 ----
>  include/net/tap.h                                  |  1 -
>  include/qapi/clone-visitor.h                       |  1 -
>  include/qapi/opts-visitor.h                        |  1 -
>  include/qapi/qmp-event.h                           |  1 -
>  include/qapi/qmp/dispatch.h                        |  3 +--
>  include/qapi/qmp/json-parser.h                     |  1 -
>  include/qapi/qmp/qbool.h                           |  4 ++--
>  include/qapi/qmp/qdict.h                           | 21 ++++++------------
>  include/qapi/qmp/qjson.h                           |  3 ---
>  include/qapi/qmp/qlist.h                           | 19 ++++++----------
>  include/qapi/qmp/qlit.h                            |  1 -
>  include/qapi/qmp/qnum.h                            |  4 ++--
>  include/qapi/qmp/qstring.h                         |  4 ++--
>  include/qapi/qmp/types.h                           | 24 ---------------------
>  include/qapi/qobject-input-visitor.h               |  1 -
>  include/qapi/qobject-output-visitor.h              |  1 -
>  include/qapi/visitor.h                             |  2 +-
>  include/qemu-common.h                              |  2 --
>  include/qemu/config-file.h                         |  2 --
>  include/qemu/option.h                              |  1 -
>  include/qemu/throttle.h                            |  1 +
>  include/qemu/typedefs.h                            |  7 +++++-
>  include/qom/object_interfaces.h                    |  1 -
>  include/scsi/pr-manager.h                          |  1 -
>  include/sysemu/arch_init.h                         |  3 +--
>  include/sysemu/dump.h                              |  1 -
>  include/sysemu/hostmem.h                           |  1 -
>  include/sysemu/hvf.h                               |  2 --
>  include/sysemu/numa.h                              |  1 -
>  include/sysemu/replay.h                            |  1 -
>  include/sysemu/sysemu.h                            |  2 --
>  include/sysemu/tpm.h                               |  1 -
>  include/sysemu/tpm_backend.h                       |  1 -
>  include/ui/console.h                               |  4 ----
>  include/ui/qemu-spice.h                            |  1 -
>  io/channel-websock.c                               |  3 ---
>  iothread.c                                         |  1 +
>  linux-user/syscall.c                               |  1 -
>  migration/colo-failover.c                          |  1 +
>  migration/colo.c                                   |  1 +
>  migration/exec.c                                   |  1 -
>  migration/fd.c                                     |  1 -
>  migration/migration.c                              |  2 ++
>  migration/migration.h                              |  1 -
>  migration/ram.c                                    |  2 ++
>  migration/ram.h                                    |  1 +
>  migration/savevm.c                                 |  1 +
>  monitor.c                                          |  8 ++++---
>  nbd/common.c                                       |  1 -
>  net/clients.h                                      |  1 -
>  net/colo-compare.c                                 |  1 -
>  net/filter-mirror.c                                |  1 -
>  net/filter-replay.c                                |  1 -
>  net/filter-rewriter.c                              |  2 --
>  net/net.c                                          |  4 +++-
>  net/slirp.c                                        |  2 ++
>  net/vde.c                                          |  1 +
>  net/vhost-user.c                                   |  2 ++
>  numa.c                                             |  1 +
>  qapi/qapi-dealloc-visitor.c                        |  2 +-
>  qapi/qapi-visit-core.c                             |  1 -
>  qapi/qmp-dispatch.c                                |  4 +---
>  qapi/qmp-event.c                                   |  1 +
>  qapi/qobject-input-visitor.c                       |  7 +++++-
>  qapi/qobject-output-visitor.c                      |  7 +++++-
>  qdev-monitor.c                                     |  2 ++
>  qemu-img.c                                         |  5 +++--
>  qemu-io-cmds.c                                     |  1 +
>  qemu-io.c                                          |  3 ++-
>  qemu-keymap.c                                      |  1 -
>  qemu-nbd.c                                         |  3 ++-
>  qga/commands-posix.c                               |  1 +
>  qga/commands-win32.c                               |  2 ++
>  qga/commands.c                                     |  1 +
>  qga/guest-agent-core.h                             |  2 +-
>  qga/main.c                                         |  5 ++++-
>  qga/vss-win32.c                                    |  1 +
>  qmp.c                                              |  3 ++-
>  qobject/json-parser.c                              |  7 +++++-
>  qobject/qbool.c                                    |  1 -
>  qobject/qdict.c                                    | 23 +++++++++++++++++++-
>  qobject/qjson.c                                    |  6 +++++-
>  qobject/qlist.c                                    | 25 +++++++++++++++++++++-
>  qobject/qlit.c                                     |  6 +++++-
>  qobject/qnum.c                                     |  2 --
>  qobject/qobject.c                                  |  7 +++++-
>  qobject/qstring.c                                  |  1 -
>  qom/object.c                                       |  2 +-
>  qom/object_interfaces.c                            |  2 ++
>  replay/replay-input.c                              |  1 -
>  replay/replay.c                                    |  2 +-
>  scripts/qapi-commands.py                           |  4 ++--
>  scripts/qapi-event.py                              |  2 +-
>  scsi/pr-helper.h                                   |  2 --
>  stubs/arch-query-cpu-def.c                         |  1 +
>  stubs/arch-query-cpu-model-baseline.c              |  1 +
>  stubs/arch-query-cpu-model-comparison.c            |  1 +
>  stubs/arch-query-cpu-model-expansion.c             |  1 +
>  stubs/dump.c                                       |  1 -
>  stubs/vmgenid.c                                    |  1 +
>  target/i386/cpu.c                                  |  5 +++--
>  target/i386/hvf/vmx.h                              |  1 -
>  target/i386/hvf/x86hvf.c                           |  3 ---
>  target/i386/monitor.c                              |  2 ++
>  target/i386/xsave_helper.c                         |  1 -
>  target/nios2/helper.c                              |  1 -
>  target/ppc/mmu-book3s-v3.c                         |  1 -
>  target/ppc/mmu-hash64.c                            |  1 -
>  target/ppc/mmu-radix64.c                           |  1 -
>  target/ppc/mmu_helper.c                            |  1 -
>  target/ppc/translate_init.c                        |  2 ++
>  target/s390x/cpu_models.c                          |  2 +-
>  target/s390x/excp_helper.c                         |  1 -
>  target/s390x/helper.c                              |  1 -
>  target/s390x/kvm.c                                 |  1 -
>  target/xtensa/core-dc232b/xtensa-modules.c         |  1 +
>  target/xtensa/core-dc233c/xtensa-modules.c         |  1 +
>  target/xtensa/core-de212/xtensa-modules.c          |  1 +
>  target/xtensa/core-fsf/xtensa-modules.c            |  1 +
>  .../xtensa/core-sample_controller/xtensa-modules.c |  1 +
>  target/xtensa/xtensa-isa.c                         |  4 +---
>  tests/ahci-test.c                                  |  1 +
>  tests/check-qdict.c                                |  3 +++
>  tests/check-qjson.c                                |  5 ++++-
>  tests/check-qlist.c                                |  1 -
>  tests/check-qlit.c                                 |  3 +--
>  tests/check-qnum.c                                 |  1 -
>  tests/check-qobject.c                              |  8 ++++++-
>  tests/cpu-plug-test.c                              |  2 +-
>  tests/device-introspect-test.c                     |  2 +-
>  tests/drive_del-test.c                             |  1 +
>  tests/io-channel-helpers.c                         |  1 -
>  tests/libqos/libqos.c                              |  1 +
>  tests/libqos/pci-pc.c                              |  2 +-
>  tests/libqtest.c                                   |  4 ++++
>  tests/libqtest.h                                   |  2 --
>  tests/migration-test.c                             |  1 +
>  tests/migration/stress.c                           | 10 +--------
>  tests/numa-test.c                                  |  2 ++
>  tests/ptimer-test.c                                |  4 ++--
>  tests/pvpanic-test.c                               |  1 +
>  tests/q35-test.c                                   |  1 +
>  tests/qmp-test.c                                   |  2 ++
>  tests/qom-test.c                                   |  3 ++-
>  tests/tco-test.c                                   |  2 ++
>  tests/test-aio-multithread.c                       |  1 -
>  tests/test-char.c                                  |  2 +-
>  tests/test-clone-visitor.c                         |  2 --
>  tests/test-keyval.c                                |  2 ++
>  tests/test-netfilter.c                             |  1 +
>  tests/test-qapi-util.c                             |  1 -
>  tests/test-qemu-opts.c                             |  2 ++
>  tests/test-qga.c                                   |  2 ++
>  tests/test-qmp-commands.c                          |  6 ++++--
>  tests/test-qmp-event.c                             |  8 ++++---
>  tests/test-qobject-input-visitor.c                 |  7 ++++--
>  tests/test-qobject-output-visitor.c                |  9 +++++---
>  tests/test-replication.c                           |  2 ++
>  tests/test-string-input-visitor.c                  |  2 --
>  tests/test-string-output-visitor.c                 |  2 --
>  tests/test-visitor-serialization.c                 |  4 +---
>  tests/test-x86-cpuid-compat.c                      |  2 +-
>  tests/tmp105-test.c                                |  1 +
>  tests/vhost-user-test.c                            |  1 +
>  tests/virtio-net-test.c                            |  1 +
>  tests/vmgenid-test.c                               |  1 +
>  tests/wdt_ib700-test.c                             |  1 +
>  tpm.c                                              |  2 ++
>  trace/control-internal.h                           |  2 --
>  trace/control.c                                    |  1 +
>  trace/qmp.c                                        |  1 +
>  ui/cocoa.m                                         |  1 -
>  ui/console.c                                       |  4 +++-
>  ui/gtk.c                                           |  1 +
>  ui/input-legacy.c                                  |  1 -
>  ui/input.c                                         |  2 +-
>  ui/spice-core.c                                    |  6 ++----
>  ui/spice-display.c                                 |  2 +-
>  ui/vnc-palette.h                                   |  1 -
>  ui/vnc.c                                           |  4 ++--
>  ui/vnc.h                                           |  1 -
>  util/keyval.c                                      |  2 ++
>  util/qemu-config.c                                 |  2 ++
>  util/qemu-option.c                                 |  5 ++++-
>  vl.c                                               |  3 ++-
>  373 files changed, 469 insertions(+), 375 deletions(-)
>  delete mode 100644 include/qapi/qmp/types.h
> 

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (19 preceding siblings ...)
  2018-01-30 18:36 ` Philippe Mathieu-Daudé
@ 2018-01-31  0:12 ` no-reply
  2018-01-31  7:10 ` Thomas Huth
  21 siblings, 0 replies; 49+ messages in thread
From: no-reply @ 2018-01-31  0:12 UTC (permalink / raw)
  To: armbru; +Cc: famz, qemu-devel

Hi,

This series failed build test on s390x host. Please find the details below.

Type: series
Message-id: 20180130102202.28519-1-armbru@redhat.com
Subject: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
echo -n "Using CC: "
realpath $CC
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
   30d9fefe1a..6521130b0a  master     -> master
 t [tag update]            patchew/1516297747-107232-1-git-send-email-anton.nefedov@virtuozzo.com -> patchew/1516297747-107232-1-git-send-email-anton.nefedov@virtuozzo.com
 * [new tag]               patchew/151730107324.755.12264321256439401751.stgit@bahia.lan -> patchew/151730107324.755.12264321256439401751.stgit@bahia.lan
 * [new tag]               patchew/1517304981-28254-1-git-send-email-thuth@redhat.com -> patchew/1517304981-28254-1-git-send-email-thuth@redhat.com
 * [new tag]               patchew/1517318239-15764-1-git-send-email-peter.maydell@linaro.org -> patchew/1517318239-15764-1-git-send-email-peter.maydell@linaro.org
 * [new tag]               patchew/1517324542-6607-1-git-send-email-peter.maydell@linaro.org -> patchew/1517324542-6607-1-git-send-email-peter.maydell@linaro.org
 t [tag update]            patchew/20171211072110.9058-1-lprosek@redhat.com -> patchew/20171211072110.9058-1-lprosek@redhat.com
 t [tag update]            patchew/20180129174132.108925-1-brijesh.singh@amd.com -> patchew/20180129174132.108925-1-brijesh.singh@amd.com
 t [tag update]            patchew/20180130063433.11605-1-famz@redhat.com -> patchew/20180130063433.11605-1-famz@redhat.com
 * [new tag]               patchew/20180130094715.11578-1-zyimin@linux.vnet.ibm.com -> patchew/20180130094715.11578-1-zyimin@linux.vnet.ibm.com
 * [new tag]               patchew/20180130102202.28519-1-armbru@redhat.com -> patchew/20180130102202.28519-1-armbru@redhat.com
 * [new tag]               patchew/20180130131716.5899D7456D5@zero.eik.bme.hu -> patchew/20180130131716.5899D7456D5@zero.eik.bme.hu
 * [new tag]               patchew/20180130150435.2553-1-berto@igalia.com -> patchew/20180130150435.2553-1-berto@igalia.com
 * [new tag]               patchew/20180130173935.5172-1-groug@kaod.org -> patchew/20180130173935.5172-1-groug@kaod.org
 * [new tag]               patchew/2a250f8d59f1eedd7728d94a9dae1a6de54d0c14.1517340741.git.crobinso@redhat.com -> patchew/2a250f8d59f1eedd7728d94a9dae1a6de54d0c14.1517340741.git.crobinso@redhat.com
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Switched to a new branch 'test'
8044ed7ef9 Move include qemu/option.h from qemu-common.h to actual users
108e8b4799 Drop superfluous includes of qapi/qmp/qjson.h
fc5282311c Drop superfluous includes of qapi/qmp/dispatch.h
bb33c6b66a Include qapi/qmp/qnull.h exactly where needed
4a897053c1 Include qapi/qmp/qnum.h exactly where needed
67df324c46 Include qapi/qmp/qbool.h exactly where needed
3138db9346 Include qapi/qmp/qstring.h exactly where needed
9eaffa290f Include qapi/qmp/qdict.h exactly where needed
a1a53b59ff Include qapi/qmp/qlist.h exactly where needed
e5b588d069 Include qapi/qmp/qobject.h exactly where needed
f36785cfc6 qdict qlist: Make most helper macros functions
28eb280890 Eliminate qapi/qmp/types.h
a93ef987ae Typedef the subtypes of QObject in qemu/typedefs.h, too
1970541cab Include qmp-commands.h exactly where needed
12b0e4d322 Drop superfluous includes of qapi/qmp/qerror.h
9f1027b1bc Include qapi/error.h exactly where needed
10f5a9f983 Drop superfluous includes of qapi-types.h
79f2bd9825 Clean up includes

=== OUTPUT BEGIN ===
=== ENV ===
LANG=en_US.UTF-8
XDG_SESSION_ID=34665
USER=fam
PWD=/var/tmp/patchew-tester-tmp-m12oo9fc/src
HOME=/home/fam
SHELL=/bin/sh
SHLVL=2
PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug
LOGNAME=fam
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus
XDG_RUNTIME_DIR=/run/user/1012
PATH=/usr/bin:/bin
_=/usr/bin/env
=== PACKAGES ===
gpg-pubkey-873529b8-54e386ff
glibc-debuginfo-common-2.24-10.fc25.s390x
fedora-release-26-1.noarch
dejavu-sans-mono-fonts-2.35-4.fc26.noarch
xemacs-filesystem-21.5.34-22.20170124hgf412e9f093d4.fc26.noarch
bash-4.4.12-7.fc26.s390x
freetype-2.7.1-9.fc26.s390x
libSM-1.2.2-5.fc26.s390x
libmpc-1.0.2-6.fc26.s390x
libaio-0.3.110-7.fc26.s390x
libverto-0.2.6-7.fc26.s390x
perl-Scalar-List-Utils-1.48-1.fc26.s390x
iptables-libs-1.6.1-2.fc26.s390x
perl-threads-shared-1.57-1.fc26.s390x
p11-kit-trust-0.23.9-2.fc26.s390x
tcl-8.6.6-2.fc26.s390x
libxshmfence-1.2-4.fc26.s390x
expect-5.45-23.fc26.s390x
perl-Thread-Queue-3.12-1.fc26.noarch
perl-encoding-2.19-6.fc26.s390x
keyutils-1.5.10-1.fc26.s390x
gmp-devel-6.1.2-4.fc26.s390x
enchant-1.6.0-16.fc26.s390x
net-snmp-libs-5.7.3-17.fc26.s390x
python-gobject-base-3.24.1-1.fc26.s390x
python3-distro-1.0.3-1.fc26.noarch
python3-enchant-1.6.10-1.fc26.noarch
python-lockfile-0.11.0-6.fc26.noarch
python2-pyparsing-2.1.10-3.fc26.noarch
python2-lxml-4.1.1-1.fc26.s390x
librados2-10.2.7-2.fc26.s390x
trousers-lib-0.3.13-7.fc26.s390x
libpaper-1.1.24-14.fc26.s390x
libdatrie-0.2.9-4.fc26.s390x
libsoup-2.58.2-1.fc26.s390x
passwd-0.79-9.fc26.s390x
bind99-libs-9.9.10-3.P3.fc26.s390x
python3-rpm-4.13.0.2-1.fc26.s390x
mock-core-configs-27.4-1.fc26.noarch
systemd-233-7.fc26.s390x
virglrenderer-0.6.0-1.20170210git76b3da97b.fc26.s390x
s390utils-ziomon-1.36.1-3.fc26.s390x
s390utils-osasnmpd-1.36.1-3.fc26.s390x
libXrandr-1.5.1-2.fc26.s390x
libglvnd-glx-1.0.0-1.fc26.s390x
texlive-ifxetex-svn19685.0.5-33.fc26.2.noarch
texlive-psnfss-svn33946.9.2a-33.fc26.2.noarch
texlive-dvipdfmx-def-svn40328-33.fc26.2.noarch
texlive-natbib-svn20668.8.31b-33.fc26.2.noarch
texlive-xdvi-bin-svn40750-33.20160520.fc26.2.s390x
texlive-cm-svn32865.0-33.fc26.2.noarch
texlive-beton-svn15878.0-33.fc26.2.noarch
texlive-fpl-svn15878.1.002-33.fc26.2.noarch
texlive-mflogo-svn38628-33.fc26.2.noarch
texlive-texlive-docindex-svn41430-33.fc26.2.noarch
texlive-luaotfload-bin-svn34647.0-33.20160520.fc26.2.noarch
texlive-koma-script-svn41508-33.fc26.2.noarch
texlive-pst-tree-svn24142.1.12-33.fc26.2.noarch
texlive-breqn-svn38099.0.98d-33.fc26.2.noarch
texlive-xetex-svn41438-33.fc26.2.noarch
gstreamer1-plugins-bad-free-1.12.3-1.fc26.s390x
xorg-x11-font-utils-7.5-33.fc26.s390x
ghostscript-fonts-5.50-36.fc26.noarch
libXext-devel-1.3.3-5.fc26.s390x
libusbx-devel-1.0.21-2.fc26.s390x
libglvnd-devel-1.0.0-1.fc26.s390x
emacs-25.3-3.fc26.s390x
alsa-lib-devel-1.1.4.1-1.fc26.s390x
kbd-2.0.4-2.fc26.s390x
dconf-0.26.0-2.fc26.s390x
ccache-3.3.4-1.fc26.s390x
glibc-static-2.25-12.fc26.s390x
mc-4.8.19-5.fc26.s390x
doxygen-1.8.13-9.fc26.s390x
dpkg-1.18.24-1.fc26.s390x
libtdb-1.3.13-1.fc26.s390x
python2-pynacl-1.1.1-1.fc26.s390x
nss-sysinit-3.34.0-1.0.fc26.s390x
kernel-4.13.16-202.fc26.s390x
perl-Filter-1.58-1.fc26.s390x
python2-pip-9.0.1-11.fc26.noarch
dnf-2.7.5-2.fc26.noarch
pcre2-utf16-10.23-11.fc26.s390x
glusterfs-devel-3.10.8-1.fc26.s390x
sssd-common-1.16.0-4.fc26.s390x
python2-sssdconfig-1.16.0-4.fc26.noarch
acpica-tools-20171110-1.fc26.s390x
glibc-debuginfo-2.24-10.fc25.s390x
fedora-repos-26-1.noarch
dejavu-fonts-common-2.35-4.fc26.noarch
bind99-license-9.9.10-3.P3.fc26.noarch
ncurses-libs-6.0-8.20170212.fc26.s390x
libpng-1.6.28-2.fc26.s390x
libICE-1.0.9-9.fc26.s390x
kmod-24-1.fc26.s390x
libseccomp-2.3.2-1.fc26.s390x
perl-Text-ParseWords-3.30-366.fc26.noarch
libtool-ltdl-2.4.6-17.fc26.s390x
perl-threads-2.16-1.fc26.s390x
libselinux-utils-2.6-7.fc26.s390x
userspace-rcu-0.9.3-2.fc26.s390x
libXfont-1.5.2-5.fc26.s390x
perl-Class-Inspector-1.31-3.fc26.noarch
perl-open-1.10-395.fc26.noarch
keyutils-libs-devel-1.5.10-1.fc26.s390x
isl-0.16.1-1.fc26.s390x
libsecret-0.18.5-3.fc26.s390x
compat-openssl10-1.0.2m-1.fc26.s390x
python3-iniparse-0.4-24.fc26.noarch
python3-dateutil-2.6.0-3.fc26.noarch
python3-firewall-0.4.4.5-1.fc26.noarch
python-enum34-1.1.6-1.fc26.noarch
python2-pygments-2.2.0-7.fc26.noarch
python2-dockerfile-parse-0.0.7-1.fc26.noarch
perl-Net-SSLeay-1.81-1.fc26.s390x
hostname-3.18-2.fc26.s390x
libtirpc-1.0.2-0.fc26.s390x
rpm-build-libs-4.13.0.2-1.fc26.s390x
libutempter-1.1.6-9.fc26.s390x
systemd-pam-233-7.fc26.s390x
pcre-utf16-8.41-3.fc26.s390x
libXinerama-1.1.3-7.fc26.s390x
mesa-libGL-17.2.4-2.fc26.s390x
texlive-amsfonts-svn29208.3.04-33.fc26.2.noarch
texlive-caption-svn41409-33.fc26.2.noarch
texlive-enumitem-svn24146.3.5.2-33.fc26.2.noarch
texlive-pdftex-def-svn22653.0.06d-33.fc26.2.noarch
texlive-xdvi-svn40768-33.fc26.2.noarch
texlive-courier-svn35058.0-33.fc26.2.noarch
texlive-charter-svn15878.0-33.fc26.2.noarch
texlive-graphics-def-svn41879-33.fc26.2.noarch
texlive-mfnfss-svn19410.0-33.fc26.2.noarch
texlive-texlive-en-svn41185-33.fc26.2.noarch
texlive-ifplatform-svn21156.0.4-33.fc26.2.noarch
texlive-ms-svn29849.0-33.fc26.2.noarch
texlive-pst-tools-svn34067.0.05-33.fc26.2.noarch
texlive-powerdot-svn38984-33.fc26.2.noarch
texlive-xetexconfig-svn41133-33.fc26.2.noarch
libvdpau-1.1.1-4.fc26.s390x
zlib-devel-1.2.11-2.fc26.s390x
gdk-pixbuf2-devel-2.36.9-1.fc26.s390x
libX11-devel-1.6.5-2.fc26.s390x
libtasn1-devel-4.12-1.fc26.s390x
libglvnd-core-devel-1.0.0-1.fc26.s390x
SDL2-devel-2.0.7-2.fc26.s390x
webkitgtk3-2.4.11-5.fc26.s390x
grubby-8.40-4.fc26.s390x
uboot-tools-2017.05-4.fc26.s390x
cracklib-dicts-2.9.6-5.fc26.s390x
texinfo-6.3-3.fc26.s390x
time-1.7-52.fc26.s390x
python2-deltarpm-3.6-19.fc26.s390x
nss-3.34.0-1.0.fc26.s390x
webkitgtk4-2.18.3-1.fc26.s390x
net-tools-2.0-0.43.20160912git.fc26.s390x
python2-setuptools-37.0.0-1.fc26.noarch
python2-dnf-2.7.5-2.fc26.noarch
pcre2-10.23-11.fc26.s390x
groff-base-1.22.3-10.fc26.s390x
python2-devel-2.7.14-4.fc26.s390x
python2-GitPython-2.1.7-2.fc26.noarch
boost-iostreams-1.63.0-10.fc26.s390x
gpg-pubkey-efe550f5-5220ba41
gpg-pubkey-81b46521-55b3ca9a
filesystem-3.2-40.fc26.s390x
basesystem-11-3.fc26.noarch
js-jquery-3.2.1-1.fc26.noarch
pcre-8.41-3.fc26.s390x
elfutils-libelf-0.169-1.fc26.s390x
libidn-1.33-2.fc26.s390x
libogg-1.3.2-6.fc26.s390x
slang-2.3.1a-2.fc26.s390x
apr-1.6.3-1.fc26.s390x
libxkbcommon-0.7.1-3.fc26.s390x
perl-IO-1.36-395.fc26.s390x
libvorbis-1.3.5-2.fc26.s390x
less-487-3.fc26.s390x
lttng-ust-2.9.0-2.fc26.s390x
OpenEXR-libs-2.2.0-6.fc26.s390x
ipset-libs-6.29-3.fc26.s390x
perl-XML-XPath-1.42-1.fc26.noarch
lua-filesystem-1.6.3-3.fc24.s390x
sqlite-3.20.1-1.fc26.s390x
gstreamer1-1.12.3-1.fc26.s390x
libpwquality-1.3.0-8.fc26.s390x
gettext-libs-0.19.8.1-9.fc26.s390x
python3-chardet-2.3.0-3.fc26.noarch
python3-slip-dbus-0.6.4-6.fc26.noarch
python-chardet-2.3.0-3.fc26.noarch
python2-pyasn1-0.2.3-1.fc26.noarch
python-slip-dbus-0.6.4-6.fc26.noarch
libarchive-3.2.2-4.fc26.s390x
libbabeltrace-1.5.2-2.fc26.s390x
cdparanoia-libs-10.2-22.fc26.s390x
krb5-workstation-1.15.2-4.fc26.s390x
python3-requests-kerberos-0.10.0-4.fc26.noarch
gpgme-1.8.0-12.fc26.s390x
python2-gpg-1.8.0-12.fc26.s390x
shadow-utils-4.3.1-3.fc26.s390x
cryptsetup-libs-1.7.5-1.fc26.s390x
kpartx-0.4.9-88.fc26.s390x
net-snmp-agent-libs-5.7.3-17.fc26.s390x
libXi-1.7.9-2.fc26.s390x
texlive-tetex-svn41059-33.fc26.2.noarch
texlive-tools-svn40934-33.fc26.2.noarch
texlive-bibtex-bin-svn40473-33.20160520.fc26.2.s390x
texlive-mfware-bin-svn40473-33.20160520.fc26.2.s390x
texlive-underscore-svn18261.0-33.fc26.2.noarch
texlive-avantgar-svn31835.0-33.fc26.2.noarch
texlive-anysize-svn15878.0-33.fc26.2.noarch
texlive-lineno-svn21442.4.41-33.fc26.2.noarch
texlive-mathpazo-svn15878.1.003-33.fc26.2.noarch
texlive-soul-svn15878.2.4-33.fc26.2.noarch
texlive-luatexbase-svn38550-33.fc26.2.noarch
texlive-listings-svn37534.1.6-33.fc26.2.noarch
texlive-pstricks-svn41321-33.fc26.2.noarch
texlive-metalogo-svn18611.0.12-33.fc26.2.noarch
texlive-dvipdfmx-svn41149-33.fc26.2.noarch
kbd-legacy-2.0.4-2.fc26.noarch
nspr-devel-4.17.0-1.fc26.s390x
ghostscript-x11-9.20-10.fc26.s390x
libXrender-devel-0.9.10-2.fc26.s390x
libxkbcommon-devel-0.7.1-3.fc26.s390x
mesa-libGL-devel-17.2.4-2.fc26.s390x
sqlite-devel-3.20.1-1.fc26.s390x
usbredir-devel-0.7.1-3.fc26.s390x
libcap-devel-2.25-5.fc26.s390x
brlapi-devel-0.6.6-5.fc26.s390x
fedora-upgrade-27.1-1.fc26.noarch
python3-pygpgme-0.3-22.fc26.s390x
pinentry-0.9.7-3.fc26.s390x
perl-Test-Harness-3.39-1.fc26.noarch
qemu-sanity-check-nodeps-1.1.5-6.fc26.s390x
libldb-1.1.29-5.fc26.s390x
python-libxml2-2.9.4-2.fc26.s390x
nss-util-devel-3.34.0-1.0.fc26.s390x
vim-filesystem-8.0.1360-1.fc26.s390x
webkitgtk4-plugin-process-gtk2-2.18.3-1.fc26.s390x
python2-2.7.14-4.fc26.s390x
libwayland-cursor-1.13.0-3.fc26.s390x
mariadb-config-10.1.29-1.fc26.s390x
gdb-headless-8.0.1-33.fc26.s390x
pulseaudio-libs-devel-11.1-7.fc26.s390x
curl-7.53.1-13.fc26.s390x
json-c-0.12.1-5.fc26.s390x
gpg-pubkey-34ec9cba-54e38751
gpg-pubkey-030d5aed-55b577f0
setup-2.10.5-2.fc26.noarch
lato-fonts-2.015-3.fc26.noarch
web-assets-filesystem-5-5.fc26.noarch
libsepol-2.6-2.fc26.s390x
libcap-2.25-5.fc26.s390x
tcp_wrappers-libs-7.6-85.fc26.s390x
libnl3-3.3.0-1.fc26.s390x
pixman-0.34.0-3.fc26.s390x
lzo-2.08-9.fc26.s390x
perl-5.24.3-395.fc26.s390x
libnl3-cli-3.3.0-1.fc26.s390x
gpm-libs-1.20.7-10.fc26.s390x
libgo-7.2.1-2.fc26.s390x
iso-codes-3.74-2.fc26.noarch
ipset-6.29-3.fc26.s390x
lua-term-0.07-1.fc25.s390x
libdb-utils-5.3.28-24.fc26.s390x
system-python-libs-3.6.3-2.fc26.s390x
dbus-glib-0.108-2.fc26.s390x
pam-1.3.0-2.fc26.s390x
avahi-glib-0.6.32-7.fc26.s390x
python2-dateutil-2.6.0-3.fc26.noarch
python3-asn1crypto-0.23.0-1.fc26.noarch
python3-slip-0.6.4-6.fc26.noarch
python-backports-ssl_match_hostname-3.5.0.1-4.fc26.noarch
python2-pyOpenSSL-16.2.0-6.fc26.noarch
python-slip-0.6.4-6.fc26.noarch
nss-pem-1.0.3-3.fc26.s390x
fipscheck-1.5.0-1.fc26.s390x
elfutils-0.169-1.fc26.s390x
cyrus-sasl-lib-2.1.26-32.fc26.s390x
libkadm5-1.15.2-4.fc26.s390x
python3-kerberos-1.2.5-3.fc26.s390x
rpmconf-1.0.19-1.fc26.noarch
libsemanage-2.6-4.fc26.s390x
device-mapper-libs-1.02.137-6.fc26.s390x
yum-3.4.3-512.fc26.noarch
device-mapper-multipath-0.4.9-88.fc26.s390x
net-snmp-5.7.3-17.fc26.s390x
libXtst-1.2.3-2.fc26.s390x
libXxf86vm-1.1.4-4.fc26.s390x
texlive-amsmath-svn41561-33.fc26.2.noarch
texlive-xkeyval-svn35741.2.7a-33.fc26.2.noarch
texlive-bibtex-svn40768-33.fc26.2.noarch
texlive-mfware-svn40768-33.fc26.2.noarch
texlive-wasy-svn35831.0-33.fc26.2.noarch
texlive-bookman-svn31835.0-33.fc26.2.noarch
texlive-babel-english-svn30264.3.3p-33.fc26.2.noarch
texlive-fix2col-svn38770-33.fc26.2.noarch
texlive-mdwtools-svn15878.1.05.4-33.fc26.2.noarch
texlive-tex-gyre-math-svn41264-33.fc26.2.noarch
texlive-luaotfload-svn40902-33.fc26.2.noarch
texlive-showexpl-svn32737.v0.3l-33.fc26.2.noarch
texlive-pstricks-add-svn40744-33.fc26.2.noarch
texlive-l3experimental-svn41163-33.fc26.2.noarch
texlive-xetex-bin-svn41091-33.20160520.fc26.2.s390x
kbd-misc-2.0.4-2.fc26.noarch
libpng-devel-1.6.28-2.fc26.s390x
ghostscript-core-9.20-10.fc26.s390x
libXfixes-devel-5.0.3-2.fc26.s390x
libverto-devel-0.2.6-7.fc26.s390x
mesa-libEGL-devel-17.2.4-2.fc26.s390x
popt-devel-1.16-12.fc26.s390x
readline-devel-7.0-5.fc26.s390x
cyrus-sasl-devel-2.1.26-32.fc26.s390x
sendmail-8.15.2-19.fc26.s390x
systemd-bootchart-231-3.fc26.s390x
perl-IO-Socket-SSL-2.049-1.fc26.noarch
python2-enchant-1.6.10-1.fc26.noarch
perl-generators-1.10-2.fc26.noarch
createrepo-0.10.3-11.fc26.noarch
webkitgtk4-jsc-2.18.3-1.fc26.s390x
vim-common-8.0.1360-1.fc26.s390x
nss-tools-3.34.0-1.0.fc26.s390x
glusterfs-api-3.10.8-1.fc26.s390x
pulseaudio-libs-glib2-11.1-7.fc26.s390x
mariadb-common-10.1.29-1.fc26.s390x
dhcp-libs-4.3.5-10.fc26.s390x
pcre2-devel-10.23-11.fc26.s390x
libtiff-4.0.9-1.fc26.s390x
kernel-headers-4.14.8-200.fc26.s390x
fontpackages-filesystem-1.44-18.fc26.noarch
vte-profile-0.48.4-1.fc26.s390x
texlive-kpathsea-doc-svn41139-33.fc26.2.noarch
zlib-1.2.11-2.fc26.s390x
readline-7.0-5.fc26.s390x
libattr-2.4.47-18.fc26.s390x
libgomp-7.2.1-2.fc26.s390x
libglvnd-1.0.0-1.fc26.s390x
lz4-libs-1.8.0-1.fc26.s390x
libcrypt-nss-2.25-12.fc26.s390x
jansson-2.10-2.fc26.s390x
perl-File-Path-2.12-367.fc26.noarch
perl-Unicode-EastAsianWidth-1.33-9.fc26.noarch
hunspell-1.5.4-2.fc26.s390x
libasyncns-0.8-11.fc26.s390x
libnetfilter_conntrack-1.0.6-2.fc26.s390x
perl-Storable-2.56-368.fc26.s390x
autoconf-2.69-24.fc26.noarch
device-mapper-persistent-data-0.6.3-5.fc26.s390x
quota-4.03-9.fc26.s390x
crypto-policies-20170606-1.git7c32281.fc26.noarch
glib2-2.52.3-2.fc26.s390x
python2-idna-2.5-1.fc26.noarch
python2-libcomps-0.1.8-3.fc26.s390x
gsettings-desktop-schemas-3.24.1-1.fc26.s390x
javapackages-tools-4.7.0-17.fc26.noarch
libselinux-python3-2.6-7.fc26.s390x
python-backports-1.0-9.fc26.s390x
python2-cryptography-2.0.2-2.fc26.s390x
libselinux-python-2.6-7.fc26.s390x
Lmod-7.5.3-1.fc26.s390x
fipscheck-lib-1.5.0-1.fc26.s390x
elfutils-libs-0.169-1.fc26.s390x
krb5-libs-1.15.2-4.fc26.s390x
libuser-0.62-6.fc26.s390x
python2-requests-kerberos-0.10.0-4.fc26.noarch
npth-1.5-1.fc26.s390x
packagedb-cli-2.14.1-2.fc26.noarch
ustr-1.0.4-22.fc26.s390x
device-mapper-1.02.137-6.fc26.s390x
polkit-pkla-compat-0.1-8.fc26.s390x
fakeroot-1.22-1.fc26.s390x
libXmu-1.1.2-5.fc26.s390x
cairo-gobject-1.14.10-1.fc26.s390x
texlive-booktabs-svn40846-33.fc26.2.noarch
texlive-dvips-bin-svn40987-33.20160520.fc26.2.s390x
texlive-float-svn15878.1.3d-33.fc26.2.noarch
texlive-tex-svn40793-33.fc26.2.noarch
texlive-fancyref-svn15878.0.9c-33.fc26.2.noarch
texlive-manfnt-font-svn35799.0-33.fc26.2.noarch
texlive-cmap-svn41168-33.fc26.2.noarch
texlive-hyph-utf8-svn41189-33.fc26.2.noarch
texlive-paralist-svn39247-33.fc26.2.noarch
texlive-trimspaces-svn15878.1.1-33.fc26.2.noarch
texlive-tipa-svn29349.1.3-33.fc26.2.noarch
texlive-l3packages-svn41246-33.fc26.2.noarch
texlive-pst-pdf-svn31660.1.1v-33.fc26.2.noarch
texlive-tex-gyre-svn18651.2.004-33.fc26.2.noarch
texlive-beamer-svn36461.3.36-33.fc26.2.noarch
gd-2.2.5-1.fc26.s390x
elfutils-libelf-devel-0.169-1.fc26.s390x
gc-devel-7.6.0-2.fc26.s390x
libXft-devel-2.3.2-5.fc26.s390x
krb5-devel-1.15.2-4.fc26.s390x
rpm-devel-4.13.0.2-1.fc26.s390x
pcre-static-8.41-3.fc26.s390x
bluez-libs-devel-5.46-6.fc26.s390x
systemtap-3.2-2.fc26.s390x
trousers-0.3.13-7.fc26.s390x
iproute-tc-4.11.0-1.fc26.s390x
python2-sphinx-1.5.5-1.fc26.noarch
libgnome-keyring-3.12.0-8.fc26.s390x
perl-File-ShareDir-1.102-8.fc26.noarch
python2-paramiko-2.2.1-1.fc26.noarch
python2-openidc-client-0.4.0-1.20171113git54dee6e.fc26.noarch
openssh-server-7.5p1-4.fc26.s390x
pulseaudio-libs-11.1-7.fc26.s390x
python2-bodhi-2.12.2-3.fc26.noarch
lua-libs-5.3.4-7.fc26.s390x
dhcp-common-4.3.5-10.fc26.noarch
python3-pip-9.0.1-11.fc26.noarch
python3-sssdconfig-1.16.0-4.fc26.noarch
gpg-pubkey-95a43f54-5284415a
gpg-pubkey-fdb19c98-56fd6333
gpg-pubkey-64dab85d-57d33e22
tzdata-2017c-1.fc26.noarch
firewalld-filesystem-0.4.4.5-1.fc26.noarch
xkeyboard-config-2.21-3.fc26.noarch
texlive-texlive-common-doc-svn40682-33.fc26.2.noarch
ncurses-base-6.0-8.20170212.fc26.noarch
libselinux-2.6-7.fc26.s390x
bzip2-libs-1.0.6-22.fc26.s390x
libdb-5.3.28-24.fc26.s390x
mpfr-3.1.5-3.fc26.s390x
file-libs-5.30-11.fc26.s390x
libunistring-0.9.7-1.fc26.s390x
libxslt-1.1.29-1.fc26.s390x
libtasn1-4.12-1.fc26.s390x
gdbm-1.13-1.fc26.s390x
libepoxy-1.4.3-1.fc26.s390x
libpsl-0.18.0-1.fc26.s390x
perl-Carp-1.40-366.fc26.noarch
e2fsprogs-libs-1.43.4-2.fc26.s390x
libmnl-1.0.4-2.fc26.s390x
openjpeg2-2.2.0-3.fc26.s390x
perl-PathTools-3.63-367.fc26.s390x
perl-File-Temp-0.230.400-2.fc26.noarch
perl-XML-Parser-2.44-6.fc26.s390x
libss-1.43.4-2.fc26.s390x
ilmbase-2.2.0-8.fc26.s390x
fuse-libs-2.9.7-2.fc26.s390x
libdaemon-0.14-11.fc26.s390x
libbasicobjects-0.1.1-34.fc26.s390x
iptables-1.6.1-2.fc26.s390x
perl-TermReadKey-2.37-2.fc26.s390x
perl-Term-ANSIColor-4.06-2.fc26.noarch
perl-libintl-perl-1.26-2.fc26.s390x
usbredir-0.7.1-3.fc26.s390x
fftw-libs-double-3.3.5-4.fc26.s390x
rsync-3.1.2-5.fc26.s390x
libiscsi-1.15.0-3.fc26.s390x
ttmkfdir-3.0.9-49.fc26.s390x
texlive-base-2016-33.20160520.fc26.1.noarch
python2-six-1.10.0-9.fc26.noarch
atk-2.24.0-1.fc26.s390x
python2-kitchen-1.2.4-6.fc26.noarch
guile-2.0.14-1.fc26.s390x
desktop-file-utils-0.23-3.fc26.s390x
pyxattr-0.5.3-10.fc26.s390x
shared-mime-info-1.8-2.fc26.s390x
libyaml-0.1.7-2.fc26.s390x
python3-PyYAML-3.12-3.fc26.s390x
openssh-7.5p1-4.fc26.s390x
kernel-core-4.13.16-202.fc26.s390x
perl-Git-2.13.6-2.fc26.noarch
python3-dnf-plugins-extras-common-2.0.4-1.fc26.noarch
openssl-1.1.0g-1.fc26.s390x
gawk-4.1.4-6.fc26.s390x
gnutls-3.5.16-4.fc26.s390x
openldap-2.4.45-2.fc26.s390x
bind-license-9.11.1-4.P3.fc26.noarch
python2-gluster-3.10.8-1.fc26.s390x
selinux-policy-3.13.1-260.17.fc26.noarch
linux-firmware-20171215-81.git2451bb22.fc26.noarch
libpkgconf-1.3.12-1.fc26.s390x
NetworkManager-libnm-1.8.2-4.fc26.s390x
gnutls-devel-3.5.16-4.fc26.s390x
mariadb-libs-10.1.29-1.fc26.s390x
python2-urllib3-1.20-2.fc26.noarch
sssd-nfs-idmap-1.16.0-4.fc26.s390x
libsss_sudo-1.16.0-4.fc26.s390x
libgudev-232-1.fc26.s390x
python3-libs-3.6.3-2.fc26.s390x
python3-javapackages-4.7.0-17.fc26.noarch
python3-ply-3.9-3.fc26.noarch
python3-systemd-234-1.fc26.s390x
python3-requests-2.13.0-1.fc26.noarch
blktrace-1.1.0-4.fc26.s390x
python2-asn1crypto-0.23.0-1.fc26.noarch
python2-cffi-1.9.1-2.fc26.s390x
python2-sphinx_rtd_theme-0.2.4-1.fc26.noarch
lua-json-1.3.2-7.fc26.noarch
libcephfs1-10.2.7-2.fc26.s390x
glib-networking-2.50.0-2.fc26.s390x
elfutils-default-yama-scope-0.169-1.fc26.noarch
GeoIP-GeoLite-data-2017.10-1.fc26.noarch
libedit-3.1-17.20160618cvs.fc26.s390x
libverto-libev-0.2.6-7.fc26.s390x
libserf-1.3.9-3.fc26.s390x
createrepo_c-0.10.0-9.fc26.s390x
python2-kerberos-1.2.5-3.fc26.s390x
libsrtp-1.5.4-4.fc26.s390x
lzo-minilzo-2.08-9.fc26.s390x
librepo-1.8.0-1.fc26.s390x
koji-1.14.0-1.fc26.noarch
sg3_utils-1.42-1.fc26.s390x
libobjc-7.2.1-2.fc26.s390x
policycoreutils-2.6-6.fc26.s390x
libdrm-2.4.88-1.fc26.s390x
kernel-core-4.13.13-200.fc26.s390x
systemtap-client-3.2-2.fc26.s390x
lvm2-2.02.168-6.fc26.s390x
device-mapper-multipath-libs-0.4.9-88.fc26.s390x
libfdt-1.4.5-1.fc26.s390x
s390utils-cmsfs-1.36.1-3.fc26.s390x
libXdamage-1.1.4-9.fc26.s390x
libXaw-1.0.13-5.fc26.s390x
brltty-5.5-5.fc26.s390x
librsvg2-2.40.18-1.fc26.s390x
texlive-tetex-bin-svn36770.0-33.20160520.fc26.2.noarch
texlive-etex-pkg-svn39355-33.fc26.2.noarch
texlive-graphics-svn41015-33.fc26.2.noarch
texlive-dvips-svn41149-33.fc26.2.noarch
texlive-zapfding-svn31835.0-33.fc26.2.noarch
texlive-footmisc-svn23330.5.5b-33.fc26.2.noarch
texlive-makeindex-svn40768-33.fc26.2.noarch
texlive-pst-ovl-svn40873-33.fc26.2.noarch
texlive-texlive-scripts-svn41433-33.fc26.2.noarch
texlive-ltabptch-svn17533.1.74d-33.fc26.2.noarch
texlive-euro-svn22191.1.1-33.fc26.2.noarch
texlive-mflogo-font-svn36898.1.002-33.fc26.2.noarch
texlive-zapfchan-svn31835.0-33.fc26.2.noarch
texlive-cmextra-svn32831.0-33.fc26.2.noarch
texlive-finstrut-svn21719.0.5-33.fc26.2.noarch
texlive-hyphen-base-svn41138-33.fc26.2.noarch
texlive-marginnote-svn41382-33.fc26.2.noarch
texlive-parallel-svn15878.0-33.fc26.2.noarch
texlive-sepnum-svn20186.2.0-33.fc26.2.noarch
texlive-environ-svn33821.0.3-33.fc26.2.noarch
texlive-type1cm-svn21820.0-33.fc26.2.noarch
texlive-xunicode-svn30466.0.981-33.fc26.2.noarch
texlive-attachfile-svn38830-33.fc26.2.noarch
texlive-fontspec-svn41262-33.fc26.2.noarch
texlive-fancyvrb-svn18492.2.8-33.fc26.2.noarch
texlive-pst-pdf-bin-svn7838.0-33.20160520.fc26.2.noarch
texlive-xcolor-svn41044-33.fc26.2.noarch
texlive-pdfpages-svn40638-33.fc26.2.noarch
texlive-sansmathaccent-svn30187.0-33.fc26.2.noarch
texlive-ucs-svn35853.2.2-33.fc26.2.noarch
texlive-dvipdfmx-bin-svn40273-33.20160520.fc26.2.s390x
libotf-0.9.13-8.fc26.s390x
go-srpm-macros-2-8.fc26.noarch
pcre-devel-8.41-3.fc26.s390x
mesa-libwayland-egl-devel-17.2.4-2.fc26.s390x
ghostscript-9.20-10.fc26.s390x
libcephfs_jni-devel-10.2.7-2.fc26.s390x
libXdamage-devel-1.1.4-9.fc26.s390x
freetype-devel-2.7.1-9.fc26.s390x
ncurses-devel-6.0-8.20170212.fc26.s390x
fontconfig-devel-2.12.6-4.fc26.s390x
cairo-devel-1.14.10-1.fc26.s390x
libselinux-devel-2.6-7.fc26.s390x
guile-devel-2.0.14-1.fc26.s390x
libcap-ng-devel-0.7.8-3.fc26.s390x
bash-completion-2.6-1.fc26.noarch
libXevie-1.0.3-12.fc26.s390x
kernel-4.13.13-200.fc26.s390x
audit-2.8.1-1.fc26.s390x
gcc-objc-7.2.1-2.fc26.s390x
gcc-go-7.2.1-2.fc26.s390x
python-firewall-0.4.4.5-1.fc26.noarch
python3-html5lib-0.999-13.fc26.noarch
python2-simplejson-3.10.0-3.fc26.s390x
flex-2.6.1-3.fc26.s390x
telnet-0.17-69.fc26.s390x
gpg-pubkey-8e1431d5-53bcbac7
emacs-filesystem-25.3-3.fc26.noarch
fontawesome-fonts-4.7.0-2.fc26.noarch
fontawesome-fonts-web-4.7.0-2.fc26.noarch
tzdata-java-2017c-1.fc26.noarch
rpmconf-base-1.0.19-1.fc26.noarch
glibc-2.25-12.fc26.s390x
info-6.3-3.fc26.s390x
sqlite-libs-3.20.1-1.fc26.s390x
texlive-lib-2016-33.20160520.fc26.1.s390x
sed-4.4-1.fc26.s390x
libicu-57.1-7.fc26.s390x
libcap-ng-0.7.8-3.fc26.s390x
nettle-3.3-2.fc26.s390x
libidn2-2.0.4-1.fc26.s390x
lcms2-2.8-3.fc26.s390x
dbus-libs-1.11.18-1.fc26.s390x
perl-Exporter-5.72-367.fc26.noarch
unzip-6.0-34.fc26.s390x
iproute-4.11.0-1.fc26.s390x
zip-3.0-18.fc26.s390x
perl-constant-1.33-368.fc26.noarch
perl-MIME-Base64-3.15-366.fc26.s390x
lua-posix-33.3.1-4.fc26.s390x
bzip2-1.0.6-22.fc26.s390x
libstdc++-devel-7.2.1-2.fc26.s390x
hyphen-2.8.8-6.fc26.s390x
libdvdread-5.0.3-4.fc26.s390x
libcollection-0.7.0-34.fc26.s390x
libdvdnav-5.0.3-5.fc26.s390x
perl-version-0.99.18-1.fc26.s390x
perl-Encode-2.88-6.fc26.s390x
automake-1.15-9.fc26.noarch
plymouth-core-libs-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
hesiod-3.2.1-7.fc26.s390x
jasper-libs-2.0.14-1.fc26.s390x
mozjs17-17.0.0-18.fc26.s390x
fontconfig-2.12.6-4.fc26.s390x
harfbuzz-1.4.4-1.fc26.s390x
alsa-lib-1.1.4.1-1.fc26.s390x
make-4.2.1-2.fc26.s390x
gobject-introspection-1.52.1-1.fc26.s390x
hicolor-icon-theme-0.15-5.fc26.noarch
gdk-pixbuf2-2.36.9-1.fc26.s390x
libgusb-0.2.11-1.fc26.s390x
libtalloc-2.1.10-2.fc26.s390x
libdhash-0.5.0-34.fc26.s390x
python2-bcrypt-3.1.4-2.fc26.s390x
PyYAML-3.12-3.fc26.s390x
nss-softokn-freebl-3.34.0-1.0.fc26.s390x
kernel-modules-4.13.16-202.fc26.s390x
git-2.13.6-2.fc26.s390x
gnupg2-smime-2.2.3-1.fc26.s390x
openssl-devel-1.1.0g-1.fc26.s390x
python2-dnf-plugins-extras-common-2.0.4-1.fc26.noarch
copy-jdk-configs-3.3-2.fc26.noarch
glusterfs-client-xlators-3.10.8-1.fc26.s390x
libcurl-7.53.1-13.fc26.s390x
bind-libs-lite-9.11.1-4.P3.fc26.s390x
glusterfs-extra-xlators-3.10.8-1.fc26.s390x
python3-setuptools-37.0.0-1.fc26.noarch
kernel-core-4.14.8-200.fc26.s390x
pkgconf-1.3.12-1.fc26.s390x
NetworkManager-1.8.2-4.fc26.s390x
libjpeg-turbo-devel-1.5.3-1.fc26.s390x
lua-5.3.4-7.fc26.s390x
boost-thread-1.63.0-10.fc26.s390x
wget-1.19.2-2.fc26.s390x
libwebp-0.6.1-1.fc26.s390x
kernel-devel-4.14.8-200.fc26.s390x
python3-lxml-4.1.1-1.fc26.s390x
python3-ordered-set-2.0.0-6.fc26.noarch
python3-rpmconf-1.0.19-1.fc26.noarch
python-offtrac-0.1.0-9.fc26.noarch
python2-pycparser-2.14-10.fc26.noarch
python2-sphinx-theme-alabaster-0.7.9-3.fc26.noarch
python2-pysocks-1.6.7-1.fc26.noarch
lua-lpeg-1.0.1-2.fc26.s390x
poppler-0.52.0-10.fc26.s390x
libproxy-0.4.15-2.fc26.s390x
crontabs-1.11-14.20150630git.fc26.noarch
java-1.8.0-openjdk-headless-1.8.0.151-1.b12.fc26.s390x
libev-4.24-2.fc26.s390x
libsigsegv-2.11-1.fc26.s390x
fedora-cert-0.6.0.1-2.fc26.noarch
drpm-0.3.0-6.fc26.s390x
createrepo_c-libs-0.10.0-9.fc26.s390x
python2-cccolutils-1.5-3.fc26.s390x
m17n-lib-1.7.0-6.fc26.s390x
lsscsi-0.28-4.fc26.s390x
python2-koji-1.14.0-1.fc26.noarch
python3-koji-1.14.0-1.fc26.noarch
python3-gpg-1.8.0-12.fc26.s390x
sg3_utils-libs-1.42-1.fc26.s390x
SDL2-2.0.7-2.fc26.s390x
util-linux-2.30.2-1.fc26.s390x
rpcbind-0.2.4-8.rc2.fc26.s390x
s390utils-mon_statd-1.36.1-3.fc26.s390x
GConf2-3.2.6-17.fc26.s390x
systemd-container-233-7.fc26.s390x
usermode-1.111-9.fc26.s390x
pcre-utf32-8.41-3.fc26.s390x
libXt-1.1.5-4.fc26.s390x
libXpm-3.5.12-2.fc26.s390x
at-spi2-core-2.24.1-1.fc26.s390x
cairo-1.14.10-1.fc26.s390x
texlive-kpathsea-bin-svn40473-33.20160520.fc26.2.s390x
texlive-ifluatex-svn41346-33.fc26.2.noarch
texlive-babel-svn40706-33.fc26.2.noarch
texlive-colortbl-svn29803.v1.0a-33.fc26.2.noarch
texlive-marvosym-svn29349.2.2a-33.fc26.2.noarch
texlive-euler-svn17261.2.5-33.fc26.2.noarch
texlive-latexconfig-svn40274-33.fc26.2.noarch
texlive-plain-svn40274-33.fc26.2.noarch
texlive-texconfig-bin-svn29741.0-33.20160520.fc26.2.noarch
giflib-4.1.6-16.fc26.s390x
texlive-microtype-svn41127-33.fc26.2.noarch
texlive-eurosym-svn17265.1.4_subrfix-33.fc26.2.noarch
texlive-symbol-svn31835.0-33.fc26.2.noarch
texlive-chngcntr-svn17157.1.0a-33.fc26.2.noarch
texlive-euenc-svn19795.0.1h-33.fc26.2.noarch
texlive-luatex-svn40963-33.fc26.2.noarch
texlive-knuth-local-svn38627-33.fc26.2.noarch
texlive-mparhack-svn15878.1.4-33.fc26.2.noarch
texlive-rcs-svn15878.0-33.fc26.2.noarch
texlive-texlive-msg-translations-svn41431-33.fc26.2.noarch
texlive-updmap-map-svn41159-33.fc26.2.noarch
texlive-geometry-svn19716.5.6-33.fc26.2.noarch
texlive-memoir-svn41203-33.fc26.2.noarch
texlive-l3kernel-svn41246-33.fc26.2.noarch
texlive-pst-eps-svn15878.1.0-33.fc26.2.noarch
texlive-pst-text-svn15878.1.00-33.fc26.2.noarch
texlive-amscls-svn36804.0-33.fc26.2.noarch
texlive-pst-slpe-svn24391.1.31-33.fc26.2.noarch
texlive-extsizes-svn17263.1.4a-33.fc26.2.noarch
texlive-xetex-def-svn40327-33.fc26.2.noarch
texlive-collection-latex-svn41011-33.20160520.fc26.2.noarch
gstreamer1-plugins-base-1.12.3-1.fc26.s390x
fpc-srpm-macros-1.1-2.fc26.noarch
xorg-x11-proto-devel-7.7-22.fc26.noarch
urw-fonts-2.4-23.fc26.noarch
atk-devel-2.24.0-1.fc26.s390x
ImageMagick-libs-6.9.9.22-1.fc26.s390x
libxcb-devel-1.12-3.fc26.s390x
libXrandr-devel-1.5.1-2.fc26.s390x
libcom_err-devel-1.43.4-2.fc26.s390x
dbus-devel-1.11.18-1.fc26.s390x
libepoxy-devel-1.4.3-1.fc26.s390x
libicu-devel-57.1-7.fc26.s390x
p11-kit-devel-0.23.9-2.fc26.s390x
rpm-build-4.13.0.2-1.fc26.s390x
libssh2-devel-1.8.0-5.fc26.s390x
graphviz-2.40.1-4.fc26.s390x
zlib-static-1.2.11-2.fc26.s390x
mesa-libgbm-devel-17.2.4-2.fc26.s390x
dracut-config-rescue-046-3.1.fc26.s390x
screen-4.6.2-1.fc26.s390x
python-osbs-client-0.39.1-1.fc26.noarch
gcc-gdb-plugin-7.2.1-2.fc26.s390x
pyparsing-2.1.10-3.fc26.noarch
python3-pyasn1-0.2.3-1.fc26.noarch
python2-html5lib-0.999-13.fc26.noarch
teamd-1.27-1.fc26.s390x
hardlink-1.3-1.fc26.s390x
chrpath-0.16-4.fc26.s390x
libgcc-7.2.1-2.fc26.s390x
python-rpm-macros-3-20.fc26.noarch
texlive-pdftex-doc-svn41149-33.fc26.2.noarch
glibc-common-2.25-12.fc26.s390x
libstdc++-7.2.1-2.fc26.s390x
nspr-4.17.0-1.fc26.s390x
grep-3.1-1.fc26.s390x
libgcrypt-1.7.9-1.fc26.s390x
libacl-2.2.52-15.fc26.s390x
cpio-2.12-4.fc26.s390x
libatomic_ops-7.4.4-2.fc26.s390x
p11-kit-0.23.9-2.fc26.s390x
gc-7.6.0-2.fc26.s390x
psmisc-22.21-9.fc26.s390x
systemd-libs-233-7.fc26.s390x
xz-5.2.3-2.fc26.s390x
perl-libs-5.24.3-395.fc26.s390x
kmod-libs-24-1.fc26.s390x
libpcap-1.8.1-3.fc26.s390x
perl-macros-5.24.3-395.fc26.s390x
perl-parent-0.236-2.fc26.noarch
perl-Text-Unidecode-1.30-2.fc26.noarch
newt-0.52.20-1.fc26.s390x
libcomps-0.1.8-3.fc26.s390x
libfontenc-1.1.3-4.fc26.s390x
ipcalc-0.2.0-1.fc26.s390x
libnfnetlink-1.0.1-9.fc26.s390x
libref_array-0.1.5-34.fc26.s390x
perl-Term-Cap-1.17-366.fc26.noarch
perl-Digest-1.17-367.fc26.noarch
perl-SelfLoader-1.23-395.fc26.noarch
perl-Pod-Simple-3.35-2.fc26.noarch
perl-URI-1.71-6.fc26.noarch
cpp-7.2.1-2.fc26.s390x
attr-2.4.47-18.fc26.s390x
gmp-c++-6.1.2-4.fc26.s390x
xapian-core-libs-1.4.4-1.fc26.s390x
system-python-3.6.3-2.fc26.s390x
harfbuzz-icu-1.4.4-1.fc26.s390x
libtevent-0.9.34-1.fc26.s390x
http-parser-2.7.1-5.fc26.s390x
libsodium-1.0.14-1.fc26.s390x
python-gssapi-1.2.0-5.fc26.s390x
nss-softokn-3.34.0-1.0.fc26.s390x
gnupg2-2.2.3-1.fc26.s390x
nss-devel-3.34.0-1.0.fc26.s390x
vim-minimal-8.0.1360-1.fc26.s390x
perl-libnet-3.11-1.fc26.noarch
kernel-devel-4.13.16-202.fc26.s390x
python2-libs-2.7.14-4.fc26.s390x
libwayland-client-1.13.0-3.fc26.s390x
python3-dnf-2.7.5-2.fc26.noarch
glusterfs-fuse-3.10.8-1.fc26.s390x
pcre2-utf32-10.23-11.fc26.s390x
kernel-modules-4.14.8-200.fc26.s390x
pkgconf-pkg-config-1.3.12-1.fc26.s390x
NetworkManager-ppp-1.8.2-4.fc26.s390x
wayland-devel-1.13.0-3.fc26.s390x
kernel-4.14.8-200.fc26.s390x
boost-random-1.63.0-10.fc26.s390x
libmicrohttpd-0.9.58-1.fc26.s390x
mailx-12.5-24.fc26.s390x
NetworkManager-glib-1.8.2-4.fc26.s390x
libcroco-0.6.12-1.fc26.s390x
libssh2-1.8.0-5.fc26.s390x
json-glib-1.2.6-1.fc26.s390x
libevent-2.0.22-3.fc26.s390x
gdk-pixbuf2-modules-2.36.9-1.fc26.s390x
colord-libs-1.3.5-1.fc26.s390x
python3-magic-5.30-11.fc26.noarch
python3-gobject-base-3.24.1-1.fc26.s390x
python3-pyroute2-0.4.13-1.fc26.noarch
python3-pysocks-1.6.7-1.fc26.noarch
python2-click-6.7-3.fc26.noarch
python-munch-2.1.0-2.fc26.noarch
python2-ply-3.9-3.fc26.noarch
python2-snowballstemmer-1.2.1-3.fc26.noarch
python-magic-5.30-11.fc26.noarch
python-beautifulsoup4-4.6.0-1.fc26.noarch
python2-gitdb-2.0.3-1.fc26.noarch
librados-devel-10.2.7-2.fc26.s390x
libcacard-2.5.3-1.fc26.s390x
libmodman-2.0.1-13.fc26.s390x
zziplib-0.13.62-8.fc26.s390x
lksctp-tools-1.0.16-6.fc26.s390x
procmail-3.22-44.fc26.s390x
libthai-0.1.25-2.fc26.s390x
libpipeline-1.4.1-3.fc26.s390x
python2-pycurl-7.43.0-8.fc26.s390x
deltarpm-3.6-19.fc26.s390x
subversion-libs-1.9.7-1.fc26.s390x
python-krbV-1.0.90-13.fc26.s390x
m17n-db-1.7.0-8.fc26.noarch
linux-atm-libs-2.5.1-17.fc26.s390x
python2-rpm-4.13.0.2-1.fc26.s390x
python2-librepo-1.8.0-1.fc26.s390x
python2-dnf-plugins-core-2.1.5-1.fc26.noarch
qrencode-libs-3.4.4-1.fc26.s390x
s390utils-iucvterm-1.36.1-3.fc26.s390x
libsmartcols-2.30.2-1.fc26.s390x
dbus-1.11.18-1.fc26.s390x
systemd-udev-233-7.fc26.s390x
device-mapper-event-1.02.137-6.fc26.s390x
polkit-0.113-8.fc26.s390x
mock-1.4.7-2.fc26.noarch
libwmf-lite-0.2.8.4-53.fc26.s390x
libXcomposite-0.4.4-9.fc26.s390x
libXcursor-1.1.14-8.fc26.s390x
at-spi2-atk-2.24.1-1.fc26.s390x
pango-1.40.12-1.fc26.s390x
texlive-metafont-bin-svn40987-33.20160520.fc26.2.s390x
texlive-url-svn32528.3.4-33.fc26.2.noarch
texlive-fp-svn15878.0-33.fc26.2.noarch
texlive-latex-fonts-svn28888.0-33.fc26.2.noarch
texlive-mptopdf-bin-svn18674.0-33.20160520.fc26.2.noarch
texlive-fancybox-svn18304.1.4-33.fc26.2.noarch
texlive-lua-alt-getopt-svn29349.0.7.0-33.fc26.2.noarch
texlive-tex-bin-svn40987-33.20160520.fc26.2.s390x
texlive-texconfig-svn40768-33.fc26.2.noarch
texlive-wasy2-ps-svn35830.0-33.fc26.2.noarch
texlive-psfrag-svn15878.3.04-33.fc26.2.noarch
texlive-helvetic-svn31835.0-33.fc26.2.noarch
texlive-times-svn35058.0-33.fc26.2.noarch
texlive-cite-svn36428.5.5-33.fc26.2.noarch
texlive-fancyhdr-svn15878.3.1-33.fc26.2.noarch
texlive-luatex-bin-svn41091-33.20160520.fc26.2.s390x
texlive-lm-math-svn36915.1.959-33.fc26.2.noarch
texlive-ntgclass-svn15878.2.1a-33.fc26.2.noarch
texlive-sansmath-svn17997.1.1-33.fc26.2.noarch
texlive-textcase-svn15878.0-33.fc26.2.noarch
texlive-unicode-data-svn39808-33.fc26.2.noarch
texlive-breakurl-svn29901.1.40-33.fc26.2.noarch
texlive-latex-svn40218-33.fc26.2.noarch
texlive-lualatex-math-svn40621-33.fc26.2.noarch
texlive-pst-coil-svn37377.1.07-33.fc26.2.noarch
texlive-pst-plot-svn41242-33.fc26.2.noarch
texlive-unicode-math-svn38462-33.fc26.2.noarch
texlive-pst-blur-svn15878.2.0-33.fc26.2.noarch
texlive-cm-super-svn15878.0-33.fc26.2.noarch
texlive-wasysym-svn15878.2.0-33.fc26.2.noarch
texlive-collection-fontsrecommended-svn35830.0-33.20160520.fc26.2.noarch
libXv-1.0.11-2.fc26.s390x
ghc-srpm-macros-1.4.2-5.fc26.noarch
latex2html-2017.2-2.fc26.noarch
libXau-devel-1.0.8-7.fc26.s390x
libXcursor-devel-1.1.14-8.fc26.s390x
graphite2-devel-1.3.10-1.fc26.s390x
pixman-devel-0.34.0-3.fc26.s390x
wayland-protocols-devel-1.9-1.fc26.noarch
mesa-libGLES-devel-17.2.4-2.fc26.s390x
redhat-rpm-config-63-1.fc26.noarch
vte291-devel-0.48.4-1.fc26.s390x
ceph-devel-compat-10.2.7-2.fc26.s390x
lzo-devel-2.08-9.fc26.s390x
libiscsi-devel-1.15.0-3.fc26.s390x
libfdt-devel-1.4.5-1.fc26.s390x
dnsmasq-2.76-5.fc26.s390x
avahi-autoipd-0.6.32-7.fc26.s390x
rpm-plugin-systemd-inhibit-4.13.0.2-1.fc26.s390x
gcc-c++-7.2.1-2.fc26.s390x
python2-ndg_httpsclient-0.4.0-7.fc26.noarch
gettext-0.19.8.1-9.fc26.s390x
btrfs-progs-4.9.1-2.fc26.s390x
fedora-logos-26.0.1-1.fc26.s390x
dejagnu-1.6-2.fc26.noarch
libaio-devel-0.3.110-7.fc26.s390x
dos2unix-7.3.4-2.fc26.s390x
distribution-gpg-keys-1.15-1.fc26.noarch
python-sphinx-locale-1.5.5-1.fc26.noarch
python2-rpm-macros-3-20.fc26.noarch
libxml2-2.9.4-2.fc26.s390x
popt-1.16-12.fc26.s390x
tar-1.29-5.fc26.s390x
avahi-libs-0.6.32-7.fc26.s390x
m4-1.4.18-3.fc26.s390x
perl-Socket-2.024-2.fc26.s390x
perl-Time-Local-1.250-2.fc26.noarch
libmetalink-0.1.3-2.fc26.s390x
jbigkit-libs-2.1-6.fc26.s390x
netpbm-10.80.00-2.fc26.s390x
perl-Digest-MD5-2.55-3.fc26.s390x
perl-Getopt-Long-2.49.1-2.fc26.noarch
libglvnd-opengl-1.0.0-1.fc26.s390x
libattr-devel-2.4.47-18.fc26.s390x
teckit-2.5.1-16.fc26.s390x
python3-six-1.10.0-9.fc26.noarch
python3-libcomps-0.1.8-3.fc26.s390x
gtk-update-icon-cache-3.22.21-2.fc26.s390x
python3-3.6.3-2.fc26.s390x
python3-pyparsing-2.1.10-3.fc26.noarch
python2-markupsafe-0.23-13.fc26.s390x
python2-mock-2.0.0-4.fc26.noarch
python2-yubico-1.3.2-7.fc26.noarch
python2-smmap-2.0.3-1.fc26.noarch
librbd-devel-10.2.7-2.fc26.s390x
pigz-2.3.4-2.fc26.s390x
gcc-7.2.1-2.fc26.s390x
libnghttp2-1.21.1-1.fc26.s390x
cups-libs-2.2.2-7.fc26.s390x
libnfsidmap-0.27-1.fc26.s390x
ykpers-1.18.0-2.fc26.s390x
python3-librepo-1.8.0-1.fc26.s390x
systemtap-runtime-3.2-2.fc26.s390x
geoclue2-2.4.5-4.fc26.s390x
initscripts-9.72-1.fc26.s390x
plymouth-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
ebtables-2.0.10-22.fc26.s390x
gssproxy-0.7.0-9.fc26.s390x
libXext-1.3.3-5.fc26.s390x
mesa-libEGL-17.2.4-2.fc26.s390x
texlive-texlive.infra-bin-svn40312-33.20160520.fc26.2.s390x
texlive-thumbpdf-svn34621.3.16-33.fc26.2.noarch
texlive-carlisle-svn18258.0-33.fc26.2.noarch
texlive-gsftopk-svn40768-33.fc26.2.noarch
texlive-pdftex-svn41149-33.fc26.2.noarch
texlive-crop-svn15878.1.5-33.fc26.2.noarch
texlive-pxfonts-svn15878.0-33.fc26.2.noarch
texlive-enctex-svn34957.0-33.fc26.2.noarch
texlive-kastrup-svn15878.0-33.fc26.2.noarch
texlive-pspicture-svn15878.0-33.fc26.2.noarch
texlive-varwidth-svn24104.0.92-33.fc26.2.noarch
texlive-currfile-svn40725-33.fc26.2.noarch
texlive-pst-grad-svn15878.1.06-33.fc26.2.noarch
texlive-latex-bin-svn41438-33.fc26.2.noarch
texlive-ltxmisc-svn21927.0-33.fc26.2.noarch
lasi-1.1.2-7.fc26.s390x
adwaita-icon-theme-3.24.0-2.fc26.noarch
xz-devel-5.2.3-2.fc26.s390x
xorg-x11-fonts-Type1-7.5-17.fc26.noarch
libXi-devel-1.7.9-2.fc26.s390x
at-spi2-atk-devel-2.24.1-1.fc26.s390x
pango-devel-1.40.12-1.fc26.s390x
libcacard-devel-2.5.3-1.fc26.s390x
libseccomp-devel-2.3.2-1.fc26.s390x
subversion-1.9.7-1.fc26.s390x
sudo-1.8.21p2-1.fc26.s390x
pykickstart-2.35-2.fc26.noarch
e2fsprogs-1.43.4-2.fc26.s390x
libstdc++-static-7.2.1-2.fc26.s390x
libbsd-0.8.3-3.fc26.s390x
c-ares-1.13.0-1.fc26.s390x
python2-pyxdg-0.25-12.fc26.noarch
nss-softokn-freebl-devel-3.34.0-1.0.fc26.s390x
python2-rpkg-1.51-2.fc26.noarch
strace-4.20-1.fc26.s390x
valgrind-3.13.0-12.fc26.s390x
libsss_idmap-1.16.0-4.fc26.s390x
gnutls-c++-3.5.16-4.fc26.s390x
libwayland-server-1.13.0-3.fc26.s390x
dhcp-client-4.3.5-10.fc26.s390x
bind-libs-9.11.1-4.P3.fc26.s390x
man-pages-4.09-4.fc26.noarch
gpg-pubkey-a29cb19c-53bcbba6
quota-nls-4.03-9.fc26.noarch
qt5-srpm-macros-5.8.0-2.fc26.noarch
xz-libs-5.2.3-2.fc26.s390x
gmp-6.1.2-4.fc26.s390x
audit-libs-2.8.1-1.fc26.s390x
file-5.30-11.fc26.s390x
libusbx-1.0.21-2.fc26.s390x
binutils-2.27-28.fc26.s390x
perl-Errno-1.25-395.fc26.s390x
perl-HTTP-Tiny-0.070-2.fc26.noarch
xml-common-0.6.3-45.fc26.noarch
opus-1.2.1-1.fc26.s390x
kernel-devel-4.13.13-200.fc26.s390x
perl-podlators-4.09-2.fc26.noarch
flac-libs-1.3.2-2.fc26.s390x
libacl-devel-2.2.52-15.fc26.s390x
coreutils-common-8.27-7.fc26.s390x
cracklib-2.9.6-5.fc26.s390x
pyliblzma-0.5.3-17.fc26.s390x
libnotify-0.7.7-2.fc26.s390x
python3-idna-2.5-1.fc26.noarch
python3-pyOpenSSL-16.2.0-6.fc26.noarch
python2-pbr-1.10.0-4.fc26.noarch
pyusb-1.0.0-4.fc26.noarch
python2-fedora-0.9.0-6.fc26.noarch
librbd1-10.2.7-2.fc26.s390x
pcre-cpp-8.41-3.fc26.s390x
glibc-devel-2.25-12.fc26.s390x
libnfs-1.9.8-3.fc26.s390x
libsolv-0.6.30-2.fc26.s390x
python3-pycurl-7.43.0-8.fc26.s390x
libyubikey-1.13-3.fc26.s390x
rpmlint-1.10-5.fc26.noarch
python2-pygpgme-0.3-22.fc26.s390x
s390utils-base-1.36.1-3.fc26.s390x
ppp-2.4.7-11.fc26.s390x
s390utils-cpuplugd-1.36.1-3.fc26.s390x
nfs-utils-2.1.1-6.rc6.fc26.s390x
libXrender-0.9.10-2.fc26.s390x
libglvnd-gles-1.0.0-1.fc26.s390x
texlive-texlive.infra-svn41280-33.fc26.2.noarch
texlive-lm-svn28119.2.004-33.fc26.2.noarch
texlive-babelbib-svn25245.1.31-33.fc26.2.noarch
texlive-index-svn24099.4.1beta-33.fc26.2.noarch
texlive-pdftex-bin-svn40987-33.20160520.fc26.2.s390x
texlive-csquotes-svn39538-33.fc26.2.noarch
texlive-rsfs-svn15878.0-33.fc26.2.noarch
texlive-etex-svn37057.0-33.fc26.2.noarch
texlive-knuth-lib-svn35820.0-33.fc26.2.noarch
texlive-pst-math-svn34786.0.63-33.fc26.2.noarch
texlive-utopia-svn15878.0-33.fc26.2.noarch
texlive-eso-pic-svn37925.2.0g-33.fc26.2.noarch
texlive-pst-fill-svn15878.1.01-33.fc26.2.noarch
texlive-latex-bin-bin-svn14050.0-33.20160520.fc26.2.noarch
texlive-jknapltx-svn19440.0-33.fc26.2.noarch
texlive-collection-latexrecommended-svn35765.0-33.20160520.fc26.2.noarch
adwaita-cursor-theme-3.24.0-2.fc26.noarch
xorg-x11-fonts-ISO8859-1-100dpi-7.5-17.fc26.noarch
libXcomposite-devel-0.4.4-9.fc26.s390x
at-spi2-core-devel-2.24.1-1.fc26.s390x
harfbuzz-devel-1.4.4-1.fc26.s390x
rpmdevtools-8.10-2.fc26.noarch
texi2html-5.0-5.fc26.noarch
libnfs-devel-1.9.8-3.fc26.s390x
firewalld-0.4.4.5-1.fc26.noarch
wpa_supplicant-2.6-12.fc26.s390x
systemtap-sdt-devel-3.2-2.fc26.s390x
newt-python-0.52.20-1.fc26.s390x
perl-Mozilla-CA-20160104-4.fc26.noarch
pth-2.0.7-28.fc26.s390x
python3-pyxdg-0.25-12.fc26.noarch
nss-softokn-devel-3.34.0-1.0.fc26.s390x
fedpkg-1.30-4.fc26.noarch
timedatex-0.4-3.fc26.s390x
libjpeg-turbo-1.5.3-1.fc26.s390x
glusterfs-cli-3.10.8-1.fc26.s390x
libsss_nss_idmap-1.16.0-4.fc26.s390x
gdb-8.0.1-33.fc26.s390x
dnf-yum-2.7.5-2.fc26.noarch
perl-Data-Dumper-2.161-3.fc26.s390x
python-async-0.6.1-9.fc22.s390x
poppler-data-0.4.7-7.fc26.noarch
ocaml-srpm-macros-4-2.fc26.noarch
libuuid-2.30.2-1.fc26.s390x
libgpg-error-1.25-2.fc26.s390x
libassuan-2.4.3-2.fc26.s390x
graphite2-1.3.10-1.fc26.s390x
perl-Text-Tabs+Wrap-2013.0523-366.fc26.noarch
perl-Error-0.17024-8.fc26.noarch
which-2.21-2.fc26.s390x
libXau-1.0.8-7.fc26.s390x
orc-0.4.27-1.fc26.s390x
perl-Pod-Perldoc-3.28-1.fc26.noarch
libsndfile-1.0.28-6.fc26.s390x
patch-2.7.5-4.fc26.s390x
gzip-1.8-2.fc26.s390x
python-ipaddress-1.0.16-4.fc26.noarch
yum-metadata-parser-1.1.4-18.fc26.s390x
python3-dbus-1.2.4-6.fc26.s390x
python3-cryptography-2.0.2-2.fc26.s390x
python3-kickstart-2.35-2.fc26.noarch
python2-imagesize-0.7.1-5.fc26.noarch
python2-jinja2-2.9.6-1.fc26.noarch
libradosstriper-devel-10.2.7-2.fc26.s390x
soundtouch-1.9.2-4.fc26.s390x
glibc-headers-2.25-12.fc26.s390x
libndp-1.6-2.fc26.s390x
rpm-4.13.0.2-1.fc26.s390x
rest-0.8.0-2.fc26.s390x
libvisual-0.4.0-21.fc26.s390x
python2-hawkey-0.11.1-1.fc26.s390x
dnf-plugins-core-2.1.5-1.fc26.noarch
fakeroot-libs-1.22-1.fc26.s390x
device-mapper-event-libs-1.02.137-6.fc26.s390x
cyrus-sasl-2.1.26-32.fc26.s390x
kernel-modules-4.13.13-200.fc26.s390x
cronie-anacron-1.5.1-5.fc26.s390x
libpath_utils-0.2.1-34.fc26.s390x
libX11-common-1.6.5-2.fc26.noarch
libXft-2.3.2-5.fc26.s390x
gtk2-2.24.31-4.fc26.s390x
texlive-etoolbox-svn38031.2.2a-33.fc26.2.noarch
texlive-multido-svn18302.1.42-33.fc26.2.noarch
texlive-glyphlist-svn28576.0-33.fc26.2.noarch
texlive-setspace-svn24881.6.7a-33.fc26.2.noarch
texlive-mathtools-svn38833-33.fc26.2.noarch
texlive-ncntrsbk-svn31835.0-33.fc26.2.noarch
texlive-dvisvgm-def-svn41011-33.fc26.2.noarch
texlive-ifetex-svn24853.1.2-33.fc26.2.noarch
texlive-parskip-svn19963.2.0-33.fc26.2.noarch
texlive-bera-svn20031.0-33.fc26.2.noarch
texlive-pgf-svn40966-33.fc26.2.noarch
texlive-auto-pst-pdf-svn23723.0.6-33.fc26.2.noarch
texlive-ctable-svn38672-33.fc26.2.noarch
texlive-typehtml-svn17134.0-33.fc26.2.noarch
mesa-libGLES-17.2.4-2.fc26.s390x
vte291-0.48.4-1.fc26.s390x
libdrm-devel-2.4.88-1.fc26.s390x
libcephfs_jni1-10.2.7-2.fc26.s390x
bzip2-devel-1.0.6-22.fc26.s390x
expat-devel-2.2.4-1.fc26.s390x
libsepol-devel-2.6-2.fc26.s390x
glib2-static-2.52.3-2.fc26.s390x
virglrenderer-devel-0.6.0-1.20170210git76b3da97b.fc26.s390x
yum-utils-1.1.31-512.fc26.noarch
parted-3.2-24.fc26.s390x
python3-beautifulsoup4-4.6.0-1.fc26.noarch
python-bunch-1.0.1-10.fc26.noarch
perl-Time-HiRes-1.9746-1.fc26.s390x
lz4-1.8.0-1.fc26.s390x
nss-util-3.34.0-1.0.fc26.s390x
openssh-clients-7.5p1-4.fc26.s390x
chrony-3.2-1.fc26.s390x
dnf-conf-2.7.5-2.fc26.noarch
glusterfs-server-3.10.8-1.fc26.s390x
sssd-client-1.16.0-4.fc26.s390x
man-db-2.7.6.1-8.fc26.s390x
bodhi-client-2.12.2-3.fc26.noarch
perl-Module-CoreList-5.20171120-1.fc26.noarch
hawkey-0.6.4-3.fc25.s390x
python-srpm-macros-3-20.fc26.noarch
perl-srpm-macros-1-21.fc26.noarch
expat-2.2.4-1.fc26.s390x
chkconfig-1.10-1.fc26.s390x
findutils-4.6.0-12.fc26.s390x
mesa-libwayland-egl-17.2.4-2.fc26.s390x
procps-ng-3.3.10-13.fc26.s390x
mesa-libglapi-17.2.4-2.fc26.s390x
perl-Unicode-Normalize-1.25-366.fc26.s390x
perl-IO-Socket-IP-0.39-1.fc26.noarch
hunspell-en-US-0.20140811.1-6.fc26.noarch
libxcb-1.12-3.fc26.s390x
libgo-devel-7.2.1-2.fc26.s390x
perl-Pod-Escapes-1.07-366.fc26.noarch
perl-Pod-Usage-1.69-2.fc26.noarch
libtheora-1.1.1-15.fc26.s390x
tcp_wrappers-7.6-85.fc26.s390x
coreutils-8.27-7.fc26.s390x
libmount-2.30.2-1.fc26.s390x
python2-iniparse-0.4-24.fc26.noarch
python2-decorator-4.0.11-2.fc26.noarch
ModemManager-glib-1.6.10-1.fc26.s390x
python3-decorator-4.0.11-2.fc26.noarch
python3-cffi-1.9.1-2.fc26.s390x
python-bugzilla-cli-2.1.0-1.fc26.noarch
python2-funcsigs-1.0.2-5.fc26.noarch
python2-babel-2.3.4-5.fc26.noarch
python-bugzilla-2.1.0-1.fc26.noarch
libradosstriper1-10.2.7-2.fc26.s390x
snappy-1.1.4-3.fc26.s390x
dtc-1.4.5-1.fc26.s390x
libmpcdec-1.2.6-17.fc26.s390x
rpm-libs-4.13.0.2-1.fc26.s390x
python-urlgrabber-3.10.1-11.fc26.noarch
sysfsutils-2.1.0-20.fc26.s390x
python3-hawkey-0.11.1-1.fc26.s390x
python3-dnf-plugins-core-2.1.5-1.fc26.noarch
ethtool-4.13-1.fc26.s390x
iputils-20161105-5.fc26.s390x
plymouth-scripts-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
cronie-1.5.1-5.fc26.s390x
libini_config-1.3.1-34.fc26.s390x
libX11-1.6.5-2.fc26.s390x
libglvnd-egl-1.0.0-1.fc26.s390x
texlive-kpathsea-svn41139-33.fc26.2.noarch
texlive-thumbpdf-bin-svn6898.0-33.20160520.fc26.2.noarch
texlive-subfig-svn15878.1.3-33.fc26.2.noarch
texlive-gsftopk-bin-svn40473-33.20160520.fc26.2.s390x
texlive-tex-ini-files-svn40533-33.fc26.2.noarch
texlive-qstest-svn15878.0-33.fc26.2.noarch
texlive-palatino-svn31835.0-33.fc26.2.noarch
texlive-ec-svn25033.1.0-33.fc26.2.noarch
texlive-iftex-svn29654.0.2-33.fc26.2.noarch
texlive-pslatex-svn16416.0-33.fc26.2.noarch
texlive-algorithms-svn38085.0.1-33.fc26.2.noarch
texlive-filehook-svn24280.0.5d-33.fc26.2.noarch
texlive-pst-node-svn40743-33.fc26.2.noarch
texlive-rotating-svn16832.2.16b-33.fc26.2.noarch
texlive-seminar-svn34011.1.62-33.fc26.2.noarch
gtk3-3.22.21-2.fc26.s390x
libuuid-devel-2.30.2-1.fc26.s390x
java-1.8.0-openjdk-1.8.0.151-1.b12.fc26.s390x
libXinerama-devel-1.1.3-7.fc26.s390x
emacs-common-25.3-3.fc26.s390x
gtk3-devel-3.22.21-2.fc26.s390x
fedora-packager-0.6.0.1-2.fc26.noarch
libxml2-devel-2.9.4-2.fc26.s390x
snappy-devel-1.1.4-3.fc26.s390x
python2-dnf-plugin-migrate-2.1.5-1.fc26.noarch
authconfig-7.0.1-2.fc26.s390x
newt-python3-0.52.20-1.fc26.s390x
python-decoratortools-1.8-13.fc26.noarch
python-systemd-doc-234-1.fc26.s390x
openssl-libs-1.1.0g-1.fc26.s390x
git-core-2.13.6-2.fc26.s390x
python3-dnf-plugin-system-upgrade-2.0.4-1.fc26.noarch
glusterfs-libs-3.10.8-1.fc26.s390x
ca-certificates-2017.2.20-1.0.fc26.noarch
unbound-libs-1.6.7-1.fc26.s390x
libsss_certmap-1.16.0-4.fc26.s390x
glusterfs-api-devel-3.10.8-1.fc26.s390x
selinux-policy-targeted-3.13.1-260.17.fc26.noarch
publicsuffix-list-dafsa-20171028-1.fc26.noarch
gpg-pubkey-a0a7badb-52844296
gpg-pubkey-e372e838-56fd7943
gpg-pubkey-3b921d09-57a87096
google-roboto-slab-fonts-1.100263-0.5.20150923git.fc26.noarch
libreport-filesystem-2.9.1-3.fc26.s390x
glibc-all-langpacks-2.25-12.fc26.s390x
libcom_err-1.43.4-2.fc26.s390x
libffi-3.1-12.fc26.s390x
keyutils-libs-1.5.10-1.fc26.s390x
diffutils-3.5-3.fc26.s390x
apr-util-1.5.4-6.fc26.s390x
bluez-libs-5.46-6.fc26.s390x
libksba-1.3.5-3.fc26.s390x
ncurses-6.0-8.20170212.fc26.s390x
gsm-1.0.17-1.fc26.s390x
libteam-1.27-1.fc26.s390x
perl-Fedora-VSP-0.001-5.fc26.noarch
libusb-0.1.5-8.fc26.s390x
acl-2.2.52-15.fc26.s390x
dwz-0.12-3.fc26.s390x
libblkid-2.30.2-1.fc26.s390x
polkit-libs-0.113-8.fc26.s390x
dbus-python-1.2.4-6.fc26.s390x
gts-0.7.6-30.20121130.fc26.s390x
libfdisk-2.30.2-1.fc26.s390x
python3-pycparser-2.14-10.fc26.noarch
python3-bugzilla-2.1.0-1.fc26.noarch
python2-docutils-0.13.1-4.fc26.noarch
pytz-2016.10-4.fc26.noarch
python2-requests-2.13.0-1.fc26.noarch
libcephfs-devel-10.2.7-2.fc26.s390x
ncurses-c++-libs-6.0-8.20170212.fc26.s390x
GeoIP-1.6.11-1.fc26.s390x
liblockfile-1.09-5.fc26.s390x
rpm-plugin-selinux-4.13.0.2-1.fc26.s390x
systemtap-devel-3.2-2.fc26.s390x
libsysfs-2.1.0-20.fc26.s390x
libdnf-0.11.1-1.fc26.s390x
libgfortran-7.2.1-2.fc26.s390x
mesa-libgbm-17.2.4-2.fc26.s390x
dracut-046-3.1.fc26.s390x
lvm2-libs-2.02.168-6.fc26.s390x
libXfixes-5.0.3-2.fc26.s390x
brlapi-0.6.6-5.fc26.s390x
texlive-metafont-svn40793-33.fc26.2.noarch
texlive-graphics-cfg-svn40269-33.fc26.2.noarch
texlive-mptopdf-svn41282-33.fc26.2.noarch
texlive-makeindex-bin-svn40473-33.20160520.fc26.2.s390x
texlive-texlive-scripts-bin-svn29741.0-33.20160520.fc26.2.noarch
texlive-sauerj-svn15878.0-33.fc26.2.noarch
texlive-txfonts-svn15878.0-33.fc26.2.noarch
texlive-filecontents-svn24250.1.3-33.fc26.2.noarch
texlive-lualibs-svn40370-33.fc26.2.noarch
texlive-section-svn20180.0-33.fc26.2.noarch
texlive-ucharcat-svn38907-33.fc26.2.noarch
texlive-hyperref-svn41396-33.fc26.2.noarch
texlive-pst-3d-svn17257.1.10-33.fc26.2.noarch
texlive-oberdiek-svn41346-33.fc26.2.noarch
texlive-ae-svn15878.1.4-33.fc26.2.noarch
texlive-collection-basic-svn41149-33.20160520.fc26.2.noarch
gnat-srpm-macros-4-2.fc26.noarch
glib2-devel-2.52.3-2.fc26.s390x
netpbm-progs-10.80.00-2.fc26.s390x
libXxf86vm-devel-1.1.4-4.fc26.s390x
nettle-devel-3.3-2.fc26.s390x
cairo-gobject-devel-1.14.10-1.fc26.s390x
fedora-rpm-macros-26-2.fc26.noarch
elfutils-devel-0.169-1.fc26.s390x
libidn-devel-1.33-2.fc26.s390x
s390utils-1.36.1-3.fc26.s390x
gcc-gfortran-7.2.1-2.fc26.s390x
libtool-2.4.6-17.fc26.s390x
python3-cssselect-0.9.2-4.fc26.noarch
python2-cssselect-0.9.2-4.fc26.noarch
bison-3.0.4-6.fc26.s390x
rootfiles-8.1-20.fc26.noarch
git-core-doc-2.13.6-2.fc26.s390x
vim-enhanced-8.0.1360-1.fc26.s390x
glusterfs-3.10.8-1.fc26.s390x
boost-system-1.63.0-10.fc26.s390x
gnutls-dane-3.5.16-4.fc26.s390x
pkgconf-m4-1.3.12-1.fc26.noarch
libcurl-devel-7.53.1-13.fc26.s390x
python3-urllib3-1.20-2.fc26.noarch
libsss_autofs-1.16.0-4.fc26.s390x
=== TEST BEGIN ===
Using CC: /home/fam/bin/cc
Install prefix    /var/tmp/patchew-tester-tmp-m12oo9fc/src/install
BIOS directory    /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/share/qemu
firmware path     /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/share/qemu-firmware
binary directory  /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/bin
library directory /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/lib
module directory  /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/include
config directory  /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/etc
local state directory   /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/var
Manual directory  /var/tmp/patchew-tester-tmp-m12oo9fc/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /var/tmp/patchew-tester-tmp-m12oo9fc/src
GIT binary        git
GIT submodules    ui/keycodemapdb capstone
C compiler        /home/fam/bin/cc
Host C compiler   cc
C++ compiler      c++
Objective-C compiler /home/fam/bin/cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1   -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DNCURSES_WIDECHAR -D_GNU_SOURCE -D_DEFAULT_SOURCE  -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1     -I/usr/include/libpng16  -I/usr/include/libdrm   -I$(SRC_PATH)/capstone/include
LDFLAGS           -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          s390x
host big endian   yes
target list       aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64_be-linux-user aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hppa-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (2.0.7)
GTK support       yes (3.22.21)
GTK GL support    yes
VTE support       yes (0.48.4)
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    yes
virgl support     yes
curl support      yes
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    yes
Multipath support no
VNC support       yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    yes
bluez  support    yes
Documentation     yes
PIE               no
vde support       no
netmap support    no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support yes
RDMA support      no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends    log
spice support     no 
rbd support       yes
xfsctl support    no
smartcard support yes
libusb            yes
usb net redir     yes
OpenGL support    yes
OpenGL dmabufs    yes
libiscsi support  yes
libnfs support    yes
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   yes
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support yes
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
TPM emulator      yes
QOM debugging     yes
Live block migration yes
lzo support       yes
snappy support    yes
bzip2 support     yes
NUMA host support no
libxml2           yes
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
VxHS block device no
capstone          git
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak.tmp
  GEN     arm-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak
  GEN     alpha-softmmu/config-devices.mak
  GEN     arm-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak.tmp
  GEN     lm32-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak
  GEN     m68k-softmmu/config-devices.mak.tmp
  GEN     microblazeel-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak
  GEN     lm32-softmmu/config-devices.mak
  GEN     microblaze-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak.tmp
  GEN     mips64-softmmu/config-devices.mak.tmp
  GEN     microblazeel-softmmu/config-devices.mak
  GEN     mipsel-softmmu/config-devices.mak.tmp
  GEN     microblaze-softmmu/config-devices.mak
  GEN     mips-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak
  GEN     mips64-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak.tmp
  GEN     mipsel-softmmu/config-devices.mak
  GEN     mips-softmmu/config-devices.mak
  GEN     or1k-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak
  GEN     ppc64-softmmu/config-devices.mak.tmp
  GEN     moxie-softmmu/config-devices.mak
  GEN     ppcemb-softmmu/config-devices.mak.tmp
  GEN     ppc-softmmu/config-devices.mak.tmp
  GEN     or1k-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak.tmp
  GEN     s390x-softmmu/config-devices.mak
  GEN     ppc64-softmmu/config-devices.mak
  GEN     sh4eb-softmmu/config-devices.mak.tmp
  GEN     ppcemb-softmmu/config-devices.mak
  GEN     ppc-softmmu/config-devices.mak
  GEN     sh4-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak.tmp
  GEN     sparc-softmmu/config-devices.mak.tmp
  GEN     sh4eb-softmmu/config-devices.mak
  GEN     sparc-softmmu/config-devices.mak
  GEN     tricore-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak
  GEN     sh4-softmmu/config-devices.mak
  GEN     unicore32-softmmu/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     xtensaeb-softmmu/config-devices.mak.tmp
  GEN     tricore-softmmu/config-devices.mak
  GEN     unicore32-softmmu/config-devices.mak
  GEN     xtensa-softmmu/config-devices.mak.tmp
  GEN     xtensaeb-softmmu/config-devices.mak
  GEN     aarch64_be-linux-user/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak
  GEN     aarch64-linux-user/config-devices.mak.tmp
  GEN     xtensa-softmmu/config-devices.mak
  GEN     alpha-linux-user/config-devices.mak.tmp
  GEN     aarch64_be-linux-user/config-devices.mak
  GEN     armeb-linux-user/config-devices.mak.tmp
  GEN     aarch64-linux-user/config-devices.mak
  GEN     arm-linux-user/config-devices.mak.tmp
  GEN     cris-linux-user/config-devices.mak.tmp
  GEN     armeb-linux-user/config-devices.mak
  GEN     alpha-linux-user/config-devices.mak
  GEN     hppa-linux-user/config-devices.mak.tmp
  GEN     arm-linux-user/config-devices.mak
  GEN     cris-linux-user/config-devices.mak
  GEN     i386-linux-user/config-devices.mak.tmp
  GEN     m68k-linux-user/config-devices.mak.tmp
  GEN     microblazeel-linux-user/config-devices.mak.tmp
  GEN     hppa-linux-user/config-devices.mak
  GEN     microblaze-linux-user/config-devices.mak.tmp
  GEN     i386-linux-user/config-devices.mak
  GEN     m68k-linux-user/config-devices.mak
  GEN     mips64el-linux-user/config-devices.mak.tmp
  GEN     microblaze-linux-user/config-devices.mak
  GEN     microblazeel-linux-user/config-devices.mak
  GEN     mips64-linux-user/config-devices.mak.tmp
  GEN     mipsel-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak.tmp
  GEN     mips64-linux-user/config-devices.mak
  GEN     mips64el-linux-user/config-devices.mak
  GEN     mipsn32el-linux-user/config-devices.mak.tmp
  GEN     mipsel-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak
  GEN     nios2-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak.tmp
  GEN     mipsn32el-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak
  GEN     ppc64abi32-linux-user/config-devices.mak.tmp
  GEN     ppc64le-linux-user/config-devices.mak.tmp
  GEN     nios2-linux-user/config-devices.mak
  GEN     or1k-linux-user/config-devices.mak
  GEN     ppc64-linux-user/config-devices.mak.tmp
  GEN     ppc-linux-user/config-devices.mak.tmp
  GEN     ppc64abi32-linux-user/config-devices.mak
  GEN     s390x-linux-user/config-devices.mak.tmp
  GEN     ppc64-linux-user/config-devices.mak
  GEN     ppc64le-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak
  GEN     sh4eb-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak.tmp
  GEN     sparc32plus-linux-user/config-devices.mak.tmp
  GEN     s390x-linux-user/config-devices.mak
  GEN     sparc64-linux-user/config-devices.mak.tmp
  GEN     sh4eb-linux-user/config-devices.mak
  GEN     sh4-linux-user/config-devices.mak
  GEN     sparc64-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak.tmp
  GEN     tilegx-linux-user/config-devices.mak.tmp
  GEN     x86_64-linux-user/config-devices.mak.tmp
  GEN     sparc32plus-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak
  GEN     config-host.h
  GEN     x86_64-linux-user/config-devices.mak
  GEN     tilegx-linux-user/config-devices.mak
  GIT     ui/keycodemapdb capstone
  GEN     qemu-options.def
  GEN     qmp-commands.h
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qapi-event.h
  GEN     qmp-marshal.c
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 'capstone'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
  GEN     tests/test-qapi-types.h
Cloning into '/var/tmp/patchew-tester-tmp-m12oo9fc/src/capstone'...
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
Cloning into '/var/tmp/patchew-tester-tmp-m12oo9fc/src/ui/keycodemapdb'...
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  CC      cs.o
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  CC      utils.o
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  CC      SStream.o
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  CC      MCInstrDesc.o
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  CC      MCRegisterInfo.o
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  CC      arch/ARM/ARMDisassembler.o
  CC      arch/ARM/ARMInstPrinter.o
  CC      arch/ARM/ARMMapping.o
  CC      arch/ARM/ARMModule.o
  CC      arch/AArch64/AArch64BaseInfo.o
  CC      arch/AArch64/AArch64Disassembler.o
  CC      arch/AArch64/AArch64InstPrinter.o
  CC      arch/AArch64/AArch64Mapping.o
  CC      arch/AArch64/AArch64Module.o
  CC      arch/Mips/MipsDisassembler.o
  CC      arch/Mips/MipsInstPrinter.o
  CC      arch/Mips/MipsMapping.o
  CC      arch/Mips/MipsModule.o
  CC      arch/PowerPC/PPCDisassembler.o
  CC      arch/PowerPC/PPCInstPrinter.o
  CC      arch/PowerPC/PPCMapping.o
  CC      arch/PowerPC/PPCModule.o
  CC      arch/Sparc/SparcDisassembler.o
  CC      arch/Sparc/SparcInstPrinter.o
  CC      arch/Sparc/SparcMapping.o
  CC      arch/Sparc/SparcModule.o
  CC      arch/SystemZ/SystemZDisassembler.o
  CC      arch/SystemZ/SystemZInstPrinter.o
  CC      arch/SystemZ/SystemZMapping.o
  CC      arch/SystemZ/SystemZModule.o
  CC      arch/SystemZ/SystemZMCTargetDesc.o
  CC      arch/X86/X86DisassemblerDecoder.o
  CC      arch/X86/X86Disassembler.o
  CC      arch/X86/X86IntelInstPrinter.o
  CC      arch/X86/X86ATTInstPrinter.o
  CC      arch/X86/X86Mapping.o
  CC      arch/X86/X86Module.o
  CC      arch/XCore/XCoreDisassembler.o
  CC      arch/XCore/XCoreInstPrinter.o
  CC      arch/XCore/XCoreMapping.o
  CC      arch/XCore/XCoreModule.o
  CC      MCInst.o
  AR      libcapstone.a
ar: creating /var/tmp/patchew-tester-tmp-m12oo9fc/src/build/capstone/libcapstone.a
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     qemu-options.texi
  GEN     docs/version.texi
  GEN     qemu-monitor.texi
  GEN     qemu-img-cmds.texi
  GEN     qemu-monitor-info.texi
  GEN     qemu-img.1
  GEN     qemu-nbd.8
  GEN     qemu-ga.8
  GEN     docs/interop/qemu-qmp-qapi.texi
  GEN     docs/interop/qemu-ga-qapi.texi
  GEN     docs/qemu-block-drivers.7
  GEN     fsdev/virtfs-proxy-helper.1
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qmp-introspect.o
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/aio-posix.o
  CC      util/compatfd.o
  CC      util/event_notifier-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/qemu-openpty.o
  CC      util/qemu-thread-posix.o
  CC      util/memfd.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/cacheinfo.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/qemu-progress.o
  CC      util/keyval.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-ucontext.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/pagesize.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/range.o
  CC      util/stats64.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      ui/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/linux-aio.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/vmgenid.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  CC      qemu-keymap.o
  CC      ui/input-keymap.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/linux-aio.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/iscsi-opts.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      scsi/pr-manager.o
  CC      scsi/pr-manager-helper.o
  CC      block/iscsi.o
  CC      block/nfs.o
  CC      block/curl.o
  CC      block/rbd.o
  CC      block/gluster.o
  CC      block/ssh.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hash-nettle.o
  CC      crypto/hmac.o
  CC      crypto/hmac-nettle.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-gnutls.o
  CC      crypto/pbkdf.o
  CC      crypto/pbkdf-nettle.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      fsdev/virtfs-proxy-helper.o
  CC      fsdev/9p-marshal.o
  CC      fsdev/9p-iov-marshal.o
  CC      scsi/qemu-pr-helper.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      vl.o
  CC      tpm.o
  CC      qemu-seccomp.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/ossaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/rng-random.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      chardev/baum.o
  CC      disas/alpha.o
  CC      disas/arm.o
  CXX     disas/arm-a64.o
  CC      disas/cris.o
  CC      disas/hppa.o
  CC      disas/i386.o
  CC      disas/m68k.o
  CC      disas/microblaze.o
  CC      disas/mips.o
  CC      disas/nios2.o
  CC      disas/moxie.o
  CC      disas/ppc.o
  CC      disas/s390.o
  CC      disas/sh4.o
  CC      disas/sparc.o
  CC      disas/lm32.o
  CC      disas/xtensa.o
  CXX     disas/libvixl/vixl/utils.o
  CXX     disas/libvixl/vixl/compiler-intrinsics.o
  CXX     disas/libvixl/vixl/a64/instructions-a64.o
  CXX     disas/libvixl/vixl/a64/decoder-a64.o
  CXX     disas/libvixl/vixl/a64/disasm-a64.o
  CC      fsdev/qemu-fsdev.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-throttle.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      hw/9pfs/9p.o
  CC      hw/9pfs/9p-util.o
  CC      hw/9pfs/9p-local.o
  CC      hw/9pfs/9p-xattr.o
  CC      hw/9pfs/9p-xattr-user.o
  CC      hw/9pfs/9p-posix-acl.o
  CC      hw/9pfs/coth.o
  CC      hw/9pfs/cofs.o
  CC      hw/9pfs/codir.o
  CC      hw/9pfs/cofile.o
  CC      hw/9pfs/coxattr.o
  CC      hw/9pfs/9p-synth.o
  CC      hw/9pfs/9p-handle.o
  CC      hw/9pfs/9p-proxy.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/cs4231.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/milkymist-ac97.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/escc.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/xilinx_uartlite.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/etraxfs_ser.o
  CC      hw/char/debugcon.o
  CC      hw/char/grlib_apbuart.o
  CC      hw/char/imx_serial.o
  CC      hw/char/lm32_juart.o
  CC      hw/char/lm32_uart.o
  CC      hw/char/milkymist-uart.o
  CC      hw/char/sclpconsole.o
  CC      hw/char/sclpconsole-lm.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/nmi.o
  CC      hw/core/empty_slot.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/loader-fit.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/register.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/cpu/core.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/g364fb.o
  CC      hw/display/jazz_led.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vga-isa-mm.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/milkymist-vgafb.o
  CC      hw/display/tc6393xb.o
  CC      hw/display/milkymist-tmu2.o
  CC      hw/dma/puv3_dma.o
  CC      hw/dma/rc4030.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/i82374.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/dma/etraxfs_dma.o
  CC      hw/dma/sparc32_dma.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/puv3_gpio.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/mpc8xxx.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/cmd646.o
  CC      hw/ide/macio.o
  CC      hw/ide/mmio.o
  CC      hw/ide/via.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/ide/sii3112.o
  CC      hw/input/adb.o
  CC      hw/input/adb-mouse.o
  CC      hw/input/adb-kbd.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/heathrow_pic.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/puv3_intc.o
  CC      hw/intc/xilinx_intc.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/etraxfs_pic.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/lm32_pic.o
  CC      hw/intc/slavio_intctl.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/openpic.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/isa/i82378.o
  CC      hw/isa/pc87312.o
  CC      hw/isa/piix4.o
  CC      hw/isa/vt82c686.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/misc/puv3_pm.o
  CC      hw/misc/macio/macio.o
  CC      hw/misc/macio/cuda.o
  CC      hw/misc/macio/mac_dbdma.o
  CC      hw/net/dp8393x.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/opencores_eth.o
  CC      hw/net/xgmac.o
  CC      hw/net/mipsnet.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/lance.o
  CC      hw/net/sunhme.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/sungem.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/ds1225y.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/nvram/mac_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-bridge/dec.o
  CC      hw/pci-bridge/simba.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/prep.o
  CC      hw/pci-host/grackle.o
  CC      hw/pci-host/uninorth.o
  CC      hw/pci-host/ppce500.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/sabre.o
  CC      hw/pci-host/bonito.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci-host/xilinx-pcie.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/m48t59.o
  CC      hw/timer/m48t59-isa.o
  CC      hw/timer/pl031.o
  CC      hw/timer/puv3_ost.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/xilinx_timer.o
  CC      hw/timer/slavio_timer.o
  CC      hw/timer/etraxfs_timer.o
  CC      hw/timer/grlib_gptimer.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/lm32_timer.o
  CC      hw/timer/milkymist-sysctl.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/sun4v-rtc.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/tpm/tpm_emulator.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/ccid-card-passthru.o
  CC      hw/usb/ccid-card-emulated.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/redirect.o
  CC      hw/usb/quirks.o
  CC      hw/usb/host-libusb.o
  CC      hw/usb/host-stub.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_diag288.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/savevm.o
  CC      migration/colo-comm.o
  CC      migration/colo.o
  CC      migration/colo-failover.o
  CC      migration/vmstate.o
  CC      migration/vmstate-types.o
  CC      migration/page_cache.o
  CC      migration/qemu-file.o
  CC      migration/global_state.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap.o
  CC      net/tap-linux.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/cursor.o
  CC      ui/console.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/sdl2.o
  CC      ui/sdl2-input.o
  CC      ui/sdl2-2d.o
  CC      ui/sdl2-gl.o
  CC      ui/curses.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-auth-sasl.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      ui/x_keymap.o
  VERT    ui/shader/texture-blit-vert.h
  VERT    ui/shader/texture-blit-flip-vert.h
  FRAG    ui/shader/texture-blit-frag.h
  CC      ui/console-gl.o
  CC      ui/egl-helpers.o
  CC      ui/egl-context.o
  CC      ui/egl-headless.o
  CC      ui/gtk-gl-area.o
  CC      chardev/char.o
  CC      chardev/char-fd.o
  CC      chardev/char-fe.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
  CCAS    s390-ccw/start.o
  CC      s390-ccw/main.o
  CC      s390-ccw/bootmap.o
  LINK    tests/qemu-iotests/socket_scm_helper
  GEN     qemu-doc.html
  GEN     qemu-doc.txt
  GEN     qemu.1
  CC      s390-ccw/sclp.o
  CC      s390-ccw/virtio.o
  CC      s390-ccw/virtio-scsi.o
  CC      s390-ccw/virtio-blkdev.o
  GEN     docs/interop/qemu-qmp-ref.html
s390-netboot.img not built since roms/SLOF/ is not available.
  BUILD   s390-ccw/s390-ccw.elf
  STRIP   s390-ccw/s390-ccw.img
  GEN     docs/interop/qemu-qmp-ref.txt
  GEN     docs/interop/qemu-qmp-ref.7
  GEN     docs/interop/qemu-ga-ref.html
  GEN     docs/interop/qemu-ga-ref.txt
  GEN     docs/interop/qemu-ga-ref.7
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
  CC      qga/qapi-generated/qga-qapi-types.o
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  AR      libqemuutil.a
  CC      qemu-img.o
  CC      ui/shader.o
  LINK    qemu-keymap
  LINK    ivshmem-client
  LINK    ivshmem-server
  LINK    qemu-nbd
  LINK    qemu-io
  LINK    fsdev/virtfs-proxy-helper
  LINK    scsi/qemu-pr-helper
  LINK    qemu-bridge-helper
  GEN     alpha-softmmu/hmp-commands.h
  GEN     alpha-softmmu/hmp-commands-info.h
  GEN     alpha-softmmu/config-target.h
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/config-target.h
  GEN     cris-softmmu/hmp-commands.h
  CC      alpha-softmmu/exec.o
  CC      aarch64-softmmu/exec.o
  GEN     cris-softmmu/hmp-commands-info.h
  GEN     arm-softmmu/hmp-commands.h
  GEN     cris-softmmu/config-target.h
  GEN     arm-softmmu/hmp-commands-info.h
  GEN     arm-softmmu/config-target.h
  CC      arm-softmmu/exec.o
  CC      cris-softmmu/exec.o
  CC      alpha-softmmu/tcg/tcg.o
  CC      arm-softmmu/tcg/tcg.o
  CC      cris-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      alpha-softmmu/tcg/tcg-op.o
  CC      cris-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/tcg/tcg-op.o
  CC      cris-softmmu/tcg/optimize.o
  CC      alpha-softmmu/tcg/optimize.o
  CC      cris-softmmu/tcg/tcg-common.o
  CC      arm-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      cris-softmmu/fpu/softfloat.o
  CC      alpha-softmmu/tcg/tcg-common.o
  CC      alpha-softmmu/fpu/softfloat.o
  CC      arm-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      arm-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      cris-softmmu/disas.o
  CC      cris-softmmu/arch_init.o
  CC      alpha-softmmu/disas.o
  CC      cris-softmmu/cpus.o
  CC      arm-softmmu/disas.o
  CC      aarch64-softmmu/disas.o
  CC      cris-softmmu/monitor.o
  CC      alpha-softmmu/arch_init.o
  GEN     arm-softmmu/gdbstub-xml.c
  CC      alpha-softmmu/cpus.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      arm-softmmu/arch_init.o
  CC      arm-softmmu/cpus.o
  CC      aarch64-softmmu/arch_init.o
  CC      alpha-softmmu/monitor.o
  CC      arm-softmmu/monitor.o
  CC      aarch64-softmmu/cpus.o
  CC      cris-softmmu/gdbstub.o
  CC      aarch64-softmmu/monitor.o
  CC      alpha-softmmu/gdbstub.o
  CC      arm-softmmu/gdbstub.o
  CC      cris-softmmu/balloon.o
  CC      cris-softmmu/ioport.o
  CC      arm-softmmu/balloon.o
  CC      alpha-softmmu/balloon.o
  CC      arm-softmmu/ioport.o
  CC      cris-softmmu/numa.o
  CC      aarch64-softmmu/gdbstub.o
  CC      alpha-softmmu/ioport.o
  CC      cris-softmmu/qtest.o
  CC      arm-softmmu/numa.o
  CC      alpha-softmmu/numa.o
  CC      cris-softmmu/memory.o
  CC      aarch64-softmmu/balloon.o
  CC      arm-softmmu/qtest.o
  CC      alpha-softmmu/qtest.o
  CC      aarch64-softmmu/ioport.o
  CC      arm-softmmu/memory.o
  CC      alpha-softmmu/memory.o
  CC      aarch64-softmmu/numa.o
  CC      aarch64-softmmu/qtest.o
  CC      cris-softmmu/memory_mapping.o
  CC      cris-softmmu/dump.o
  CC      arm-softmmu/memory_mapping.o
  CC      aarch64-softmmu/memory.o
  CC      arm-softmmu/dump.o
  CC      cris-softmmu/migration/ram.o
  CC      alpha-softmmu/memory_mapping.o
  CC      arm-softmmu/migration/ram.o
  CC      alpha-softmmu/dump.o
  CC      cris-softmmu/accel/accel.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      cris-softmmu/accel/stubs/hax-stub.o
  CC      alpha-softmmu/migration/ram.o
  CC      cris-softmmu/accel/stubs/hvf-stub.o
  CC      aarch64-softmmu/dump.o
  CC      arm-softmmu/accel/accel.o
  CC      cris-softmmu/accel/stubs/kvm-stub.o
  CC      arm-softmmu/accel/stubs/hax-stub.o
  CC      cris-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/migration/ram.o
  CC      arm-softmmu/accel/stubs/hvf-stub.o
  CC      alpha-softmmu/accel/accel.o
  CC      cris-softmmu/accel/tcg/cputlb.o
  CC      arm-softmmu/accel/stubs/kvm-stub.o
  CC      alpha-softmmu/accel/stubs/hax-stub.o
  CC      arm-softmmu/accel/tcg/tcg-all.o
  CC      alpha-softmmu/accel/stubs/hvf-stub.o
  CC      arm-softmmu/accel/tcg/cputlb.o
  CC      alpha-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/accel.o
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      alpha-softmmu/accel/tcg/tcg-all.o
  CC      alpha-softmmu/accel/tcg/cputlb.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      cris-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      cris-softmmu/accel/tcg/cpu-exec.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      arm-softmmu/accel/tcg/tcg-runtime.o
  CC      cris-softmmu/accel/tcg/cpu-exec-common.o
  CC      arm-softmmu/accel/tcg/cpu-exec.o
  CC      cris-softmmu/accel/tcg/translate-all.o
  CC      alpha-softmmu/accel/tcg/tcg-runtime.o
  CC      arm-softmmu/accel/tcg/cpu-exec-common.o
  CC      alpha-softmmu/accel/tcg/cpu-exec.o
  CC      cris-softmmu/accel/tcg/translator.o
  CC      arm-softmmu/accel/tcg/translate-all.o
  CC      cris-softmmu/hw/core/generic-loader.o
  CC      alpha-softmmu/accel/tcg/cpu-exec-common.o
  CC      cris-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      alpha-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      alpha-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/hw/net/etraxfs_eth.o
  CC      arm-softmmu/hw/9pfs/virtio-9p-device.o
  CC      arm-softmmu/hw/adc/stm32f2xx_adc.o
  CC      cris-softmmu/hw/net/vhost_net.o
  CC      alpha-softmmu/hw/9pfs/virtio-9p-device.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      arm-softmmu/hw/block/virtio-blk.o
  CC      cris-softmmu/hw/net/rocker/qmp-norocker.o
  CC      alpha-softmmu/hw/block/virtio-blk.o
  CC      cris-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/hw/block/vhost-user-blk.o
  CC      alpha-softmmu/hw/block/vhost-user-blk.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/block/dataplane/virtio-blk.o
  CC      alpha-softmmu/hw/block/dataplane/virtio-blk.o
  CC      cris-softmmu/hw/vfio/spapr.o
  CC      arm-softmmu/hw/char/exynos4210_uart.o
  CC      aarch64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      alpha-softmmu/hw/char/virtio-serial-bus.o
  CC      cris-softmmu/hw/cris/boot.o
  CC      arm-softmmu/hw/char/omap_uart.o
  CC      arm-softmmu/hw/char/digic-uart.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      cris-softmmu/hw/cris/axis_dev88.o
  CC      alpha-softmmu/hw/core/generic-loader.o
  CC      arm-softmmu/hw/char/stm32f2xx_usart.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      alpha-softmmu/hw/core/null-machine.o
  CC      cris-softmmu/target/cris/translate.o
  CC      arm-softmmu/hw/char/bcm2835_aux.o
  CC      alpha-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/block/vhost-user-blk.o
  CC      arm-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      alpha-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      cris-softmmu/target/cris/op_helper.o
  CC      arm-softmmu/hw/core/null-machine.o
  CC      cris-softmmu/target/cris/helper.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      alpha-softmmu/hw/display/virtio-gpu-3d.o
  CC      arm-softmmu/hw/cpu/arm11mpcore.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      cris-softmmu/target/cris/cpu.o
  CC      arm-softmmu/hw/cpu/realview_mpcore.o
  CC      arm-softmmu/hw/cpu/a9mpcore.o
  CC      alpha-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      cris-softmmu/target/cris/gdbstub.o
  CC      arm-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      cris-softmmu/target/cris/mmu.o
  CC      alpha-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/display/omap_dss.o
  CC      cris-softmmu/target/cris/machine.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      alpha-softmmu/hw/misc/mmio_interface.o
  GEN     trace/generated-helpers.c
  CC      cris-softmmu/trace/control-target.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      alpha-softmmu/hw/net/virtio-net.o
  CC      arm-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      cris-softmmu/trace/generated-helpers.o
  CC      arm-softmmu/hw/display/pxa2xx_lcd.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      alpha-softmmu/hw/net/vhost_net.o
  LINK    cris-softmmu/qemu-system-cris
  CC      alpha-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      alpha-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/display/bcm2835_fb.o
  CC      arm-softmmu/hw/display/vga.o
  CC      alpha-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      alpha-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      alpha-softmmu/hw/scsi/vhost-user-scsi.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      alpha-softmmu/hw/timer/mc146818rtc.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/display/virtio-gpu.o
  CC      alpha-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      arm-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  GEN     i386-softmmu/hmp-commands.h
  GEN     i386-softmmu/hmp-commands-info.h
  GEN     i386-softmmu/config-target.h
  CC      i386-softmmu/exec.o
  CC      arm-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      arm-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      arm-softmmu/hw/dma/soc_dma.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      arm-softmmu/hw/dma/pxa2xx_dma.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      arm-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      i386-softmmu/tcg/tcg.o
  CC      arm-softmmu/hw/gpio/omap_gpio.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      arm-softmmu/hw/gpio/imx_gpio.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      arm-softmmu/hw/gpio/bcm2835_gpio.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
  CC      arm-softmmu/hw/i2c/omap_i2c.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      arm-softmmu/hw/input/pxa2xx_keypad.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      arm-softmmu/hw/input/tsc210x.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
  CC      i386-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      arm-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      arm-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      arm-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      i386-softmmu/tcg/optimize.o
  CC      arm-softmmu/hw/intc/bcm2835_ic.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      arm-softmmu/hw/intc/bcm2836_control.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      arm-softmmu/hw/intc/allwinner-a10-pic.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      i386-softmmu/tcg/tcg-common.o
  CC      arm-softmmu/hw/intc/aspeed_vic.o
  CC      i386-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      arm-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      arm-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/misc/arm_sysctl.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      arm-softmmu/hw/misc/cbus.o
  CC      aarch64-softmmu/hw/misc/cbus.o
  CC      arm-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      arm-softmmu/hw/misc/exynos4210_clk.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      arm-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      i386-softmmu/disas.o
  CC      arm-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      arm-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  GEN     i386-softmmu/gdbstub-xml.c
  CC      i386-softmmu/arch_init.o
  CC      arm-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      i386-softmmu/cpus.o
  CC      arm-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      arm-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      arm-softmmu/hw/misc/mst_fpga.o
  CC      i386-softmmu/monitor.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      arm-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      arm-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      arm-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      arm-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      arm-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      arm-softmmu/hw/misc/bcm2835_mbox.o
  CC      i386-softmmu/gdbstub.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      arm-softmmu/hw/misc/bcm2835_property.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      arm-softmmu/hw/misc/bcm2835_rng.o
  CC      i386-softmmu/balloon.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      arm-softmmu/hw/misc/zynq_slcr.o
  CC      i386-softmmu/ioport.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      arm-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      i386-softmmu/numa.o
  CC      arm-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      arm-softmmu/hw/misc/mps2-scc.o
  CC      i386-softmmu/qtest.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      arm-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      arm-softmmu/hw/misc/aspeed_sdmc.o
  CC      i386-softmmu/memory.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      arm-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      arm-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      arm-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      i386-softmmu/memory_mapping.o
  CC      arm-softmmu/hw/net/vhost_net.o
  CC      i386-softmmu/dump.o
  CC      arm-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      i386-softmmu/migration/ram.o
  CC      arm-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      i386-softmmu/accel/accel.o
  CC      arm-softmmu/hw/scsi/vhost-user-scsi.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi.o
  CC      i386-softmmu/accel/stubs/hax-stub.o
  CC      arm-softmmu/hw/sd/omap_mmc.o
  CC      aarch64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      i386-softmmu/accel/stubs/hvf-stub.o
  CC      arm-softmmu/hw/sd/pxa2xx_mmci.o
  CC      i386-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/hw/sd/omap_mmc.o
  CC      i386-softmmu/accel/tcg/tcg-all.o
  CC      arm-softmmu/hw/sd/bcm2835_sdhost.o
  CC      aarch64-softmmu/hw/sd/pxa2xx_mmci.o
  CC      i386-softmmu/accel/tcg/cputlb.o
  CC      arm-softmmu/hw/ssi/omap_spi.o
  CC      aarch64-softmmu/hw/sd/bcm2835_sdhost.o
  CC      arm-softmmu/hw/ssi/imx_spi.o
  CC      aarch64-softmmu/hw/ssi/omap_spi.o
  CC      arm-softmmu/hw/timer/exynos4210_mct.o
  CC      aarch64-softmmu/hw/ssi/imx_spi.o
  CC      aarch64-softmmu/hw/timer/exynos4210_mct.o
  CC      arm-softmmu/hw/timer/exynos4210_pwm.o
  CC      arm-softmmu/hw/timer/exynos4210_rtc.o
  CC      aarch64-softmmu/hw/timer/exynos4210_pwm.o
  CC      arm-softmmu/hw/timer/omap_gptimer.o
  CC      aarch64-softmmu/hw/timer/exynos4210_rtc.o
  CC      i386-softmmu/accel/tcg/tcg-runtime.o
  CC      arm-softmmu/hw/timer/omap_synctimer.o
  CC      aarch64-softmmu/hw/timer/omap_gptimer.o
  CC      i386-softmmu/accel/tcg/cpu-exec.o
  CC      arm-softmmu/hw/timer/pxa2xx_timer.o
  CC      aarch64-softmmu/hw/timer/omap_synctimer.o
  CC      i386-softmmu/accel/tcg/cpu-exec-common.o
  CC      arm-softmmu/hw/timer/digic-timer.o
  CC      aarch64-softmmu/hw/timer/pxa2xx_timer.o
  CC      i386-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/hw/timer/allwinner-a10-pit.o
  CC      aarch64-softmmu/hw/timer/digic-timer.o
  CC      arm-softmmu/hw/usb/tusb6010.o
  CC      aarch64-softmmu/hw/timer/allwinner-a10-pit.o
  CC      i386-softmmu/accel/tcg/translator.o
  CC      arm-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/usb/tusb6010.o
  CC      i386-softmmu/hw/9pfs/virtio-9p-device.o
  CC      aarch64-softmmu/hw/vfio/common.o
  CC      i386-softmmu/hw/block/virtio-blk.o
  CC      arm-softmmu/hw/vfio/pci.o
  CC      aarch64-softmmu/hw/vfio/pci.o
  CC      i386-softmmu/hw/block/vhost-user-blk.o
  CC      i386-softmmu/hw/block/dataplane/virtio-blk.o
  CC      arm-softmmu/hw/vfio/pci-quirks.o
  CC      i386-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/vfio/pci-quirks.o
  CC      i386-softmmu/hw/core/generic-loader.o
  CC      arm-softmmu/hw/vfio/platform.o
  CC      i386-softmmu/hw/core/null-machine.o
  CC      i386-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/vfio/calxeda-xgmac.o
  CC      arm-softmmu/hw/vfio/amd-xgbe.o
  CC      aarch64-softmmu/hw/vfio/calxeda-xgmac.o
  CC      arm-softmmu/hw/vfio/spapr.o
  CC      aarch64-softmmu/hw/vfio/amd-xgbe.o
  CC      arm-softmmu/hw/virtio/virtio.o
  CC      aarch64-softmmu/hw/vfio/spapr.o
  CC      i386-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/virtio/virtio.o
  CC      arm-softmmu/hw/virtio/virtio-balloon.o
  CC      i386-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/virtio/virtio-balloon.o
  CC      arm-softmmu/hw/virtio/vhost.o
  CC      i386-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/virtio/vhost.o
  CC      arm-softmmu/hw/virtio/vhost-backend.o
  CC      i386-softmmu/hw/display/virtio-vga.o
  CC      arm-softmmu/hw/virtio/vhost-user.o
  CC      aarch64-softmmu/hw/virtio/vhost-backend.o
  CC      i386-softmmu/hw/intc/apic.o
  CC      aarch64-softmmu/hw/virtio/vhost-user.o
  CC      arm-softmmu/hw/virtio/vhost-vsock.o
  CC      i386-softmmu/hw/intc/apic_common.o
  CC      aarch64-softmmu/hw/virtio/vhost-vsock.o
  CC      arm-softmmu/hw/virtio/virtio-crypto.o
  CC      i386-softmmu/hw/intc/ioapic.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto.o
  CC      arm-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      i386-softmmu/hw/isa/lpc_ich9.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      arm-softmmu/hw/arm/boot.o
  CC      i386-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/arm/boot.o
  CC      arm-softmmu/hw/arm/collie.o
  CC      i386-softmmu/hw/misc/pvpanic.o
  CC      aarch64-softmmu/hw/arm/collie.o
  CC      arm-softmmu/hw/arm/exynos4_boards.o
  CC      i386-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/arm/exynos4_boards.o
  CC      arm-softmmu/hw/arm/gumstix.o
  CC      i386-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/arm/gumstix.o
  CC      arm-softmmu/hw/arm/highbank.o
  CC      aarch64-softmmu/hw/arm/highbank.o
  CC      arm-softmmu/hw/arm/digic_boards.o
  CC      aarch64-softmmu/hw/arm/digic_boards.o
  CC      arm-softmmu/hw/arm/integratorcp.o
  CC      i386-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/arm/integratorcp.o
  CC      i386-softmmu/hw/scsi/virtio-scsi.o
  CC      arm-softmmu/hw/arm/mainstone.o
  CC      aarch64-softmmu/hw/arm/mainstone.o
  CC      arm-softmmu/hw/arm/musicpal.o
  CC      i386-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/arm/musicpal.o
  CC      i386-softmmu/hw/scsi/vhost-scsi-common.o
  CC      arm-softmmu/hw/arm/nseries.o
  CC      i386-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/arm/nseries.o
  CC      i386-softmmu/hw/scsi/vhost-user-scsi.o
  CC      i386-softmmu/hw/timer/mc146818rtc.o
  CC      arm-softmmu/hw/arm/omap_sx1.o
  CC      aarch64-softmmu/hw/arm/omap_sx1.o
  CC      arm-softmmu/hw/arm/palm.o
  CC      i386-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/arm/palm.o
  CC      arm-softmmu/hw/arm/realview.o
  CC      aarch64-softmmu/hw/arm/realview.o
  CC      i386-softmmu/hw/vfio/pci.o
  CC      arm-softmmu/hw/arm/spitz.o
  CC      aarch64-softmmu/hw/arm/spitz.o
  CC      arm-softmmu/hw/arm/stellaris.o
  CC      aarch64-softmmu/hw/arm/stellaris.o
  CC      i386-softmmu/hw/vfio/pci-quirks.o
  CC      arm-softmmu/hw/arm/tosa.o
  CC      aarch64-softmmu/hw/arm/tosa.o
  CC      arm-softmmu/hw/arm/versatilepb.o
  CC      aarch64-softmmu/hw/arm/versatilepb.o
  CC      arm-softmmu/hw/arm/vexpress.o
  CC      i386-softmmu/hw/vfio/platform.o
  CC      aarch64-softmmu/hw/arm/vexpress.o
  CC      i386-softmmu/hw/vfio/spapr.o
  CC      arm-softmmu/hw/arm/virt.o
  CC      aarch64-softmmu/hw/arm/virt.o
  CC      i386-softmmu/hw/virtio/virtio.o
  CC      arm-softmmu/hw/arm/xilinx_zynq.o
  CC      aarch64-softmmu/hw/arm/xilinx_zynq.o
  CC      arm-softmmu/hw/arm/z2.o
  CC      i386-softmmu/hw/virtio/virtio-balloon.o
  CC      aarch64-softmmu/hw/arm/z2.o
  CC      arm-softmmu/hw/arm/virt-acpi-build.o
  CC      i386-softmmu/hw/virtio/vhost.o
  CC      aarch64-softmmu/hw/arm/virt-acpi-build.o
  CC      arm-softmmu/hw/arm/netduino2.o
  CC      arm-softmmu/hw/arm/sysbus-fdt.o
  CC      aarch64-softmmu/hw/arm/netduino2.o
  CC      i386-softmmu/hw/virtio/vhost-backend.o
  CC      aarch64-softmmu/hw/arm/sysbus-fdt.o
  CC      arm-softmmu/hw/arm/armv7m.o
  CC      i386-softmmu/hw/virtio/vhost-user.o
  CC      aarch64-softmmu/hw/arm/armv7m.o
  CC      arm-softmmu/hw/arm/exynos4210.o
  CC      i386-softmmu/hw/virtio/vhost-vsock.o
  CC      aarch64-softmmu/hw/arm/exynos4210.o
  CC      arm-softmmu/hw/arm/pxa2xx.o
  CC      i386-softmmu/hw/virtio/virtio-crypto.o
  CC      aarch64-softmmu/hw/arm/pxa2xx.o
  CC      i386-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      arm-softmmu/hw/arm/pxa2xx_gpio.o
  CC      i386-softmmu/hw/i386/multiboot.o
  CC      arm-softmmu/hw/arm/pxa2xx_pic.o
  CC      i386-softmmu/hw/i386/pc.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_gpio.o
  CC      arm-softmmu/hw/arm/digic.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_pic.o
  CC      arm-softmmu/hw/arm/omap1.o
  CC      aarch64-softmmu/hw/arm/digic.o
  CC      aarch64-softmmu/hw/arm/omap1.o
  CC      i386-softmmu/hw/i386/pc_piix.o
  CC      i386-softmmu/hw/i386/pc_q35.o
  CC      arm-softmmu/hw/arm/omap2.o
  CC      i386-softmmu/hw/i386/pc_sysfw.o
  CC      aarch64-softmmu/hw/arm/omap2.o
  CC      i386-softmmu/hw/i386/x86-iommu.o
  CC      arm-softmmu/hw/arm/strongarm.o
  CC      i386-softmmu/hw/i386/intel_iommu.o
  CC      aarch64-softmmu/hw/arm/strongarm.o
  CC      arm-softmmu/hw/arm/allwinner-a10.o
  CC      arm-softmmu/hw/arm/cubieboard.o
  CC      aarch64-softmmu/hw/arm/allwinner-a10.o
  CC      arm-softmmu/hw/arm/bcm2835_peripherals.o
  CC      aarch64-softmmu/hw/arm/cubieboard.o
  CC      i386-softmmu/hw/i386/amd_iommu.o
  CC      aarch64-softmmu/hw/arm/bcm2835_peripherals.o
  CC      arm-softmmu/hw/arm/bcm2836.o
  CC      aarch64-softmmu/hw/arm/bcm2836.o
  CC      i386-softmmu/hw/i386/vmport.o
  CC      arm-softmmu/hw/arm/raspi.o
  CC      i386-softmmu/hw/i386/vmmouse.o
  CC      aarch64-softmmu/hw/arm/raspi.o
  CC      arm-softmmu/hw/arm/stm32f205_soc.o
  CC      i386-softmmu/hw/i386/kvmvapic.o
  CC      arm-softmmu/hw/arm/fsl-imx25.o
  CC      aarch64-softmmu/hw/arm/stm32f205_soc.o
  CC      arm-softmmu/hw/arm/imx25_pdk.o
  CC      i386-softmmu/hw/i386/acpi-build.o
  CC      aarch64-softmmu/hw/arm/xlnx-zynqmp.o
  CC      arm-softmmu/hw/arm/fsl-imx31.o
  CC      aarch64-softmmu/hw/arm/xlnx-zcu102.o
  CC      arm-softmmu/hw/arm/kzm.o
  CC      arm-softmmu/hw/arm/fsl-imx6.o
  CC      i386-softmmu/target/i386/helper.o
  CC      aarch64-softmmu/hw/arm/fsl-imx25.o
  CC      arm-softmmu/hw/arm/sabrelite.o
  CC      aarch64-softmmu/hw/arm/imx25_pdk.o
  CC      arm-softmmu/hw/arm/aspeed_soc.o
  CC      i386-softmmu/target/i386/cpu.o
  CC      aarch64-softmmu/hw/arm/fsl-imx31.o
  CC      arm-softmmu/hw/arm/aspeed.o
  CC      aarch64-softmmu/hw/arm/kzm.o
  CC      aarch64-softmmu/hw/arm/fsl-imx6.o
  CC      arm-softmmu/hw/arm/mps2.o
  CC      i386-softmmu/target/i386/gdbstub.o
  CC      arm-softmmu/hw/arm/msf2-soc.o
  CC      aarch64-softmmu/hw/arm/sabrelite.o
  CC      i386-softmmu/target/i386/xsave_helper.o
  CC      arm-softmmu/hw/arm/msf2-som.o
  CC      aarch64-softmmu/hw/arm/aspeed_soc.o
  CC      i386-softmmu/target/i386/translate.o
  CC      arm-softmmu/target/arm/arm-semi.o
  CC      aarch64-softmmu/hw/arm/aspeed.o
  CC      aarch64-softmmu/hw/arm/mps2.o
  CC      arm-softmmu/target/arm/machine.o
  CC      aarch64-softmmu/hw/arm/msf2-soc.o
  CC      arm-softmmu/target/arm/psci.o
  CC      aarch64-softmmu/hw/arm/msf2-som.o
  CC      arm-softmmu/target/arm/arch_dump.o
  CC      aarch64-softmmu/target/arm/arm-semi.o
  CC      arm-softmmu/target/arm/monitor.o
  CC      arm-softmmu/target/arm/kvm-stub.o
  CC      aarch64-softmmu/target/arm/machine.o
  CC      arm-softmmu/target/arm/translate.o
  CC      aarch64-softmmu/target/arm/psci.o
  CC      aarch64-softmmu/target/arm/arch_dump.o
  CC      aarch64-softmmu/target/arm/monitor.o
  CC      aarch64-softmmu/target/arm/kvm-stub.o
  CC      aarch64-softmmu/target/arm/translate.o
  CC      i386-softmmu/target/i386/bpt_helper.o
  CC      i386-softmmu/target/i386/cc_helper.o
  CC      i386-softmmu/target/i386/excp_helper.o
  CC      i386-softmmu/target/i386/fpu_helper.o
  CC      arm-softmmu/target/arm/op_helper.o
  CC      aarch64-softmmu/target/arm/op_helper.o
  CC      arm-softmmu/target/arm/helper.o
  CC      i386-softmmu/target/i386/int_helper.o
  CC      aarch64-softmmu/target/arm/helper.o
  CC      i386-softmmu/target/i386/mem_helper.o
  CC      i386-softmmu/target/i386/misc_helper.o
  CC      i386-softmmu/target/i386/mpx_helper.o
  CC      i386-softmmu/target/i386/seg_helper.o
  CC      arm-softmmu/target/arm/cpu.o
  CC      arm-softmmu/target/arm/neon_helper.o
  CC      aarch64-softmmu/target/arm/cpu.o
  CC      aarch64-softmmu/target/arm/neon_helper.o
  CC      i386-softmmu/target/i386/smm_helper.o
  CC      i386-softmmu/target/i386/svm_helper.o
  CC      arm-softmmu/target/arm/iwmmxt_helper.o
  CC      i386-softmmu/target/i386/machine.o
  CC      aarch64-softmmu/target/arm/iwmmxt_helper.o
  CC      i386-softmmu/target/i386/arch_memory_mapping.o
  CC      arm-softmmu/target/arm/gdbstub.o
  CC      i386-softmmu/target/i386/arch_dump.o
  CC      arm-softmmu/target/arm/crypto_helper.o
  CC      i386-softmmu/target/i386/monitor.o
  CC      arm-softmmu/target/arm/arm-powerctl.o
  CC      aarch64-softmmu/target/arm/gdbstub.o
  CC      i386-softmmu/target/i386/kvm-stub.o
  GEN     trace/generated-helpers.c
  CC      arm-softmmu/trace/control-target.o
  CC      aarch64-softmmu/target/arm/cpu64.o
  GEN     trace/generated-helpers.c
  CC      i386-softmmu/trace/control-target.o
  CC      arm-softmmu/gdbstub-xml.o
  CC      aarch64-softmmu/target/arm/translate-a64.o
  CC      i386-softmmu/gdbstub-xml.o
  CC      arm-softmmu/trace/generated-helpers.o
  CC      i386-softmmu/trace/generated-helpers.o
  LINK    arm-softmmu/qemu-system-arm
  LINK    i386-softmmu/qemu-system-i386
  GEN     lm32-softmmu/hmp-commands.h
  GEN     m68k-softmmu/hmp-commands.h
  GEN     m68k-softmmu/hmp-commands-info.h
  GEN     m68k-softmmu/config-target.h
  CC      m68k-softmmu/exec.o
  CC      m68k-softmmu/tcg/tcg.o
  CC      m68k-softmmu/tcg/tcg-op.o
  CC      m68k-softmmu/tcg/optimize.o
  CC      m68k-softmmu/tcg/tcg-common.o
  CC      m68k-softmmu/fpu/softfloat.o
  CC      m68k-softmmu/disas.o
  GEN     m68k-softmmu/gdbstub-xml.c
  CC      m68k-softmmu/arch_init.o
  CC      m68k-softmmu/cpus.o
  CC      m68k-softmmu/monitor.o
  CC      m68k-softmmu/gdbstub.o
  CC      m68k-softmmu/balloon.o
  CC      m68k-softmmu/ioport.o
  CC      m68k-softmmu/numa.o
  CC      m68k-softmmu/qtest.o
  CC      m68k-softmmu/memory.o
  CC      m68k-softmmu/memory_mapping.o
  CC      m68k-softmmu/dump.o
  CC      m68k-softmmu/migration/ram.o
  CC      m68k-softmmu/accel/accel.o
  CC      m68k-softmmu/accel/stubs/hax-stub.o
  CC      m68k-softmmu/accel/stubs/hvf-stub.o
  CC      m68k-softmmu/accel/stubs/kvm-stub.o
  CC      m68k-softmmu/accel/tcg/tcg-all.o
  CC      m68k-softmmu/accel/tcg/cputlb.o
  CC      m68k-softmmu/accel/tcg/tcg-runtime.o
  CC      m68k-softmmu/accel/tcg/cpu-exec.o
  CC      m68k-softmmu/accel/tcg/cpu-exec-common.o
  CC      m68k-softmmu/accel/tcg/translate-all.o
  CC      m68k-softmmu/accel/tcg/translator.o
  CC      m68k-softmmu/hw/char/mcf_uart.o
  CC      m68k-softmmu/hw/core/generic-loader.o
  CC      m68k-softmmu/hw/core/null-machine.o
  CC      m68k-softmmu/hw/misc/mmio_interface.o
  CC      m68k-softmmu/hw/net/mcf_fec.o
  CC      m68k-softmmu/hw/net/vhost_net.o
  CC      m68k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      m68k-softmmu/hw/vfio/common.o
  CC      m68k-softmmu/hw/vfio/platform.o
  CC      m68k-softmmu/hw/vfio/spapr.o
  CC      m68k-softmmu/hw/m68k/an5206.o
  CC      m68k-softmmu/hw/m68k/mcf5208.o
  CC      m68k-softmmu/hw/m68k/mcf5206.o
  CC      m68k-softmmu/hw/m68k/mcf_intc.o
  CC      m68k-softmmu/target/m68k/m68k-semi.o
  CC      m68k-softmmu/target/m68k/translate.o
  CC      m68k-softmmu/target/m68k/op_helper.o
  CC      m68k-softmmu/target/m68k/helper.o
  CC      m68k-softmmu/target/m68k/cpu.o
  CC      m68k-softmmu/target/m68k/fpu_helper.o
  CC      m68k-softmmu/target/m68k/gdbstub.o
  CC      m68k-softmmu/target/m68k/monitor.o
  GEN     trace/generated-helpers.c
  CC      m68k-softmmu/trace/control-target.o
  CC      m68k-softmmu/gdbstub-xml.o
  CC      m68k-softmmu/trace/generated-helpers.o
  LINK    m68k-softmmu/qemu-system-m68k
  GEN     microblazeel-softmmu/hmp-commands.h
  GEN     microblazeel-softmmu/hmp-commands-info.h
  GEN     microblazeel-softmmu/config-target.h
  CC      microblazeel-softmmu/exec.o
  CC      microblazeel-softmmu/tcg/tcg.o
  CC      microblazeel-softmmu/tcg/tcg-op.o
  CC      microblazeel-softmmu/tcg/optimize.o
  CC      microblazeel-softmmu/tcg/tcg-common.o
  CC      microblazeel-softmmu/fpu/softfloat.o
  CC      microblazeel-softmmu/disas.o
  CC      microblazeel-softmmu/arch_init.o
  CC      microblazeel-softmmu/cpus.o
  CC      microblazeel-softmmu/monitor.o
  CC      microblazeel-softmmu/gdbstub.o
  CC      microblazeel-softmmu/balloon.o
  CC      microblazeel-softmmu/ioport.o
  CC      microblazeel-softmmu/numa.o
  CC      microblazeel-softmmu/qtest.o
  CC      microblazeel-softmmu/memory.o
  CC      microblazeel-softmmu/memory_mapping.o
  CC      microblazeel-softmmu/dump.o
  CC      microblazeel-softmmu/migration/ram.o
  CC      microblazeel-softmmu/accel/accel.o
  CC      microblazeel-softmmu/accel/stubs/hax-stub.o
  CC      microblazeel-softmmu/accel/stubs/hvf-stub.o
  CC      microblazeel-softmmu/accel/stubs/kvm-stub.o
  CC      microblazeel-softmmu/accel/tcg/tcg-all.o
  CC      microblazeel-softmmu/accel/tcg/cputlb.o
  CC      microblazeel-softmmu/accel/tcg/tcg-runtime.o
  CC      microblazeel-softmmu/accel/tcg/cpu-exec.o
  CC      microblazeel-softmmu/accel/tcg/cpu-exec-common.o
  CC      microblazeel-softmmu/accel/tcg/translate-all.o
  CC      microblazeel-softmmu/accel/tcg/translator.o
  CC      microblazeel-softmmu/hw/core/generic-loader.o
  CC      microblazeel-softmmu/hw/core/null-machine.o
  CC      microblazeel-softmmu/hw/dma/xlnx_dpdma.o
  CC      microblazeel-softmmu/hw/misc/mmio_interface.o
  CC      microblazeel-softmmu/hw/net/xilinx_ethlite.o
  CC      microblazeel-softmmu/hw/net/vhost_net.o
  CC      microblazeel-softmmu/hw/net/rocker/qmp-norocker.o
  CC      microblazeel-softmmu/hw/vfio/common.o
  CC      microblazeel-softmmu/hw/vfio/platform.o
  CC      microblazeel-softmmu/hw/vfio/spapr.o
  CC      microblazeel-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
  CC      microblazeel-softmmu/hw/microblaze/petalogix_ml605_mmu.o
  CC      microblazeel-softmmu/hw/microblaze/xlnx-zynqmp-pmu.o
  CC      microblazeel-softmmu/hw/microblaze/boot.o
  CC      microblazeel-softmmu/target/microblaze/translate.o
  CC      microblazeel-softmmu/target/microblaze/op_helper.o
  CC      microblazeel-softmmu/target/microblaze/helper.o
  CC      microblazeel-softmmu/target/microblaze/cpu.o
  CC      microblazeel-softmmu/target/microblaze/gdbstub.o
  CC      microblazeel-softmmu/target/microblaze/mmu.o
  GEN     trace/generated-helpers.c
  CC      microblazeel-softmmu/trace/control-target.o
  CC      microblazeel-softmmu/trace/generated-helpers.o
  LINK    microblazeel-softmmu/qemu-system-microblazeel
  GEN     microblaze-softmmu/hmp-commands.h
  GEN     microblaze-softmmu/hmp-commands-info.h
  GEN     microblaze-softmmu/config-target.h
  CC      microblaze-softmmu/exec.o
  CC      microblaze-softmmu/tcg/tcg.o
  CC      microblaze-softmmu/tcg/tcg-op.o
  CC      microblaze-softmmu/tcg/optimize.o
  CC      microblaze-softmmu/tcg/tcg-common.o
  CC      microblaze-softmmu/fpu/softfloat.o
  CC      microblaze-softmmu/disas.o
  CC      microblaze-softmmu/arch_init.o
  CC      microblaze-softmmu/cpus.o
  CC      microblaze-softmmu/monitor.o
  CC      microblaze-softmmu/gdbstub.o
  CC      microblaze-softmmu/balloon.o
  CC      microblaze-softmmu/ioport.o
  CC      microblaze-softmmu/numa.o
  CC      microblaze-softmmu/qtest.o
  CC      microblaze-softmmu/memory.o
  CC      microblaze-softmmu/memory_mapping.o
  CC      microblaze-softmmu/dump.o
  CC      microblaze-softmmu/migration/ram.o
  CC      microblaze-softmmu/accel/accel.o
  CC      microblaze-softmmu/accel/stubs/hax-stub.o
  CC      microblaze-softmmu/accel/stubs/hvf-stub.o
  CC      microblaze-softmmu/accel/stubs/kvm-stub.o
  CC      microblaze-softmmu/accel/tcg/tcg-all.o
  CC      microblaze-softmmu/accel/tcg/cputlb.o
  CC      microblaze-softmmu/accel/tcg/tcg-runtime.o
  CC      microblaze-softmmu/accel/tcg/cpu-exec.o
  CC      microblaze-softmmu/accel/tcg/cpu-exec-common.o
  CC      microblaze-softmmu/accel/tcg/translate-all.o
  CC      microblaze-softmmu/accel/tcg/translator.o
  CC      microblaze-softmmu/hw/core/generic-loader.o
  CC      microblaze-softmmu/hw/core/null-machine.o
  CC      microblaze-softmmu/hw/dma/xlnx_dpdma.o
  CC      microblaze-softmmu/hw/misc/mmio_interface.o
  CC      microblaze-softmmu/hw/net/xilinx_ethlite.o
  CC      microblaze-softmmu/hw/net/vhost_net.o
  CC      microblaze-softmmu/hw/net/rocker/qmp-norocker.o
  CC      microblaze-softmmu/hw/vfio/common.o
  CC      microblaze-softmmu/hw/vfio/platform.o
  CC      microblaze-softmmu/hw/vfio/spapr.o
  CC      microblaze-softmmu/hw/microblaze/petalogix_s3adsp1800_mmu.o
  CC      microblaze-softmmu/hw/microblaze/petalogix_ml605_mmu.o
  CC      microblaze-softmmu/hw/microblaze/xlnx-zynqmp-pmu.o
  CC      microblaze-softmmu/hw/microblaze/boot.o
  CC      microblaze-softmmu/target/microblaze/translate.o
  CC      microblaze-softmmu/target/microblaze/op_helper.o
  CC      microblaze-softmmu/target/microblaze/helper.o
  CC      microblaze-softmmu/target/microblaze/cpu.o
  CC      microblaze-softmmu/target/microblaze/gdbstub.o
  CC      microblaze-softmmu/target/microblaze/mmu.o
  GEN     trace/generated-helpers.c
  CC      microblaze-softmmu/trace/control-target.o
  CC      microblaze-softmmu/trace/generated-helpers.o
  LINK    microblaze-softmmu/qemu-system-microblaze
  GEN     mips64el-softmmu/hmp-commands.h
  GEN     mips64el-softmmu/hmp-commands-info.h
  GEN     mips64el-softmmu/config-target.h
  CC      mips64el-softmmu/exec.o
  CC      mips64el-softmmu/tcg/tcg.o
  CC      mips64el-softmmu/tcg/tcg-op.o
  CC      mips64el-softmmu/tcg/optimize.o
  CC      mips64el-softmmu/tcg/tcg-common.o
  CC      mips64el-softmmu/fpu/softfloat.o
  CC      mips64el-softmmu/disas.o
  CC      mips64el-softmmu/arch_init.o
  CC      mips64el-softmmu/cpus.o
  CC      mips64el-softmmu/monitor.o
  CC      mips64el-softmmu/gdbstub.o
  CC      mips64el-softmmu/balloon.o
  CC      mips64el-softmmu/ioport.o
  CC      mips64el-softmmu/numa.o
  CC      mips64el-softmmu/qtest.o
  CC      mips64el-softmmu/memory.o
  CC      mips64el-softmmu/memory_mapping.o
  CC      mips64el-softmmu/dump.o
  CC      mips64el-softmmu/migration/ram.o
  CC      mips64el-softmmu/accel/accel.o
  CC      mips64el-softmmu/accel/stubs/hax-stub.o
  CC      mips64el-softmmu/accel/stubs/hvf-stub.o
  CC      mips64el-softmmu/accel/stubs/kvm-stub.o
  CC      mips64el-softmmu/accel/tcg/tcg-all.o
  CC      mips64el-softmmu/accel/tcg/cputlb.o
  CC      mips64el-softmmu/accel/tcg/tcg-runtime.o
  CC      mips64el-softmmu/accel/tcg/cpu-exec.o
  CC      mips64el-softmmu/accel/tcg/cpu-exec-common.o
  CC      mips64el-softmmu/accel/tcg/translate-all.o
  CC      mips64el-softmmu/accel/tcg/translator.o
  CC      mips64el-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64el-softmmu/hw/block/virtio-blk.o
  CC      mips64el-softmmu/hw/block/vhost-user-blk.o
  CC      mips64el-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mips64el-softmmu/hw/char/virtio-serial-bus.o
  CC      mips64el-softmmu/hw/core/generic-loader.o
  CC      mips64el-softmmu/hw/core/null-machine.o
  CC      mips64el-softmmu/hw/display/vga.o
  CC      mips64el-softmmu/hw/display/virtio-gpu.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-pci.o
  CC      mips64el-softmmu/hw/intc/mips_gic.o
  CC      mips64el-softmmu/hw/misc/ivshmem.o
  CC      mips64el-softmmu/hw/misc/mips_cmgcr.o
  CC      mips64el-softmmu/hw/misc/mips_cpc.o
  CC      mips64el-softmmu/hw/misc/mips_itu.o
  CC      mips64el-softmmu/hw/misc/mmio_interface.o
  CC      mips64el-softmmu/hw/net/virtio-net.o
  CC      mips64el-softmmu/hw/net/vhost_net.o
  CC      mips64el-softmmu/hw/scsi/virtio-scsi.o
  CC      mips64el-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mips64el-softmmu/hw/scsi/vhost-scsi-common.o
  CC      mips64el-softmmu/hw/scsi/vhost-scsi.o
  CC      mips64el-softmmu/hw/scsi/vhost-user-scsi.o
  CC      mips64el-softmmu/hw/timer/mips_gictimer.o
  CC      mips64el-softmmu/hw/timer/mc146818rtc.o
  CC      mips64el-softmmu/hw/vfio/common.o
  CC      mips64el-softmmu/hw/vfio/pci.o
  CC      mips64el-softmmu/hw/vfio/pci-quirks.o
  CC      mips64el-softmmu/hw/vfio/platform.o
  CC      mips64el-softmmu/hw/vfio/spapr.o
  CC      mips64el-softmmu/hw/virtio/virtio.o
  CC      mips64el-softmmu/hw/virtio/virtio-balloon.o
  CC      mips64el-softmmu/hw/virtio/vhost.o
  CC      mips64el-softmmu/hw/virtio/vhost-backend.o
  CC      mips64el-softmmu/hw/virtio/vhost-user.o
  CC      mips64el-softmmu/hw/virtio/vhost-vsock.o
  CC      mips64el-softmmu/hw/virtio/virtio-crypto.o
  CC      mips64el-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      mips64el-softmmu/hw/mips/mips_r4k.o
  CC      mips64el-softmmu/hw/mips/mips_malta.o
  CC      mips64el-softmmu/hw/mips/mips_mipssim.o
  CC      mips64el-softmmu/hw/mips/addr.o
  CC      mips64el-softmmu/hw/mips/mips_int.o
  CC      mips64el-softmmu/hw/mips/mips_jazz.o
  CC      mips64el-softmmu/hw/mips/mips_fulong2e.o
  CC      mips64el-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips64el-softmmu/hw/mips/cps.o
  CC      mips64el-softmmu/hw/mips/boston.o
  CC      mips64el-softmmu/target/mips/translate.o
  CC      mips64el-softmmu/target/mips/dsp_helper.o
  CC      mips64el-softmmu/target/mips/op_helper.o
  CC      mips64el-softmmu/target/mips/lmi_helper.o
  CC      mips64el-softmmu/target/mips/helper.o
  CC      mips64el-softmmu/target/mips/cpu.o
  CC      mips64el-softmmu/target/mips/gdbstub.o
  CC      mips64el-softmmu/target/mips/msa_helper.o
  CC      mips64el-softmmu/target/mips/mips-semi.o
  CC      mips64el-softmmu/target/mips/machine.o
  CC      mips64el-softmmu/target/mips/cp0_timer.o
  GEN     trace/generated-helpers.c
  CC      mips64el-softmmu/trace/control-target.o
  CC      mips64el-softmmu/trace/generated-helpers.o
  LINK    mips64el-softmmu/qemu-system-mips64el
  CC      aarch64-softmmu/target/arm/helper-a64.o
  GEN     mips64-softmmu/hmp-commands.h
  GEN     mips64-softmmu/hmp-commands-info.h
  GEN     mips64-softmmu/config-target.h
  CC      mips64-softmmu/exec.o
  CC      aarch64-softmmu/target/arm/gdbstub64.o
  CC      aarch64-softmmu/target/arm/crypto_helper.o
  CC      aarch64-softmmu/target/arm/arm-powerctl.o
  GEN     trace/generated-helpers.c
  CC      aarch64-softmmu/trace/control-target.o
  CC      aarch64-softmmu/gdbstub-xml.o
  CC      aarch64-softmmu/trace/generated-helpers.o
  LINK    aarch64-softmmu/qemu-system-aarch64
  CC      mips64-softmmu/tcg/tcg.o
  GEN     mipsel-softmmu/hmp-commands.h
  GEN     mipsel-softmmu/hmp-commands-info.h
  GEN     mipsel-softmmu/config-target.h
  CC      mipsel-softmmu/exec.o
  CC      mipsel-softmmu/tcg/tcg.o
  CC      mipsel-softmmu/tcg/tcg-op.o
  CC      mipsel-softmmu/tcg/optimize.o
  CC      mipsel-softmmu/tcg/tcg-common.o
  CC      mipsel-softmmu/fpu/softfloat.o
  CC      mipsel-softmmu/disas.o
  CC      mipsel-softmmu/arch_init.o
  CC      mipsel-softmmu/cpus.o
  CC      mipsel-softmmu/monitor.o
  CC      mipsel-softmmu/gdbstub.o
  CC      mipsel-softmmu/balloon.o
  CC      mipsel-softmmu/ioport.o
  CC      mipsel-softmmu/numa.o
  CC      mipsel-softmmu/qtest.o
  CC      mipsel-softmmu/memory.o
  CC      mipsel-softmmu/memory_mapping.o
  CC      mipsel-softmmu/dump.o
  CC      mipsel-softmmu/migration/ram.o
  CC      mipsel-softmmu/accel/accel.o
  CC      mipsel-softmmu/accel/stubs/hax-stub.o
  CC      mipsel-softmmu/accel/stubs/hvf-stub.o
  CC      mipsel-softmmu/accel/stubs/kvm-stub.o
  CC      mipsel-softmmu/accel/tcg/tcg-all.o
  CC      mipsel-softmmu/accel/tcg/cputlb.o
  CC      mipsel-softmmu/accel/tcg/tcg-runtime.o
  CC      mipsel-softmmu/accel/tcg/cpu-exec.o
  CC      mipsel-softmmu/accel/tcg/cpu-exec-common.o
  CC      mipsel-softmmu/accel/tcg/translate-all.o
  CC      mipsel-softmmu/accel/tcg/translator.o
  CC      mipsel-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mipsel-softmmu/hw/block/virtio-blk.o
  CC      mipsel-softmmu/hw/block/vhost-user-blk.o
  CC      mipsel-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mipsel-softmmu/hw/char/virtio-serial-bus.o
  CC      mipsel-softmmu/hw/core/generic-loader.o
  CC      mipsel-softmmu/hw/core/null-machine.o
  CC      mipsel-softmmu/hw/display/vga.o
  CC      mipsel-softmmu/hw/display/virtio-gpu.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-3d.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/intc/mips_gic.o
  CC      mipsel-softmmu/hw/misc/ivshmem.o
  CC      mipsel-softmmu/hw/misc/mips_cmgcr.o
  CC      mipsel-softmmu/hw/misc/mips_cpc.o
  CC      mipsel-softmmu/hw/misc/mips_itu.o
  CC      mipsel-softmmu/hw/misc/mmio_interface.o
  CC      mipsel-softmmu/hw/net/virtio-net.o
  CC      mipsel-softmmu/hw/net/vhost_net.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mipsel-softmmu/hw/scsi/vhost-scsi-common.o
  CC      mipsel-softmmu/hw/scsi/vhost-scsi.o
  CC      mipsel-softmmu/hw/scsi/vhost-user-scsi.o
  CC      mipsel-softmmu/hw/timer/mips_gictimer.o
  CC      mipsel-softmmu/hw/timer/mc146818rtc.o
  CC      mipsel-softmmu/hw/vfio/common.o
  CC      mipsel-softmmu/hw/vfio/pci.o
  CC      mipsel-softmmu/hw/vfio/pci-quirks.o
  CC      mipsel-softmmu/hw/vfio/platform.o
  CC      mipsel-softmmu/hw/vfio/spapr.o
  CC      mipsel-softmmu/hw/virtio/virtio.o
  CC      mipsel-softmmu/hw/virtio/virtio-balloon.o
  CC      mipsel-softmmu/hw/virtio/vhost.o
  CC      mipsel-softmmu/hw/virtio/vhost-backend.o
  CC      mipsel-softmmu/hw/virtio/vhost-user.o
  CC      mipsel-softmmu/hw/virtio/vhost-vsock.o
  CC      mipsel-softmmu/hw/virtio/virtio-crypto.o
  CC      mipsel-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      mipsel-softmmu/hw/mips/mips_r4k.o
  CC      mipsel-softmmu/hw/mips/mips_malta.o
  CC      mipsel-softmmu/hw/mips/mips_mipssim.o
  CC      mipsel-softmmu/hw/mips/addr.o
  CC      mipsel-softmmu/hw/mips/mips_int.o
  CC      mipsel-softmmu/hw/mips/gt64xxx_pci.o
  CC      mipsel-softmmu/hw/mips/cps.o
  CC      mipsel-softmmu/target/mips/translate.o
  CC      mipsel-softmmu/target/mips/dsp_helper.o
  CC      mipsel-softmmu/target/mips/op_helper.o
  CC      mipsel-softmmu/target/mips/lmi_helper.o
  CC      mipsel-softmmu/target/mips/helper.o
  CC      mipsel-softmmu/target/mips/cpu.o
  CC      mipsel-softmmu/target/mips/gdbstub.o
  CC      mipsel-softmmu/target/mips/msa_helper.o
  CC      mipsel-softmmu/target/mips/mips-semi.o
  CC      mipsel-softmmu/target/mips/machine.o
  CC      mipsel-softmmu/target/mips/cp0_timer.o
  GEN     trace/generated-helpers.c
  CC      mipsel-softmmu/trace/control-target.o
  CC      mipsel-softmmu/trace/generated-helpers.o
  LINK    mipsel-softmmu/qemu-system-mipsel
  GEN     lm32-softmmu/hmp-commands-info.h
  GEN     lm32-softmmu/config-target.h
  CC      lm32-softmmu/exec.o
  GEN     mips-softmmu/hmp-commands.h
  GEN     mips-softmmu/hmp-commands-info.h
  GEN     mips-softmmu/config-target.h
  CC      mips-softmmu/exec.o
  CC      lm32-softmmu/tcg/tcg.o
  CC      mips-softmmu/tcg/tcg.o
  CC      lm32-softmmu/tcg/tcg-op.o
  CC      mips-softmmu/tcg/tcg-op.o
  CC      lm32-softmmu/tcg/optimize.o
  CC      lm32-softmmu/tcg/tcg-common.o
  CC      lm32-softmmu/fpu/softfloat.o
  CC      mips-softmmu/tcg/optimize.o
  CC      mips-softmmu/tcg/tcg-common.o
  CC      mips-softmmu/fpu/softfloat.o
  CC      lm32-softmmu/disas.o
  CC      lm32-softmmu/arch_init.o
  CC      lm32-softmmu/cpus.o
  CC      lm32-softmmu/monitor.o
  CC      mips-softmmu/disas.o
  CC      mips-softmmu/arch_init.o
  CC      mips-softmmu/cpus.o
  CC      lm32-softmmu/gdbstub.o
  CC      mips-softmmu/monitor.o
  CC      lm32-softmmu/balloon.o
  CC      lm32-softmmu/ioport.o
  CC      lm32-softmmu/numa.o
  CC      mips-softmmu/gdbstub.o
  CC      lm32-softmmu/qtest.o
  CC      lm32-softmmu/memory.o
  CC      mips-softmmu/balloon.o
  CC      mips-softmmu/ioport.o
  CC      mips-softmmu/numa.o
  CC      mips-softmmu/qtest.o
  CC      lm32-softmmu/memory_mapping.o
  CC      mips-softmmu/memory.o
  CC      lm32-softmmu/dump.o
  CC      lm32-softmmu/migration/ram.o
  CC      mips-softmmu/memory_mapping.o
  CC      mips-softmmu/dump.o
  CC      lm32-softmmu/accel/accel.o
  CC      lm32-softmmu/accel/stubs/hax-stub.o
  CC      lm32-softmmu/accel/stubs/hvf-stub.o
  CC      mips-softmmu/migration/ram.o
  CC      lm32-softmmu/accel/stubs/kvm-stub.o
  CC      lm32-softmmu/accel/tcg/tcg-all.o
  CC      lm32-softmmu/accel/tcg/cputlb.o
  CC      mips-softmmu/accel/accel.o
  CC      mips-softmmu/accel/stubs/hax-stub.o
  CC      mips-softmmu/accel/stubs/hvf-stub.o
  CC      mips-softmmu/accel/stubs/kvm-stub.o
  CC      mips-softmmu/accel/tcg/tcg-all.o
  CC      mips-softmmu/accel/tcg/cputlb.o
  CC      lm32-softmmu/accel/tcg/tcg-runtime.o
  CC      lm32-softmmu/accel/tcg/cpu-exec.o
  CC      lm32-softmmu/accel/tcg/cpu-exec-common.o
  CC      lm32-softmmu/accel/tcg/translate-all.o
  CC      lm32-softmmu/accel/tcg/translator.o
  CC      mips-softmmu/accel/tcg/tcg-runtime.o
  CC      lm32-softmmu/hw/core/generic-loader.o
  CC      mips-softmmu/accel/tcg/cpu-exec.o
  CC      lm32-softmmu/hw/core/null-machine.o
  CC      lm32-softmmu/hw/input/milkymist-softusb.o
  CC      mips-softmmu/accel/tcg/cpu-exec-common.o
  CC      mips-softmmu/accel/tcg/translate-all.o
  CC      lm32-softmmu/hw/misc/milkymist-hpdmc.o
  CC      lm32-softmmu/hw/misc/milkymist-pfpu.o
  CC      mips-softmmu/accel/tcg/translator.o
  CC      lm32-softmmu/hw/misc/mmio_interface.o
  CC      lm32-softmmu/hw/net/milkymist-minimac2.o
  CC      mips-softmmu/hw/9pfs/virtio-9p-device.o
  CC      lm32-softmmu/hw/net/vhost_net.o
  CC      mips-softmmu/hw/block/virtio-blk.o
  CC      lm32-softmmu/hw/net/rocker/qmp-norocker.o
  CC      lm32-softmmu/hw/sd/milkymist-memcard.o
  CC      lm32-softmmu/hw/vfio/common.o
  CC      mips-softmmu/hw/block/vhost-user-blk.o
  CC      mips-softmmu/hw/block/dataplane/virtio-blk.o
  CC      lm32-softmmu/hw/vfio/platform.o
  CC      mips-softmmu/hw/char/virtio-serial-bus.o
  CC      lm32-softmmu/hw/vfio/spapr.o
  CC      mips-softmmu/hw/core/generic-loader.o
  CC      lm32-softmmu/hw/lm32/lm32_boards.o
  CC      mips-softmmu/hw/core/null-machine.o
  CC      mips-softmmu/hw/display/vga.o
  CC      lm32-softmmu/hw/lm32/milkymist.o
  CC      lm32-softmmu/target/lm32/translate.o
  CC      mips-softmmu/hw/display/virtio-gpu.o
  CC      lm32-softmmu/target/lm32/op_helper.o
  CC      lm32-softmmu/target/lm32/helper.o
  CC      lm32-softmmu/target/lm32/cpu.o
  CC      mips-softmmu/hw/display/virtio-gpu-3d.o
  CC      lm32-softmmu/target/lm32/gdbstub.o
  CC      lm32-softmmu/target/lm32/lm32-semi.o
  CC      mips-softmmu/hw/display/virtio-gpu-pci.o
  CC      lm32-softmmu/target/lm32/machine.o
  GEN     trace/generated-helpers.c
  CC      lm32-softmmu/trace/control-target.o
  CC      mips-softmmu/hw/intc/mips_gic.o
  CC      lm32-softmmu/trace/generated-helpers.o
  CC      mips-softmmu/hw/misc/ivshmem.o
  LINK    lm32-softmmu/qemu-system-lm32
  CC      mips-softmmu/hw/misc/mips_cmgcr.o
  CC      mips-softmmu/hw/misc/mips_cpc.o
  CC      mips-softmmu/hw/misc/mips_itu.o
  CC      mips-softmmu/hw/misc/mmio_interface.o
  CC      mips64-softmmu/tcg/tcg-op.o
  GEN     moxie-softmmu/hmp-commands.h
  GEN     moxie-softmmu/hmp-commands-info.h
  GEN     moxie-softmmu/config-target.h
  CC      moxie-softmmu/exec.o
  CC      mips64-softmmu/tcg/optimize.o
  CC      moxie-softmmu/tcg/tcg.o
  CC      mips64-softmmu/tcg/tcg-common.o
  CC      mips64-softmmu/fpu/softfloat.o
  CC      moxie-softmmu/tcg/tcg-op.o
  CC      moxie-softmmu/tcg/optimize.o
  CC      mips64-softmmu/disas.o
  CC      moxie-softmmu/tcg/tcg-common.o
  CC      mips64-softmmu/arch_init.o
  CC      moxie-softmmu/fpu/softfloat.o
  CC      mips64-softmmu/cpus.o
  CC      mips64-softmmu/monitor.o
  CC      mips64-softmmu/gdbstub.o
  CC      moxie-softmmu/disas.o
  CC      mips64-softmmu/balloon.o
  CC      mips64-softmmu/ioport.o
  CC      moxie-softmmu/arch_init.o
  CC      moxie-softmmu/cpus.o
  CC      mips64-softmmu/numa.o
  CC      mips64-softmmu/qtest.o
  CC      moxie-softmmu/monitor.o
  CC      mips64-softmmu/memory.o
  CC      moxie-softmmu/gdbstub.o
  CC      mips64-softmmu/memory_mapping.o
  CC      mips64-softmmu/dump.o
  CC      moxie-softmmu/balloon.o
  CC      moxie-softmmu/ioport.o
  CC      mips64-softmmu/migration/ram.o
  CC      moxie-softmmu/numa.o
  CC      moxie-softmmu/qtest.o
  CC      mips64-softmmu/accel/accel.o
  CC      mips64-softmmu/accel/stubs/hax-stub.o
  CC      moxie-softmmu/memory.o
  CC      mips64-softmmu/accel/stubs/hvf-stub.o
  CC      mips64-softmmu/accel/stubs/kvm-stub.o
  CC      mips64-softmmu/accel/tcg/tcg-all.o
  CC      mips64-softmmu/accel/tcg/cputlb.o
  CC      moxie-softmmu/memory_mapping.o
  CC      moxie-softmmu/dump.o
  CC      moxie-softmmu/migration/ram.o
  CC      mips64-softmmu/accel/tcg/tcg-runtime.o
  CC      mips64-softmmu/accel/tcg/cpu-exec.o
  CC      moxie-softmmu/accel/accel.o
  CC      mips64-softmmu/accel/tcg/cpu-exec-common.o
  CC      moxie-softmmu/accel/stubs/hax-stub.o
  CC      mips64-softmmu/accel/tcg/translate-all.o
  CC      moxie-softmmu/accel/stubs/hvf-stub.o
  CC      moxie-softmmu/accel/stubs/kvm-stub.o
  CC      mips64-softmmu/accel/tcg/translator.o
  CC      moxie-softmmu/accel/tcg/tcg-all.o
  CC      moxie-softmmu/accel/tcg/cputlb.o
  CC      mips64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64-softmmu/hw/block/virtio-blk.o
  CC      mips64-softmmu/hw/block/vhost-user-blk.o
  CC      mips64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      moxie-softmmu/accel/tcg/tcg-runtime.o
  CC      mips64-softmmu/hw/char/virtio-serial-bus.o
  CC      moxie-softmmu/accel/tcg/cpu-exec.o
  CC      moxie-softmmu/accel/tcg/cpu-exec-common.o
  CC      mips64-softmmu/hw/core/generic-loader.o
  CC      moxie-softmmu/accel/tcg/translate-all.o
  CC      mips64-softmmu/hw/core/null-machine.o
  CC      mips64-softmmu/hw/display/vga.o
  CC      moxie-softmmu/accel/tcg/translator.o
  CC      moxie-softmmu/hw/core/generic-loader.o
  CC      moxie-softmmu/hw/core/null-machine.o
  CC      moxie-softmmu/hw/display/vga.o
  CC      mips64-softmmu/hw/display/virtio-gpu.o
  CC      mips64-softmmu/hw/display/virtio-gpu-3d.o
  CC      moxie-softmmu/hw/misc/mmio_interface.o
  CC      moxie-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/hw/display/virtio-gpu-pci.o
  CC      moxie-softmmu/hw/net/rocker/qmp-norocker.o
  CC      moxie-softmmu/hw/timer/mc146818rtc.o
  CC      mips64-softmmu/hw/intc/mips_gic.o
  CC      moxie-softmmu/hw/vfio/common.o
  CC      mips64-softmmu/hw/misc/ivshmem.o
  CC      mips64-softmmu/hw/misc/mips_cmgcr.o
  CC      moxie-softmmu/hw/vfio/platform.o
  CC      mips64-softmmu/hw/misc/mips_cpc.o
  CC      mips64-softmmu/hw/misc/mips_itu.o
  CC      moxie-softmmu/hw/vfio/spapr.o
  CC      mips64-softmmu/hw/misc/mmio_interface.o
  CC      moxie-softmmu/hw/moxie/moxiesim.o
  CC      mips64-softmmu/hw/net/virtio-net.o
  CC      moxie-softmmu/target/moxie/translate.o
  CC      mips64-softmmu/hw/net/vhost_net.o
  CC      moxie-softmmu/target/moxie/helper.o
  CC      mips64-softmmu/hw/scsi/virtio-scsi.o
  CC      moxie-softmmu/target/moxie/machine.o
  CC      moxie-softmmu/target/moxie/cpu.o
  CC      mips64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      moxie-softmmu/target/moxie/mmu.o
  GEN     trace/generated-helpers.c
  CC      moxie-softmmu/trace/control-target.o
  CC      mips64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      moxie-softmmu/trace/generated-helpers.o
  CC      mips64-softmmu/hw/scsi/vhost-scsi.o
  LINK    moxie-softmmu/qemu-system-moxie
  CC      mips64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      mips64-softmmu/hw/timer/mips_gictimer.o
  CC      mips64-softmmu/hw/timer/mc146818rtc.o
  CC      mips64-softmmu/hw/vfio/common.o
  CC      mips-softmmu/hw/net/virtio-net.o
  GEN     nios2-softmmu/hmp-commands.h
  GEN     nios2-softmmu/hmp-commands-info.h
  GEN     nios2-softmmu/config-target.h
  CC      nios2-softmmu/exec.o
  CC      mips-softmmu/hw/net/vhost_net.o
  CC      mips-softmmu/hw/scsi/virtio-scsi.o
  CC      mips-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      mips-softmmu/hw/scsi/vhost-scsi-common.o
  CC      mips-softmmu/hw/scsi/vhost-scsi.o
  CC      mips-softmmu/hw/scsi/vhost-user-scsi.o
  CC      nios2-softmmu/tcg/tcg.o
  CC      mips-softmmu/hw/timer/mips_gictimer.o
  CC      mips-softmmu/hw/timer/mc146818rtc.o
  CC      mips-softmmu/hw/vfio/common.o
  CC      mips-softmmu/hw/vfio/pci.o
  CC      nios2-softmmu/tcg/tcg-op.o
  CC      mips-softmmu/hw/vfio/pci-quirks.o
  CC      mips-softmmu/hw/vfio/platform.o
  CC      nios2-softmmu/tcg/optimize.o
  CC      mips-softmmu/hw/vfio/spapr.o
  CC      mips-softmmu/hw/virtio/virtio.o
  CC      nios2-softmmu/tcg/tcg-common.o
  CC      nios2-softmmu/fpu/softfloat.o
  CC      mips-softmmu/hw/virtio/virtio-balloon.o
  CC      mips-softmmu/hw/virtio/vhost.o
  CC      mips-softmmu/hw/virtio/vhost-backend.o
  CC      mips-softmmu/hw/virtio/vhost-user.o
  CC      mips-softmmu/hw/virtio/vhost-vsock.o
  CC      mips-softmmu/hw/virtio/virtio-crypto.o
  CC      nios2-softmmu/disas.o
  CC      mips-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      nios2-softmmu/arch_init.o
  CC      nios2-softmmu/cpus.o
  CC      mips-softmmu/hw/mips/mips_r4k.o
  CC      mips-softmmu/hw/mips/mips_malta.o
  CC      nios2-softmmu/monitor.o
  CC      mips-softmmu/hw/mips/mips_mipssim.o
  CC      mips-softmmu/hw/mips/addr.o
  CC      mips-softmmu/hw/mips/mips_int.o
  CC      mips-softmmu/hw/mips/gt64xxx_pci.o
  CC      mips-softmmu/hw/mips/cps.o
  CC      nios2-softmmu/gdbstub.o
  CC      mips-softmmu/target/mips/translate.o
  CC      nios2-softmmu/balloon.o
  CC      nios2-softmmu/ioport.o
  CC      nios2-softmmu/numa.o
  CC      nios2-softmmu/qtest.o
  CC      nios2-softmmu/memory.o
  CC      nios2-softmmu/memory_mapping.o
  CC      nios2-softmmu/dump.o
  CC      nios2-softmmu/migration/ram.o
  CC      nios2-softmmu/accel/accel.o
  CC      nios2-softmmu/accel/stubs/hax-stub.o
  CC      nios2-softmmu/accel/stubs/hvf-stub.o
  CC      nios2-softmmu/accel/stubs/kvm-stub.o
  CC      nios2-softmmu/accel/tcg/tcg-all.o
  CC      nios2-softmmu/accel/tcg/cputlb.o
  CC      nios2-softmmu/accel/tcg/tcg-runtime.o
  CC      nios2-softmmu/accel/tcg/cpu-exec.o
  CC      nios2-softmmu/accel/tcg/cpu-exec-common.o
  CC      mips-softmmu/target/mips/dsp_helper.o
  CC      nios2-softmmu/accel/tcg/translate-all.o
  CC      nios2-softmmu/accel/tcg/translator.o
  CC      nios2-softmmu/hw/core/generic-loader.o
  CC      mips-softmmu/target/mips/op_helper.o
  CC      nios2-softmmu/hw/core/null-machine.o
  CC      nios2-softmmu/hw/intc/nios2_iic.o
  CC      nios2-softmmu/hw/misc/mmio_interface.o
  CC      nios2-softmmu/hw/net/vhost_net.o
  CC      nios2-softmmu/hw/net/rocker/qmp-norocker.o
  CC      nios2-softmmu/hw/timer/altera_timer.o
  CC      nios2-softmmu/hw/vfio/common.o
  CC      nios2-softmmu/hw/vfio/platform.o
  CC      mips-softmmu/target/mips/lmi_helper.o
  CC      nios2-softmmu/hw/vfio/spapr.o
  CC      nios2-softmmu/hw/nios2/boot.o
  CC      mips-softmmu/target/mips/helper.o
  CC      nios2-softmmu/hw/nios2/cpu_pic.o
  CC      nios2-softmmu/hw/nios2/10m50_devboard.o
  CC      mips-softmmu/target/mips/cpu.o
  CC      nios2-softmmu/target/nios2/translate.o
  CC      mips-softmmu/target/mips/gdbstub.o
  CC      mips-softmmu/target/mips/msa_helper.o
  CC      nios2-softmmu/target/nios2/op_helper.o
  CC      nios2-softmmu/target/nios2/helper.o
  CC      nios2-softmmu/target/nios2/cpu.o
  CC      nios2-softmmu/target/nios2/mmu.o
  CC      nios2-softmmu/target/nios2/monitor.o
  GEN     trace/generated-helpers.c
  CC      nios2-softmmu/trace/control-target.o
  CC      nios2-softmmu/trace/generated-helpers.o
  LINK    nios2-softmmu/qemu-system-nios2
  CC      alpha-softmmu/hw/vfio/pci.o
  GEN     or1k-softmmu/hmp-commands.h
  GEN     or1k-softmmu/hmp-commands-info.h
  GEN     or1k-softmmu/config-target.h
  CC      or1k-softmmu/exec.o
  CC      mips-softmmu/target/mips/mips-semi.o
  CC      mips-softmmu/target/mips/machine.o
  CC      alpha-softmmu/hw/vfio/pci-quirks.o
  CC      mips-softmmu/target/mips/cp0_timer.o
  GEN     trace/generated-helpers.c
  CC      mips-softmmu/trace/control-target.o
  CC      alpha-softmmu/hw/vfio/platform.o
  CC      mips-softmmu/trace/generated-helpers.o
  LINK    mips-softmmu/qemu-system-mips
  CC      alpha-softmmu/hw/vfio/spapr.o
  CC      or1k-softmmu/tcg/tcg.o
  CC      alpha-softmmu/hw/virtio/virtio.o
  CC      alpha-softmmu/hw/virtio/virtio-balloon.o
  CC      alpha-softmmu/hw/virtio/vhost.o
  CC      mips64-softmmu/hw/vfio/pci.o
  CC      or1k-softmmu/tcg/tcg-op.o
  CC      or1k-softmmu/tcg/optimize.o
  CC      or1k-softmmu/tcg/tcg-common.o
  CC      or1k-softmmu/fpu/softfloat.o
  CC      mips64-softmmu/hw/vfio/pci-quirks.o
  CC      or1k-softmmu/disas.o
  CC      or1k-softmmu/arch_init.o
  CC      or1k-softmmu/cpus.o
  CC      or1k-softmmu/monitor.o
  CC      or1k-softmmu/gdbstub.o
  CC      mips64-softmmu/hw/vfio/platform.o
  CC      mips64-softmmu/hw/vfio/spapr.o
  GEN     ppc64-softmmu/hmp-commands.h
  GEN     ppc64-softmmu/hmp-commands-info.h
  CC      or1k-softmmu/balloon.o
  GEN     ppc64-softmmu/config-target.h
  CC      ppc64-softmmu/exec.o
  CC      mips64-softmmu/hw/virtio/virtio.o
  CC      or1k-softmmu/ioport.o
  CC      or1k-softmmu/numa.o
  CC      or1k-softmmu/qtest.o
  CC      mips64-softmmu/hw/virtio/virtio-balloon.o
  CC      or1k-softmmu/memory.o
  CC      mips64-softmmu/hw/virtio/vhost.o
  CC      ppc64-softmmu/tcg/tcg.o
  CC      mips64-softmmu/hw/virtio/vhost-backend.o
  CC      mips64-softmmu/hw/virtio/vhost-user.o
  CC      or1k-softmmu/memory_mapping.o
  CC      mips64-softmmu/hw/virtio/vhost-vsock.o
  CC      or1k-softmmu/dump.o
  CC      mips64-softmmu/hw/virtio/virtio-crypto.o
  CC      mips64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      or1k-softmmu/migration/ram.o
  CC      mips64-softmmu/hw/mips/mips_r4k.o
  CC      ppc64-softmmu/tcg/tcg-op.o
  CC      mips64-softmmu/hw/mips/mips_malta.o
  CC      or1k-softmmu/accel/accel.o
  CC      mips64-softmmu/hw/mips/mips_mipssim.o
  CC      or1k-softmmu/accel/stubs/hax-stub.o
  CC      mips64-softmmu/hw/mips/addr.o
  CC      or1k-softmmu/accel/stubs/hvf-stub.o
  CC      mips64-softmmu/hw/mips/mips_int.o
  CC      or1k-softmmu/accel/stubs/kvm-stub.o
  CC      mips64-softmmu/hw/mips/mips_jazz.o
  CC      or1k-softmmu/accel/tcg/tcg-all.o
  CC      or1k-softmmu/accel/tcg/cputlb.o
  CC      mips64-softmmu/hw/mips/gt64xxx_pci.o
  CC      ppc64-softmmu/tcg/optimize.o
  CC      mips64-softmmu/hw/mips/cps.o
  CC      mips64-softmmu/target/mips/translate.o
  CC      ppc64-softmmu/tcg/tcg-common.o
  CC      ppc64-softmmu/fpu/softfloat.o
  CC      or1k-softmmu/accel/tcg/tcg-runtime.o
  CC      or1k-softmmu/accel/tcg/cpu-exec.o
  CC      or1k-softmmu/accel/tcg/cpu-exec-common.o
  CC      or1k-softmmu/accel/tcg/translate-all.o
  CC      or1k-softmmu/accel/tcg/translator.o
  CC      or1k-softmmu/hw/core/generic-loader.o
  CC      or1k-softmmu/hw/core/null-machine.o
  CC      or1k-softmmu/hw/intc/ompic.o
  CC      or1k-softmmu/hw/misc/mmio_interface.o
  CC      or1k-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/disas.o
  CC      or1k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      or1k-softmmu/hw/vfio/common.o
  GEN     ppc64-softmmu/gdbstub-xml.c
  CC      ppc64-softmmu/arch_init.o
  CC      ppc64-softmmu/cpus.o
  CC      or1k-softmmu/hw/vfio/platform.o
  CC      or1k-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/monitor.o
  CC      or1k-softmmu/hw/openrisc/pic_cpu.o
  CC      or1k-softmmu/hw/openrisc/cputimer.o
  CC      or1k-softmmu/hw/openrisc/openrisc_sim.o
  CC      or1k-softmmu/target/openrisc/machine.o
  CC      or1k-softmmu/target/openrisc/cpu.o
  CC      or1k-softmmu/target/openrisc/exception.o
  CC      ppc64-softmmu/gdbstub.o
  CC      or1k-softmmu/target/openrisc/interrupt.o
  CC      or1k-softmmu/target/openrisc/mmu.o
  CC      or1k-softmmu/target/openrisc/translate.o
  CC      ppc64-softmmu/balloon.o
  CC      ppc64-softmmu/ioport.o
  CC      ppc64-softmmu/numa.o
  CC      or1k-softmmu/target/openrisc/exception_helper.o
  CC      ppc64-softmmu/qtest.o
  CC      or1k-softmmu/target/openrisc/fpu_helper.o
  CC      ppc64-softmmu/memory.o
  CC      or1k-softmmu/target/openrisc/interrupt_helper.o
  CC      or1k-softmmu/target/openrisc/mmu_helper.o
  CC      or1k-softmmu/target/openrisc/sys_helper.o
  CC      or1k-softmmu/target/openrisc/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      or1k-softmmu/trace/control-target.o
  CC      ppc64-softmmu/memory_mapping.o
  CC      or1k-softmmu/trace/generated-helpers.o
  CC      ppc64-softmmu/dump.o
  LINK    or1k-softmmu/qemu-system-or1k
  CC      mips64-softmmu/target/mips/dsp_helper.o
  CC      ppc64-softmmu/migration/ram.o
  CC      ppc64-softmmu/accel/accel.o
  CC      alpha-softmmu/hw/virtio/vhost-backend.o
  CC      ppc64-softmmu/accel/stubs/hax-stub.o
  CC      ppc64-softmmu/accel/stubs/hvf-stub.o
  CC      ppc64-softmmu/accel/stubs/kvm-stub.o
  GEN     ppcemb-softmmu/hmp-commands.h
  GEN     ppcemb-softmmu/hmp-commands-info.h
  GEN     ppcemb-softmmu/config-target.h
  CC      ppcemb-softmmu/exec.o
  CC      ppc64-softmmu/accel/tcg/tcg-all.o
  CC      ppc64-softmmu/accel/tcg/cputlb.o
  CC      ppc64-softmmu/accel/tcg/tcg-runtime.o
  CC      ppcemb-softmmu/tcg/tcg.o
  CC      ppc64-softmmu/accel/tcg/cpu-exec.o
  CC      ppc64-softmmu/accel/tcg/cpu-exec-common.o
  CC      ppc64-softmmu/accel/tcg/translate-all.o
  CC      ppc64-softmmu/accel/tcg/translator.o
  CC      ppc64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppcemb-softmmu/tcg/tcg-op.o
  CC      ppc64-softmmu/hw/block/virtio-blk.o
  CC      ppc64-softmmu/hw/block/vhost-user-blk.o
  CC      ppc64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppc64-softmmu/hw/char/spapr_vty.o
  CC      ppc64-softmmu/hw/char/virtio-serial-bus.o
  CC      ppcemb-softmmu/tcg/optimize.o
  CC      ppc64-softmmu/hw/core/generic-loader.o
  CC      ppc64-softmmu/hw/core/null-machine.o
  CC      ppc64-softmmu/hw/display/sm501.o
  CC      ppcemb-softmmu/tcg/tcg-common.o
  CC      ppcemb-softmmu/fpu/softfloat.o
  CC      ppc64-softmmu/hw/display/vga.o
  CC      ppc64-softmmu/hw/display/virtio-gpu.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppcemb-softmmu/disas.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-pci.o
  GEN     ppcemb-softmmu/gdbstub-xml.c
  CC      ppcemb-softmmu/arch_init.o
  CC      ppc64-softmmu/hw/display/virtio-vga.o
  CC      ppcemb-softmmu/cpus.o
  CC      ppc64-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      ppc64-softmmu/hw/intc/xics.o
  CC      ppcemb-softmmu/monitor.o
  CC      ppc64-softmmu/hw/intc/xics_spapr.o
  CC      ppc64-softmmu/hw/intc/xics_pnv.o
  CC      ppc64-softmmu/hw/misc/ivshmem.o
  CC      ppc64-softmmu/hw/misc/mmio_interface.o
  CC      ppcemb-softmmu/gdbstub.o
  CC      ppc64-softmmu/hw/net/spapr_llan.o
  CC      ppc64-softmmu/hw/net/xilinx_ethlite.o
  CC      ppcemb-softmmu/balloon.o
  CC      ppc64-softmmu/hw/net/virtio-net.o
  CC      ppcemb-softmmu/ioport.o
  CC      ppcemb-softmmu/numa.o
  CC      ppc64-softmmu/hw/net/vhost_net.o
  CC      ppcemb-softmmu/qtest.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/etsec.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/registers.o
  CC      ppcemb-softmmu/memory.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/rings.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/miim.o
  CC      ppc64-softmmu/hw/nvram/spapr_nvram.o
  CC      ppc64-softmmu/hw/scsi/spapr_vscsi.o
  CC      ppcemb-softmmu/memory_mapping.o
  CC      ppcemb-softmmu/dump.o
  CC      ppc64-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppcemb-softmmu/migration/ram.o
  CC      ppc64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      ppc64-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      ppcemb-softmmu/accel/accel.o
  CC      ppc64-softmmu/hw/timer/mc146818rtc.o
  CC      ppcemb-softmmu/accel/stubs/hax-stub.o
  CC      ppcemb-softmmu/accel/stubs/hvf-stub.o
  CC      ppc64-softmmu/hw/vfio/common.o
  CC      ppcemb-softmmu/accel/stubs/kvm-stub.o
  CC      ppcemb-softmmu/accel/tcg/tcg-all.o
  CC      ppcemb-softmmu/accel/tcg/cputlb.o
  CC      ppc64-softmmu/hw/vfio/pci.o
  CC      ppc64-softmmu/hw/vfio/pci-quirks.o
  CC      ppcemb-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc64-softmmu/hw/vfio/platform.o
  CC      ppcemb-softmmu/accel/tcg/cpu-exec.o
  CC      ppc64-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/hw/virtio/virtio.o
  CC      ppcemb-softmmu/accel/tcg/cpu-exec-common.o
  CC      ppcemb-softmmu/accel/tcg/translate-all.o
  CC      ppcemb-softmmu/accel/tcg/translator.o
  CC      ppc64-softmmu/hw/virtio/virtio-balloon.o
  CC      ppcemb-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppc64-softmmu/hw/virtio/vhost.o
  CC      ppcemb-softmmu/hw/block/virtio-blk.o
  CC      ppc64-softmmu/hw/virtio/vhost-backend.o
  CC      ppcemb-softmmu/hw/block/vhost-user-blk.o
  CC      ppc64-softmmu/hw/virtio/vhost-user.o
  CC      ppcemb-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppcemb-softmmu/hw/char/virtio-serial-bus.o
  CC      ppc64-softmmu/hw/virtio/vhost-vsock.o
  CC      ppc64-softmmu/hw/virtio/virtio-crypto.o
  CC      ppcemb-softmmu/hw/core/generic-loader.o
  CC      ppc64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      ppcemb-softmmu/hw/core/null-machine.o
  CC      ppcemb-softmmu/hw/display/sm501.o
  CC      ppc64-softmmu/hw/ppc/ppc.o
  CC      ppc64-softmmu/hw/ppc/ppc_booke.o
  CC      ppcemb-softmmu/hw/display/vga.o
  CC      ppc64-softmmu/hw/ppc/fdt.o
  CC      ppc64-softmmu/hw/ppc/spapr.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu.o
  CC      ppc64-softmmu/hw/ppc/spapr_caps.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc64-softmmu/hw/ppc/spapr_vio.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppc64-softmmu/hw/ppc/spapr_events.o
  CC      ppcemb-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      ppc64-softmmu/hw/ppc/spapr_hcall.o
  CC      ppcemb-softmmu/hw/misc/ivshmem.o
  CC      ppc64-softmmu/hw/ppc/spapr_iommu.o
  CC      ppcemb-softmmu/hw/misc/mmio_interface.o
  CC      ppcemb-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtas.o
  CC      ppcemb-softmmu/hw/net/virtio-net.o
  CC      ppc64-softmmu/hw/ppc/spapr_pci.o
  CC      ppcemb-softmmu/hw/net/vhost_net.o
  CC      ppcemb-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtc.o
  CC      ppc64-softmmu/hw/ppc/spapr_drc.o
  CC      ppcemb-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppcemb-softmmu/hw/scsi/vhost-scsi-common.o
  CC      ppc64-softmmu/hw/ppc/spapr_rng.o
  CC      ppcemb-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc64-softmmu/hw/ppc/spapr_cpu_core.o
  CC      ppcemb-softmmu/hw/scsi/vhost-user-scsi.o
  CC      ppc64-softmmu/hw/ppc/spapr_ovec.o
  CC      ppcemb-softmmu/hw/vfio/common.o
  CC      ppc64-softmmu/hw/ppc/pnv.o
  CC      ppcemb-softmmu/hw/vfio/pci.o
  CC      ppc64-softmmu/hw/ppc/pnv_xscom.o
  CC      ppc64-softmmu/hw/ppc/pnv_core.o
  CC      ppc64-softmmu/hw/ppc/pnv_lpc.o
  CC      ppc64-softmmu/hw/ppc/pnv_psi.o
  CC      ppcemb-softmmu/hw/vfio/pci-quirks.o
  CC      ppc64-softmmu/hw/ppc/pnv_occ.o
  CC      ppc64-softmmu/hw/ppc/pnv_bmc.o
  CC      ppcemb-softmmu/hw/vfio/platform.o
  CC      ppc64-softmmu/hw/ppc/spapr_pci_vfio.o
  CC      ppcemb-softmmu/hw/vfio/spapr.o
  CC      ppc64-softmmu/hw/ppc/spapr_rtas_ddw.o
  CC      ppcemb-softmmu/hw/virtio/virtio.o
  CC      ppc64-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppc64-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc64-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppcemb-softmmu/hw/virtio/virtio-balloon.o
  CC      ppc64-softmmu/hw/ppc/ppc405_boards.o
  CC      ppcemb-softmmu/hw/virtio/vhost.o
  CC      ppc64-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppc64-softmmu/hw/ppc/prep.o
  CC      ppcemb-softmmu/hw/virtio/vhost-backend.o
  CC      ppc64-softmmu/hw/ppc/prep_systemio.o
  CC      ppcemb-softmmu/hw/virtio/vhost-user.o
  CC      ppc64-softmmu/hw/ppc/rs6000_mc.o
  CC      ppcemb-softmmu/hw/virtio/vhost-vsock.o
  CC      ppc64-softmmu/hw/ppc/mac_oldworld.o
  CC      ppcemb-softmmu/hw/virtio/virtio-crypto.o
  CC      ppc64-softmmu/hw/ppc/mac_newworld.o
  CC      ppcemb-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      ppc64-softmmu/hw/ppc/e500.o
  CC      ppcemb-softmmu/hw/ppc/ppc.o
  CC      ppc64-softmmu/hw/ppc/mpc8544ds.o
  CC      ppc64-softmmu/hw/ppc/e500plat.o
  CC      ppcemb-softmmu/hw/ppc/ppc_booke.o
  CC      ppc64-softmmu/hw/ppc/mpc8544_guts.o
  CC      ppcemb-softmmu/hw/ppc/fdt.o
  CC      ppc64-softmmu/hw/ppc/ppce500_spin.o
  CC      ppcemb-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppc64-softmmu/hw/ppc/virtex_ml507.o
  CC      ppcemb-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc64-softmmu/target/ppc/cpu-models.o
  CC      ppcemb-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppcemb-softmmu/hw/ppc/ppc405_boards.o
  CC      ppcemb-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppcemb-softmmu/hw/ppc/virtex_ml507.o
  CC      ppc64-softmmu/target/ppc/cpu.o
  CC      ppcemb-softmmu/target/ppc/cpu-models.o
  CC      ppc64-softmmu/target/ppc/translate.o
  CC      ppcemb-softmmu/target/ppc/cpu.o
  CC      ppcemb-softmmu/target/ppc/translate.o
  CC      ppc64-softmmu/target/ppc/machine.o
  CC      ppcemb-softmmu/target/ppc/machine.o
  CC      ppc64-softmmu/target/ppc/mmu_helper.o
  CC      ppcemb-softmmu/target/ppc/mmu_helper.o
  CC      ppc64-softmmu/target/ppc/mmu-hash32.o
  CC      ppcemb-softmmu/target/ppc/mmu-hash32.o
  CC      ppc64-softmmu/target/ppc/monitor.o
  CC      ppcemb-softmmu/target/ppc/monitor.o
  CC      ppc64-softmmu/target/ppc/arch_dump.o
  CC      ppcemb-softmmu/target/ppc/arch_dump.o
  CC      ppc64-softmmu/target/ppc/mmu-hash64.o
  CC      ppcemb-softmmu/target/ppc/kvm-stub.o
  CC      ppcemb-softmmu/target/ppc/dfp_helper.o
  CC      ppc64-softmmu/target/ppc/mmu-book3s-v3.o
  CC      ppc64-softmmu/target/ppc/compat.o
  CC      ppc64-softmmu/target/ppc/mmu-radix64.o
  CC      ppcemb-softmmu/target/ppc/excp_helper.o
  CC      ppc64-softmmu/target/ppc/kvm-stub.o
  CC      ppc64-softmmu/target/ppc/dfp_helper.o
  CC      ppcemb-softmmu/target/ppc/fpu_helper.o
  CC      ppc64-softmmu/target/ppc/excp_helper.o
  CC      ppc64-softmmu/target/ppc/fpu_helper.o
  CC      ppcemb-softmmu/target/ppc/int_helper.o
  CC      ppc64-softmmu/target/ppc/int_helper.o
  CC      ppcemb-softmmu/target/ppc/timebase_helper.o
  CC      ppcemb-softmmu/target/ppc/misc_helper.o
  CC      ppcemb-softmmu/target/ppc/mem_helper.o
  CC      ppcemb-softmmu/target/ppc/gdbstub.o
  CC      ppc64-softmmu/target/ppc/timebase_helper.o
  CC      ppcemb-softmmu/target/ppc/../../libdecnumber/decContext.o
  CC      ppcemb-softmmu/target/ppc/../../libdecnumber/decNumber.o
  CC      ppc64-softmmu/target/ppc/misc_helper.o
  CC      ppc64-softmmu/target/ppc/mem_helper.o
  CC      ppc64-softmmu/target/ppc/gdbstub.o
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/decContext.o
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/decNumber.o
  CC      ppcemb-softmmu/target/ppc/../../libdecnumber/dpd/decimal32.o
  CC      ppcemb-softmmu/target/ppc/../../libdecnumber/dpd/decimal64.o
  CC      ppcemb-softmmu/target/ppc/../../libdecnumber/dpd/decimal128.o
  GEN     trace/generated-helpers.c
  CC      ppcemb-softmmu/trace/control-target.o
  CC      ppcemb-softmmu/gdbstub-xml.o
  CC      ppcemb-softmmu/trace/generated-helpers.o
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal32.o
  LINK    ppcemb-softmmu/qemu-system-ppcemb
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal64.o
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal128.o
  GEN     trace/generated-helpers.c
  CC      ppc64-softmmu/trace/control-target.o
  CC      ppc64-softmmu/gdbstub-xml.o
  CC      ppc64-softmmu/trace/generated-helpers.o
  LINK    ppc64-softmmu/qemu-system-ppc64
  CC      alpha-softmmu/hw/virtio/vhost-user.o
  CC      mips64-softmmu/target/mips/op_helper.o
  CC      alpha-softmmu/hw/virtio/vhost-vsock.o
  CC      alpha-softmmu/hw/virtio/virtio-crypto.o
  CC      alpha-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      alpha-softmmu/hw/alpha/dp264.o
  CC      alpha-softmmu/hw/alpha/pci.o
  CC      alpha-softmmu/hw/alpha/typhoon.o
  CC      mips64-softmmu/target/mips/lmi_helper.o
  CC      mips64-softmmu/target/mips/helper.o
  CC      alpha-softmmu/target/alpha/machine.o
  CC      alpha-softmmu/target/alpha/translate.o
  CC      alpha-softmmu/target/alpha/helper.o
  GEN     ppc-softmmu/hmp-commands.h
  GEN     ppc-softmmu/hmp-commands-info.h
  GEN     ppc-softmmu/config-target.h
  CC      ppc-softmmu/exec.o
  GEN     s390x-softmmu/hmp-commands.h
  GEN     s390x-softmmu/hmp-commands-info.h
  CC      s390x-softmmu/gen-features
  GEN     s390x-softmmu/config-target.h
  GEN     s390x-softmmu/gen-features.h
  CC      s390x-softmmu/exec.o
  CC      alpha-softmmu/target/alpha/cpu.o
  CC      alpha-softmmu/target/alpha/int_helper.o
  CC      alpha-softmmu/target/alpha/fpu_helper.o
  CC      alpha-softmmu/target/alpha/vax_helper.o
  CC      alpha-softmmu/target/alpha/sys_helper.o
  CC      s390x-softmmu/tcg/tcg.o
  CC      alpha-softmmu/target/alpha/mem_helper.o
  CC      alpha-softmmu/target/alpha/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      alpha-softmmu/trace/control-target.o
  CC      alpha-softmmu/trace/generated-helpers.o
  LINK    alpha-softmmu/qemu-system-alpha
  CC      s390x-softmmu/tcg/tcg-op.o
  CC      s390x-softmmu/tcg/optimize.o
  GEN     sh4eb-softmmu/hmp-commands.h
  GEN     sh4eb-softmmu/hmp-commands-info.h
  GEN     sh4eb-softmmu/config-target.h
  CC      sh4eb-softmmu/exec.o
  CC      s390x-softmmu/tcg/tcg-common.o
  CC      s390x-softmmu/fpu/softfloat.o
  CC      sh4eb-softmmu/tcg/tcg.o
  CC      s390x-softmmu/disas.o
  CC      sh4eb-softmmu/tcg/tcg-op.o
  GEN     s390x-softmmu/gdbstub-xml.c
  CC      s390x-softmmu/arch_init.o
  CC      s390x-softmmu/cpus.o
  CC      s390x-softmmu/monitor.o
  CC      sh4eb-softmmu/tcg/optimize.o
  CC      sh4eb-softmmu/tcg/tcg-common.o
  CC      s390x-softmmu/gdbstub.o
  CC      sh4eb-softmmu/fpu/softfloat.o
  CC      s390x-softmmu/balloon.o
  CC      s390x-softmmu/ioport.o
  CC      s390x-softmmu/numa.o
  CC      s390x-softmmu/qtest.o
  CC      s390x-softmmu/memory.o
  CC      sh4eb-softmmu/disas.o
  CC      sh4eb-softmmu/arch_init.o
  CC      s390x-softmmu/memory_mapping.o
  CC      sh4eb-softmmu/cpus.o
  CC      s390x-softmmu/dump.o
  CC      sh4eb-softmmu/monitor.o
  CC      s390x-softmmu/migration/ram.o
  CC      s390x-softmmu/accel/accel.o
  CC      sh4eb-softmmu/gdbstub.o
  CC      s390x-softmmu/accel/kvm/kvm-all.o
  CC      sh4eb-softmmu/balloon.o
  CC      s390x-softmmu/accel/stubs/hax-stub.o
  CC      sh4eb-softmmu/ioport.o
  CC      s390x-softmmu/accel/stubs/hvf-stub.o
  CC      sh4eb-softmmu/numa.o
  CC      s390x-softmmu/accel/tcg/tcg-all.o
  CC      s390x-softmmu/accel/tcg/cputlb.o
  CC      sh4eb-softmmu/qtest.o
  CC      sh4eb-softmmu/memory.o
  CC      s390x-softmmu/accel/tcg/tcg-runtime.o
  CC      sh4eb-softmmu/memory_mapping.o
  CC      s390x-softmmu/accel/tcg/cpu-exec.o
  CC      sh4eb-softmmu/dump.o
  CC      s390x-softmmu/accel/tcg/cpu-exec-common.o
  CC      s390x-softmmu/accel/tcg/translate-all.o
  CC      sh4eb-softmmu/migration/ram.o
  CC      s390x-softmmu/accel/tcg/translator.o
  CC      s390x-softmmu/hw/9pfs/virtio-9p-device.o
  CC      sh4eb-softmmu/accel/accel.o
  CC      s390x-softmmu/hw/block/virtio-blk.o
  CC      sh4eb-softmmu/accel/stubs/hax-stub.o
  CC      sh4eb-softmmu/accel/stubs/hvf-stub.o
  CC      s390x-softmmu/hw/block/vhost-user-blk.o
  CC      sh4eb-softmmu/accel/stubs/kvm-stub.o
  CC      s390x-softmmu/hw/block/dataplane/virtio-blk.o
  CC      sh4eb-softmmu/accel/tcg/tcg-all.o
  CC      sh4eb-softmmu/accel/tcg/cputlb.o
  CC      s390x-softmmu/hw/char/virtio-serial-bus.o
  CC      s390x-softmmu/hw/char/terminal3270.o
  CC      s390x-softmmu/hw/core/generic-loader.o
  CC      s390x-softmmu/hw/core/null-machine.o
  CC      s390x-softmmu/hw/display/virtio-gpu.o
  CC      sh4eb-softmmu/accel/tcg/tcg-runtime.o
  CC      sh4eb-softmmu/accel/tcg/cpu-exec.o
  CC      s390x-softmmu/hw/display/virtio-gpu-3d.o
  CC      sh4eb-softmmu/accel/tcg/cpu-exec-common.o
  CC      sh4eb-softmmu/accel/tcg/translate-all.o
  CC      s390x-softmmu/hw/display/virtio-gpu-pci.o
  CC      sh4eb-softmmu/accel/tcg/translator.o
  CC      s390x-softmmu/hw/intc/s390_flic.o
  CC      sh4eb-softmmu/hw/9pfs/virtio-9p-device.o
  CC      s390x-softmmu/hw/intc/s390_flic_kvm.o
  CC      sh4eb-softmmu/hw/block/tc58128.o
  CC      s390x-softmmu/hw/misc/mmio_interface.o
  CC      sh4eb-softmmu/hw/block/virtio-blk.o
  CC      s390x-softmmu/hw/net/virtio-net.o
  CC      sh4eb-softmmu/hw/block/vhost-user-blk.o
  CC      sh4eb-softmmu/hw/block/dataplane/virtio-blk.o
  CC      s390x-softmmu/hw/net/vhost_net.o
  CC      sh4eb-softmmu/hw/char/sh_serial.o
  CC      s390x-softmmu/hw/net/rocker/qmp-norocker.o
  CC      s390x-softmmu/hw/scsi/virtio-scsi.o
  CC      sh4eb-softmmu/hw/char/virtio-serial-bus.o
  CC      s390x-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      sh4eb-softmmu/hw/core/generic-loader.o
  CC      s390x-softmmu/hw/scsi/vhost-scsi-common.o
  CC      sh4eb-softmmu/hw/core/null-machine.o
  CC      s390x-softmmu/hw/scsi/vhost-scsi.o
  CC      sh4eb-softmmu/hw/display/sm501.o
  CC      s390x-softmmu/hw/scsi/vhost-user-scsi.o
  CC      s390x-softmmu/hw/vfio/common.o
  CC      sh4eb-softmmu/hw/display/vga.o
  CC      s390x-softmmu/hw/vfio/pci.o
  CC      sh4eb-softmmu/hw/display/virtio-gpu.o
  CC      s390x-softmmu/hw/vfio/pci-quirks.o
  CC      sh4eb-softmmu/hw/display/virtio-gpu-3d.o
  CC      s390x-softmmu/hw/vfio/ccw.o
  CC      s390x-softmmu/hw/vfio/platform.o
  CC      sh4eb-softmmu/hw/display/virtio-gpu-pci.o
  CC      s390x-softmmu/hw/vfio/spapr.o
  CC      sh4eb-softmmu/hw/intc/sh_intc.o
  CC      s390x-softmmu/hw/virtio/virtio.o
  CC      sh4eb-softmmu/hw/misc/ivshmem.o
  CC      sh4eb-softmmu/hw/misc/mmio_interface.o
  CC      sh4eb-softmmu/hw/net/virtio-net.o
  CC      s390x-softmmu/hw/virtio/virtio-balloon.o
  CC      s390x-softmmu/hw/virtio/vhost.o
  CC      sh4eb-softmmu/hw/net/vhost_net.o
  CC      sh4eb-softmmu/hw/scsi/virtio-scsi.o
  CC      s390x-softmmu/hw/virtio/vhost-backend.o
  CC      sh4eb-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      s390x-softmmu/hw/virtio/vhost-user.o
  CC      sh4eb-softmmu/hw/scsi/vhost-scsi-common.o
  CC      sh4eb-softmmu/hw/scsi/vhost-scsi.o
  CC      s390x-softmmu/hw/virtio/vhost-vsock.o
  CC      sh4eb-softmmu/hw/scsi/vhost-user-scsi.o
  CC      s390x-softmmu/hw/virtio/virtio-crypto.o
  CC      sh4eb-softmmu/hw/timer/sh_timer.o
  CC      s390x-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      sh4eb-softmmu/hw/timer/mc146818rtc.o
  CC      s390x-softmmu/hw/s390x/s390-virtio-hcall.o
  CC      sh4eb-softmmu/hw/vfio/common.o
  CC      s390x-softmmu/hw/s390x/sclp.o
  CC      s390x-softmmu/hw/s390x/event-facility.o
  CC      sh4eb-softmmu/hw/vfio/pci.o
  CC      s390x-softmmu/hw/s390x/sclpquiesce.o
  CC      s390x-softmmu/hw/s390x/sclpcpu.o
  CC      s390x-softmmu/hw/s390x/ipl.o
  CC      sh4eb-softmmu/hw/vfio/pci-quirks.o
  CC      s390x-softmmu/hw/s390x/css.o
  CC      sh4eb-softmmu/hw/vfio/platform.o
  CC      sh4eb-softmmu/hw/vfio/spapr.o
  CC      s390x-softmmu/hw/s390x/s390-virtio-ccw.o
  CC      sh4eb-softmmu/hw/virtio/virtio.o
  CC      s390x-softmmu/hw/s390x/3270-ccw.o
  CC      s390x-softmmu/hw/s390x/virtio-ccw.o
  CC      sh4eb-softmmu/hw/virtio/virtio-balloon.o
  CC      sh4eb-softmmu/hw/virtio/vhost.o
  CC      s390x-softmmu/hw/s390x/css-bridge.o
  CC      s390x-softmmu/hw/s390x/ccw-device.o
  CC      s390x-softmmu/hw/s390x/s390-pci-bus.o
  CC      sh4eb-softmmu/hw/virtio/vhost-backend.o
  CC      sh4eb-softmmu/hw/virtio/vhost-user.o
  CC      s390x-softmmu/hw/s390x/s390-pci-inst.o
  CC      sh4eb-softmmu/hw/virtio/vhost-vsock.o
  CC      s390x-softmmu/hw/s390x/s390-skeys.o
  CC      sh4eb-softmmu/hw/virtio/virtio-crypto.o
  CC      s390x-softmmu/hw/s390x/s390-stattrib.o
  CC      sh4eb-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      s390x-softmmu/hw/s390x/s390-skeys-kvm.o
  CC      s390x-softmmu/hw/s390x/s390-stattrib-kvm.o
  CC      sh4eb-softmmu/hw/sh4/shix.o
  CC      s390x-softmmu/hw/s390x/s390-ccw.o
  CC      sh4eb-softmmu/hw/sh4/r2d.o
  CC      s390x-softmmu/target/s390x/cpu.o
  CC      sh4eb-softmmu/hw/sh4/sh7750.o
  CC      s390x-softmmu/target/s390x/cpu_models.o
  CC      sh4eb-softmmu/hw/sh4/sh7750_regnames.o
  CC      sh4eb-softmmu/hw/sh4/sh_pci.o
  CC      s390x-softmmu/target/s390x/cpu_features.o
  CC      sh4eb-softmmu/target/sh4/translate.o
  CC      s390x-softmmu/target/s390x/gdbstub.o
  CC      s390x-softmmu/target/s390x/interrupt.o
  CC      s390x-softmmu/target/s390x/helper.o
  CC      s390x-softmmu/target/s390x/translate.o
  CC      sh4eb-softmmu/target/sh4/op_helper.o
  CC      sh4eb-softmmu/target/sh4/helper.o
  CC      sh4eb-softmmu/target/sh4/cpu.o
  CC      sh4eb-softmmu/target/sh4/monitor.o
  CC      sh4eb-softmmu/target/sh4/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      sh4eb-softmmu/trace/control-target.o
  CC      sh4eb-softmmu/trace/generated-helpers.o
  LINK    sh4eb-softmmu/qemu-system-sh4eb
  CC      s390x-softmmu/target/s390x/cc_helper.o
  CC      s390x-softmmu/target/s390x/excp_helper.o
  GEN     sh4-softmmu/hmp-commands.h
  GEN     sh4-softmmu/hmp-commands-info.h
  GEN     sh4-softmmu/config-target.h
  CC      sh4-softmmu/exec.o
  CC      s390x-softmmu/target/s390x/fpu_helper.o
  CC      s390x-softmmu/target/s390x/int_helper.o
  CC      s390x-softmmu/target/s390x/mem_helper.o
  CC      sh4-softmmu/tcg/tcg.o
  CC      s390x-softmmu/target/s390x/misc_helper.o
  CC      sh4-softmmu/tcg/tcg-op.o
  CC      s390x-softmmu/target/s390x/crypto_helper.o
  CC      s390x-softmmu/target/s390x/machine.o
  CC      s390x-softmmu/target/s390x/ioinst.o
  CC      s390x-softmmu/target/s390x/arch_dump.o
  CC      s390x-softmmu/target/s390x/mmu_helper.o
  CC      sh4-softmmu/tcg/optimize.o
  CC      s390x-softmmu/target/s390x/diag.o
  CC      s390x-softmmu/target/s390x/sigp.o
  CC      s390x-softmmu/target/s390x/kvm.o
  CC      sh4-softmmu/tcg/tcg-common.o
  CC      sh4-softmmu/fpu/softfloat.o
/var/tmp/patchew-tester-tmp-m12oo9fc/src/target/s390x/kvm.c: In function ‘kvm_s390_get_host_cpu_model’:
/var/tmp/patchew-tester-tmp-m12oo9fc/src/target/s390x/kvm.c:2241:9: error: implicit declaration of function ‘error_setg’; did you mean ‘error_report’? [-Werror=implicit-function-declaration]
         error_setg(errp, "KVM doesn't support CPU models");
         ^~~~~~~~~~
         error_report
/var/tmp/patchew-tester-tmp-m12oo9fc/src/target/s390x/kvm.c:2241:9: error: nested extern declaration of ‘error_setg’ [-Werror=nested-externs]
cc1: all warnings being treated as errors
make[1]: *** [/var/tmp/patchew-tester-tmp-m12oo9fc/src/rules.mak:66: target/s390x/kvm.o] Error 1
make: *** [Makefile:403: subdir-s390x-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      sh4-softmmu/disas.o
  CC      sh4-softmmu/arch_init.o
  CC      sh4-softmmu/cpus.o
  CC      sh4-softmmu/monitor.o
  CC      sh4-softmmu/gdbstub.o
  CC      mips64-softmmu/target/mips/cpu.o
  CC      sh4-softmmu/balloon.o
  CC      sh4-softmmu/ioport.o
  CC      sh4-softmmu/numa.o
  CC      mips64-softmmu/target/mips/gdbstub.o
  CC      mips64-softmmu/target/mips/msa_helper.o
  CC      sh4-softmmu/qtest.o
  CC      sh4-softmmu/memory.o
  CC      mips64-softmmu/target/mips/mips-semi.o
  CC      mips64-softmmu/target/mips/machine.o
  CC      sh4-softmmu/memory_mapping.o
  CC      sh4-softmmu/dump.o
  CC      sh4-softmmu/migration/ram.o
  CC      sh4-softmmu/accel/accel.o
  CC      mips64-softmmu/target/mips/cp0_timer.o
  CC      sh4-softmmu/accel/stubs/hax-stub.o
  GEN     trace/generated-helpers.c
  CC      mips64-softmmu/trace/control-target.o
  CC      ppc-softmmu/tcg/tcg.o
  CC      ppc-softmmu/tcg/tcg-op.o
  CC      mips64-softmmu/trace/generated-helpers.o
  LINK    mips64-softmmu/qemu-system-mips64
  CC      ppc-softmmu/tcg/optimize.o
  CC      ppc-softmmu/tcg/tcg-common.o
  CC      ppc-softmmu/fpu/softfloat.o
  CC      ppc-softmmu/disas.o
  GEN     ppc-softmmu/gdbstub-xml.c
  CC      ppc-softmmu/arch_init.o
  CC      ppc-softmmu/cpus.o
  CC      ppc-softmmu/monitor.o
  CC      ppc-softmmu/gdbstub.o
  CC      ppc-softmmu/balloon.o
  CC      ppc-softmmu/ioport.o
  CC      ppc-softmmu/numa.o
  CC      ppc-softmmu/qtest.o
  CC      ppc-softmmu/memory.o
  CC      ppc-softmmu/memory_mapping.o
  CC      ppc-softmmu/dump.o
  CC      ppc-softmmu/migration/ram.o
  CC      ppc-softmmu/accel/accel.o
  CC      ppc-softmmu/accel/stubs/hax-stub.o
  CC      ppc-softmmu/accel/stubs/hvf-stub.o
  CC      ppc-softmmu/accel/stubs/kvm-stub.o
  CC      ppc-softmmu/accel/tcg/tcg-all.o
  CC      ppc-softmmu/accel/tcg/cputlb.o
  CC      ppc-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc-softmmu/accel/tcg/cpu-exec.o
  CC      ppc-softmmu/accel/tcg/cpu-exec-common.o
  CC      ppc-softmmu/accel/tcg/translate-all.o
  CC      ppc-softmmu/accel/tcg/translator.o
  CC      ppc-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppc-softmmu/hw/block/virtio-blk.o
  CC      ppc-softmmu/hw/block/vhost-user-blk.o
  CC      ppc-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppc-softmmu/hw/char/virtio-serial-bus.o
  CC      ppc-softmmu/hw/core/generic-loader.o
  CC      ppc-softmmu/hw/core/null-machine.o
  CC      ppc-softmmu/hw/display/sm501.o
  CC      ppc-softmmu/hw/display/vga.o
  CC      ppc-softmmu/hw/display/virtio-gpu.o
  CC      ppc-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppc-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      ppc-softmmu/hw/misc/ivshmem.o
  CC      ppc-softmmu/hw/misc/mmio_interface.o
  CC      ppc-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc-softmmu/hw/net/virtio-net.o
  CC      ppc-softmmu/hw/net/vhost_net.o
  CC      ppc-softmmu/hw/net/fsl_etsec/etsec.o
  CC      ppc-softmmu/hw/net/fsl_etsec/registers.o
  CC      ppc-softmmu/hw/net/fsl_etsec/rings.o
  CC      ppc-softmmu/hw/net/fsl_etsec/miim.o
  CC      ppc-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc-softmmu/hw/scsi/vhost-scsi-common.o
  CC      ppc-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc-softmmu/hw/scsi/vhost-user-scsi.o
  CC      ppc-softmmu/hw/timer/mc146818rtc.o
  CC      ppc-softmmu/hw/vfio/common.o
  CC      ppc-softmmu/hw/vfio/pci.o
  CC      ppc-softmmu/hw/vfio/pci-quirks.o
  CC      ppc-softmmu/hw/vfio/platform.o
  CC      ppc-softmmu/hw/vfio/spapr.o
  CC      ppc-softmmu/hw/virtio/virtio.o
  CC      ppc-softmmu/hw/virtio/virtio-balloon.o
  CC      ppc-softmmu/hw/virtio/vhost.o
  CC      ppc-softmmu/hw/virtio/vhost-backend.o
  CC      ppc-softmmu/hw/virtio/vhost-user.o
  CC      ppc-softmmu/hw/virtio/vhost-vsock.o
  CC      ppc-softmmu/hw/virtio/virtio-crypto.o
  CC      ppc-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      ppc-softmmu/hw/ppc/ppc.o
  CC      ppc-softmmu/hw/ppc/ppc_booke.o
  CC      ppc-softmmu/hw/ppc/fdt.o
  CC      ppc-softmmu/hw/ppc/ppc4xx_devs.o
  CC      ppc-softmmu/hw/ppc/ppc405_uc.o
  CC      ppc-softmmu/hw/ppc/ppc4xx_pci.o
  CC      ppc-softmmu/hw/ppc/ppc405_boards.o
  CC      ppc-softmmu/hw/ppc/ppc440_bamboo.o
  CC      ppc-softmmu/hw/ppc/prep.o
  CC      ppc-softmmu/hw/ppc/prep_systemio.o
  CC      ppc-softmmu/hw/ppc/rs6000_mc.o
  CC      ppc-softmmu/hw/ppc/mac_oldworld.o
  CC      sh4-softmmu/accel/stubs/hvf-stub.o
  CC      sh4-softmmu/accel/stubs/kvm-stub.o
  CC      sh4-softmmu/accel/tcg/tcg-all.o
  CC      sh4-softmmu/accel/tcg/cputlb.o
  CC      sh4-softmmu/accel/tcg/tcg-runtime.o
  CC      sh4-softmmu/accel/tcg/cpu-exec.o
  CC      sh4-softmmu/accel/tcg/cpu-exec-common.o
  CC      sh4-softmmu/accel/tcg/translate-all.o
  CC      sh4-softmmu/accel/tcg/translator.o
  CC      sh4-softmmu/hw/9pfs/virtio-9p-device.o
  CC      sh4-softmmu/hw/block/tc58128.o
  CC      sh4-softmmu/hw/block/virtio-blk.o
  CC      sh4-softmmu/hw/block/vhost-user-blk.o
  CC      sh4-softmmu/hw/block/dataplane/virtio-blk.o
  CC      sh4-softmmu/hw/char/sh_serial.o
  CC      sh4-softmmu/hw/char/virtio-serial-bus.o
  CC      sh4-softmmu/hw/core/generic-loader.o
  CC      sh4-softmmu/hw/core/null-machine.o
  CC      sh4-softmmu/hw/display/sm501.o
  CC      sh4-softmmu/hw/display/vga.o
  CC      sh4-softmmu/hw/display/virtio-gpu.o
  CC      sh4-softmmu/hw/display/virtio-gpu-3d.o
  CC      sh4-softmmu/hw/display/virtio-gpu-pci.o
  CC      sh4-softmmu/hw/intc/sh_intc.o
  CC      sh4-softmmu/hw/misc/ivshmem.o
  CC      sh4-softmmu/hw/misc/mmio_interface.o
  CC      sh4-softmmu/hw/net/virtio-net.o
  CC      sh4-softmmu/hw/net/vhost_net.o
  CC      sh4-softmmu/hw/scsi/virtio-scsi.o
  CC      sh4-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      sh4-softmmu/hw/scsi/vhost-scsi-common.o
  CC      sh4-softmmu/hw/scsi/vhost-scsi.o
  CC      sh4-softmmu/hw/scsi/vhost-user-scsi.o
  CC      sh4-softmmu/hw/timer/sh_timer.o
  CC      sh4-softmmu/hw/timer/mc146818rtc.o
  CC      sh4-softmmu/hw/vfio/common.o
  CC      sh4-softmmu/hw/vfio/pci.o
  CC      sh4-softmmu/hw/vfio/pci-quirks.o
  CC      sh4-softmmu/hw/vfio/platform.o
  CC      sh4-softmmu/hw/vfio/spapr.o
  CC      sh4-softmmu/hw/virtio/virtio.o
  CC      sh4-softmmu/hw/virtio/virtio-balloon.o
  CC      sh4-softmmu/hw/virtio/vhost.o
  CC      sh4-softmmu/hw/virtio/vhost-backend.o
  CC      sh4-softmmu/hw/virtio/vhost-user.o
  CC      sh4-softmmu/hw/virtio/vhost-vsock.o
  CC      sh4-softmmu/hw/virtio/virtio-crypto.o
  CC      sh4-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      sh4-softmmu/hw/sh4/shix.o
  CC      sh4-softmmu/hw/sh4/r2d.o
  CC      sh4-softmmu/hw/sh4/sh7750.o
  CC      sh4-softmmu/hw/sh4/sh7750_regnames.o
  CC      sh4-softmmu/hw/sh4/sh_pci.o
  CC      sh4-softmmu/target/sh4/translate.o
  CC      sh4-softmmu/target/sh4/op_helper.o
  CC      sh4-softmmu/target/sh4/helper.o
  CC      sh4-softmmu/target/sh4/cpu.o
  CC      sh4-softmmu/target/sh4/monitor.o
  CC      sh4-softmmu/target/sh4/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      sh4-softmmu/trace/control-target.o
  CC      sh4-softmmu/trace/generated-helpers.o
  CC      ppc-softmmu/hw/ppc/mac_newworld.o
  CC      ppc-softmmu/hw/ppc/e500.o
  CC      ppc-softmmu/hw/ppc/mpc8544ds.o
  LINK    sh4-softmmu/qemu-system-sh4
  CC      ppc-softmmu/hw/ppc/e500plat.o
  CC      ppc-softmmu/hw/ppc/mpc8544_guts.o
  CC      ppc-softmmu/hw/ppc/ppce500_spin.o
  CC      ppc-softmmu/hw/ppc/virtex_ml507.o
  CC      ppc-softmmu/target/ppc/cpu-models.o
  CC      ppc-softmmu/target/ppc/cpu.o
  CC      ppc-softmmu/target/ppc/translate.o
  CC      ppc-softmmu/target/ppc/machine.o
  CC      ppc-softmmu/target/ppc/mmu_helper.o
  CC      ppc-softmmu/target/ppc/mmu-hash32.o
  CC      ppc-softmmu/target/ppc/monitor.o
  CC      ppc-softmmu/target/ppc/arch_dump.o
  CC      ppc-softmmu/target/ppc/kvm-stub.o
  CC      ppc-softmmu/target/ppc/dfp_helper.o
  CC      ppc-softmmu/target/ppc/excp_helper.o
  CC      ppc-softmmu/target/ppc/fpu_helper.o
  CC      ppc-softmmu/target/ppc/int_helper.o
  CC      ppc-softmmu/target/ppc/timebase_helper.o
  CC      ppc-softmmu/target/ppc/misc_helper.o
  CC      ppc-softmmu/target/ppc/mem_helper.o
  CC      ppc-softmmu/target/ppc/gdbstub.o
  CC      ppc-softmmu/target/ppc/../../libdecnumber/decContext.o
  CC      ppc-softmmu/target/ppc/../../libdecnumber/decNumber.o
  CC      ppc-softmmu/target/ppc/../../libdecnumber/dpd/decimal32.o
  CC      ppc-softmmu/target/ppc/../../libdecnumber/dpd/decimal64.o
  CC      ppc-softmmu/target/ppc/../../libdecnumber/dpd/decimal128.o
  GEN     trace/generated-helpers.c
  CC      ppc-softmmu/trace/control-target.o
  CC      ppc-softmmu/gdbstub-xml.o
  CC      ppc-softmmu/trace/generated-helpers.o
  LINK    ppc-softmmu/qemu-system-ppc
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
                   ` (20 preceding siblings ...)
  2018-01-31  0:12 ` no-reply
@ 2018-01-31  7:10 ` Thomas Huth
  2018-01-31 14:00   ` Markus Armbruster
  21 siblings, 1 reply; 49+ messages in thread
From: Thomas Huth @ 2018-01-31  7:10 UTC (permalink / raw)
  To: qemu-devel

On 30.01.2018 11:21, Markus Armbruster wrote:
> We have awfully many "touch it, recompile the world" headers.  Right
> now, I count about fifty that are prerequisites of more than half the
> objects in my "build everything" tree.

Could you maybe share the list of these 50 headers? ... cleaning this up
could also be a good task for https://wiki.qemu.org/BiteSizedTasks I guess?

 Thomas

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 01/18] Clean up includes
  2018-01-30 13:22   ` BALATON Zoltan
@ 2018-01-31  7:48     ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  7:48 UTC (permalink / raw)
  To: BALATON Zoltan; +Cc: qemu-devel

BALATON Zoltan <balaton@eik.bme.hu> writes:

> On Tue, 30 Jan 2018, Markus Armbruster wrote:
>> Clean up includes so that osdep.h is included first and headers
>> which it implies are not included manually.
>>
>> This commit was created with scripts/clean-includes, with the change
>> to target/s390x/gen-features.c manually reverted, and blank lines
>> around deletions collapsed.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
[...]
>> diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c
>> index 17aa930e39..a5d1776756 100644
>> --- a/hw/ide/sii3112.c
>> +++ b/hw/ide/sii3112.c
>> @@ -12,6 +12,7 @@
>>  * http://wiki.osdev.org/User:Quok/Silicon_Image_Datasheets
>>  */
>>
>> +#include "qemu/osdep.h"
>> #include <qemu/osdep.h>
>> #include <hw/ide/pci.h>
>> #include "trace.h"
>
> This is wrong. I've sent a patch instead to change angle brackets to
> quotes for these two includes. This wasn't catched either by
> checkpatch nor review though so maybe it could be added to checkpatch
> if quotes are the preferred style for these includes.

Good catch!  There's more than these two in the tree.  I'll stick in a
suitable cleanup patch.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h
  2018-01-30 15:46   ` Eric Blake
@ 2018-01-31  7:49     ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  7:49 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 01/30/2018 04:21 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>
>> +++ b/tests/test-clone-visitor.c
>> @@ -11,7 +11,6 @@
>>  
>>  #include "qemu-common.h"
>>  #include "qapi/clone-visitor.h"
>> -#include "test-qapi-types.h"
>
> Overactive sed pattern?  This is a different header.  While the tests
> still pass after deleting this include, removal of the test-qapi-types.h
> line here and in other tests/ files should be a separate patch, or else
> the commit message updated to mention it.

Intentional.  I'll amend the commit message.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed
  2018-01-30 16:14   ` Eric Blake
@ 2018-01-31  7:58     ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  7:58 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 01/30/2018 04:21 AM, Markus Armbruster wrote:
>> This cleanup makes the number of objects depending on qapi/error.h
>> drop from 1910 (out of 4739) to 1612 in my "build everything" tree.
>> 
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  arch_init.c                             | 1 +
>>  audio/wavcapture.c                      | 1 +
>>  balloon.c                               | 1 +
>>  block.c                                 | 2 ++
>>  block/block-backend.c                   | 1 +
>>  block/iscsi.c                           | 1 +
>>  block/qapi.c                            | 1 +
>
> So several .c files have to use it explicitly,
>
>>  fsdev/qemu-fsdev-throttle.h             | 1 -
>
>>  include/crypto/random.h                 | 1 -
>>  include/crypto/xts.h                    | 1 -
>>  include/hw/ide/internal.h               | 1 -
>>  include/ui/console.h                    | 1 -
>
> because they were previously getting it from .h files that don't
> directly emit an error.  Makes sense.
>
> Patches like this are easy to test - if it still compiles, you did it
> right ;)  Out of curiousity, how are you counting how many files got
> compiled per run?  Touch the .h, then pass 'make' output to 'grep -c "^
> CC "'?

The data is up for grabs: in the .d gcc spits out for make.  I process
them like this, after fresh build:

    $ find bld -name \*.d -exec cat {} + | clean-deps

where clean-deps is this AWK script:

    #!/usr/bin/awk -f
    /\\$/ {
        l = $0
        while (sub(/\\$/, "", l) && (getline t))
            l = l t
        $0 = l
    }

    NF > 1 {
        delete a
        for (i = 2; i <= NF; i++) {
            n = $i
            # ignore system headers and non-headers
            if (match(n, /^\/usr/) || !match(n, /\.h$/))
                continue
            # strip leading ../ from target build running in sub-directory
            sub(/^\.\.\//, "", n)
            # normalize /../ and /./
            while (sub(/[^\/]*\/\.\.\//, "", n)) ;
            gsub(/\/\.\//, "/", n)
            # absolute -> relative
            sub(/\/home\/armbru\/work\//, "/work/armbru/", n)
            sub(/\/work\/armbru\/qemu\/(bld\/)?/, "", n)
            # ignore dupes
            if (n in a)
                continue
            a[n] = i
            h[n]++
        }
    }

    END {
        for (i in h)
            print i, h[i]
    }

My conversion from absolute to relative is specific to my personal
setup.  It would have to be generalized before we can put this into
scripts.

> But just to make sure nothing weird is happening, I also read through
> it, and found:
>
>> 
>> diff --git a/arch_init.c b/arch_init.c
>> index a0b8ed6167..0fb8093f92 100644
>> --- a/arch_init.c
>> +++ b/arch_init.c
>> @@ -21,6 +21,7 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> +
>>  #include "qemu/osdep.h"
>>  #include "qemu-common.h"
>>  #include "cpu.h"
>
> Spurious whitespace change.  Should this belong in 1/18, even though
> arch_init.c didn't need cleanup there?  Or...
>
>> +++ b/block.c
>> @@ -21,6 +21,7 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> +
>>  #include "qemu/osdep.h"
>>  #include "block/trace.h"
>>  #include "block/block_int.h"
>
> ...since you did it again, do you need a separate patch for ALL of these
> types of whitespace cleanups near osdep.h?

I routinely insert this blank line when I touch includes anyway.

>> +++ b/block/qcow2.c
>> @@ -21,6 +21,7 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> +
>>  #include "qemu/osdep.h"
>>  #include "block/block_int.h"
>>  #include "sysemu/block-backend.h"
>
> and again
>
>> +++ b/chardev/char-ringbuf.c
>> @@ -21,9 +21,11 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> +
>>  #include "qemu/osdep.h"
>>  #include "chardev/char.h"
>>  #include "qmp-commands.h"
>> +#include "qapi/error.h"
>>  #include "qemu/base64.h"
>>  
>>  /* Ring buffer chardev */
>
> Here, it's in the same hunk, so a bit more forgivable.  But there's
> definitely enough of them that a separate commit might be in order.
>
> At any rate, whether done as one patch (with a better commit message) or
> as two, I see nothing semantically wrong with the cleanups done here, so

I'll amend the commit message.

> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions
  2018-01-30 17:02   ` Eric Blake
@ 2018-01-31  8:11     ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  8:11 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 01/30/2018 04:21 AM, Markus Armbruster wrote:
>> The macro expansions of qdict_put_TYPE() and qlist_append_TYPE() need
>> qbool.h, qnull.h, qnum.h and qstring.h to compile.  We include qnull.h
>> and qnum.h in the headers, but not qbool.h and qstring.h.  Works,
>> because we include those wherever the macros get used.
>> 
>> Open-coding these helpers is of dubious value.  Turn them into
>> functions and drop the includes from the headers.
>> 
>> This cleanup makes the number of objects depending on qapi/qmp/qnum.h
>> from 4548 (out of 4739) to 46 in my "build everything" tree.  For
>> qapi/qmp/qnull.h, the number drops from 4549 to 21.
>
> Impressive!
>
>
>> +++ b/qobject/qdict.c
>> @@ -14,6 +14,7 @@
>>  #include "qapi/qmp/qnum.h"
>>  #include "qapi/qmp/qdict.h"
>>  #include "qapi/qmp/qbool.h"
>> +#include "qapi/qmp/qnull.h"
>>  #include "qapi/qmp/qstring.h"
>>  #include "qapi/qmp/qobject.h"
>>  #include "qapi/error.h"
>> @@ -143,6 +144,26 @@ void qdict_put_obj(QDict *qdict, const char *key, QObject *value)
>>      }
>>  }
>>  
>> +void qdict_put_int(QDict *qdict, const char *key, int64_t value)
>> +{
>> +    qdict_put(qdict, key, qnum_from_int(value));
>> +}
>
> If I'm not mistaken (although I didn't actually test), this triggers a
> false positive in scripts/coccinelle/qobject.cocci, no?  Is there a
> convenient way to tell coccinelle that a rewrite pattern applies
> everywhere except for where the pattern itself is implemented?  But even

I figure it's possible, but too much trouble to be worthwhile.

> if not, we can always use manual inspection when rerunning Coccinelle to
> make sure we don't turn these into infinite loops.

Yup.

> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users
  2018-01-30 18:08   ` Eric Blake
@ 2018-01-31  8:14     ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  8:14 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 01/30/2018 04:22 AM, Markus Armbruster wrote:
>> qemu-common.h includes qemu/option.h, but most places that include the
>> former don't actually need the latter.  Drop the include, and add it
>> to the places that actually need it.
>> 
>> While there, drop superfluous includes of both headers.
>> 
>> This cleanup makes the number of objects depending on qemu/option.h
>> drop from 4542 (out of 4739) to 284 in my "build everything" tree.
>> 
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  103 files changed, 98 insertions(+), 54 deletions(-)
>
> Bigger effort, but still a nice cleanup.  And especially nice if we're
> trying to reduce users of QemuOpts.
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
>
>> +++ b/block/file-posix.c
>> @@ -21,12 +21,14 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> +
>>  #include "qemu/osdep.h"
>>  #include "qapi/error.h"
>>  #include "qemu/cutils.h"
>>  #include "qemu/error-report.h"
>>  #include "block/block_int.h"
>>  #include "qemu/module.h"
>> +#include "qemu/option.h"
>>  #include "trace.h"
>
> More of the blank line before osdep.h cleanup comment.
>
>> +++ b/hw/9pfs/9p-handle.c
>> @@ -22,6 +22,7 @@
>>  #include "qemu/xattr.h"
>>  #include "qemu/cutils.h"
>>  #include "qemu/error-report.h"
>> +#include "qemu/option.h"
>>  #include <linux/fs.h>
>>  #ifdef CONFIG_LINUX_MAGIC_H
>>  #include <linux/magic.h>
>
> Shouldn't we be fixing this one to include system headers (like
> <linux/fs.h> prior to internal headers?  Separate cleanup, though.

I'd love to see a tree-wide #include ordering cleanup, with a checkpatch
extension or a make target check-source to keep it clean.  Out of this
series' scope.

>> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
>> index c6d8af4fb8..d85494bd31 100644
>> --- a/hw/9pfs/9p-local.c
>> +++ b/hw/9pfs/9p-local.c
>> @@ -26,6 +26,7 @@
>>  #include "qapi/error.h"
>>  #include "qemu/cutils.h"
>>  #include "qemu/error-report.h"
>> +#include "qemu/option.h"
>>  #include <libgen.h>
>>  #include <linux/fs.h>
>
> More of that separate cleanup.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-30 18:36 ` Philippe Mathieu-Daudé
@ 2018-01-31  8:31   ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31  8:31 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: qemu-devel

Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> On 01/30/2018 07:21 AM, Markus Armbruster wrote:
>> We have awfully many "touch it, recompile the world" headers.  Right
>> now, I count about fifty that are prerequisites of more than half the
>> objects in my "build everything" tree.
>> 
>> Some of them are that way by necessity.  Many of them are not.  This
>> series takes care of six I happen to touch, because serve as their
>> maintainer:
>> 
>>     include/qapi/qmp/qdict.h
>>     include/qapi/qmp/qlist.h
>>     include/qapi/qmp/qnull.h
>>     include/qapi/qmp/qnum.h
>>     include/qapi/qmp/qobject.h
>>     include/qemu/option.h
>> 
>> Before this series, touching any of these recompiles more than 95% of
>> my objects.  That's more than 4500 compiler runs.  After this series,
>> only 0.3% - 8% of my objects get recompiled.
>
> nice cleanup :)
>
> No more comment than what Eric said (mostly newlines),
> and Zoltan regarding <qemu/osdep.h>, so
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Thanks!

> Is there a way to check if an header got used or not?
> (thinking about a patchew check to not add headers until effectively used).

The only one I know is "drop the include and see whether it still
compiles".  Would be nice if the compiler could report superfluous
headers.

For a header, "compiles" means a .c file containing just two includes
(qemu/osdep.h and the header) compiles.  Many of our headers don't.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time
  2018-01-31  7:10 ` Thomas Huth
@ 2018-01-31 14:00   ` Markus Armbruster
  0 siblings, 0 replies; 49+ messages in thread
From: Markus Armbruster @ 2018-01-31 14:00 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel

Thomas Huth <thuth@redhat.com> writes:

> On 30.01.2018 11:21, Markus Armbruster wrote:
>> We have awfully many "touch it, recompile the world" headers.  Right
>> now, I count about fifty that are prerequisites of more than half the
>> objects in my "build everything" tree.
>
> Could you maybe share the list of these 50 headers? ... cleaning this up
> could also be a good task for https://wiki.qemu.org/BiteSizedTasks I guess?

Top-scorers after this series appended, arbitrarily cut off at 1000
objects.

qemu/osdep.h and the headers it includes (config-host.h exec/poison.h
qemu/compiler.h sysemu/os-posix.h glib-compat.h qemu/typedefs.h) trigger
full recompiles by design, and some headers might be necessarily bad
(e.g. trace/control.h).  But I'm sure plenty of stupid shit that could
be cleaned up.

I'm going to post patches for qapi-types.h.

config-host.h 4939
include/glib-compat.h 4939
include/qemu/compiler.h 4939
include/qemu/osdep.h 4939
include/qemu/typedefs.h 4939
include/sysemu/os-posix.h 4939
include/qemu/fprintf-fn.h 4657
include/qemu/module.h 4643
include/qemu/atomic.h 4625
include/qapi/util.h 4615
include/qemu/queue.h 4612
qapi-types.h 4612
include/fpu/softfloat.h 4572
include/qemu/bswap.h 4512
include/qemu-common.h 4498
include/qemu/host-utils.h 4470
include/qemu/processor.h 4424
include/qemu/thread-posix.h 4423
include/qemu/thread.h 4423
include/qemu/bitops.h 4378
include/qom/object.h 4353
include/qemu/bitmap.h 4307
include/hw/irq.h 4249
include/hw/hotplug.h 4241
include/hw/qdev-core.h 4240
include/exec/hwaddr.h 4239
include/exec/memattrs.h 4237
include/qemu/notify.h 4100
include/qemu/rcu.h 4054
include/exec/cpu-common.h 4047
include/exec/memory.h 4044
config-target.h 3805
include/disas/bfd.h 3622
include/qom/cpu.h 3605
include/qemu/timer.h 3424
include/qemu/int128.h 3019
include/exec/cpu-all.h 2903
include/exec/cpu-defs.h 2903
tcg/i386/tcg-target.h 2903
tcg/tcg-mo.h 2903
include/qemu/rcu_queue.h 2884
include/exec/ramlist.h 2850
include/qemu/log.h 2587
include/qemu/event_notifier.h 2348
include/block/aio.h 2339
include/qemu/main-loop.h 2039
migration/qjson.h 2029
include/migration/vmstate.h 2028
include/hw/qdev-properties.h 1991
include/sysemu/reset.h 1931
include/migration/qemu-file-types.h 1930
include/hw/hw.h 1929
trace/control-internal.h 1863
trace/control.h 1863
trace/event-internal.h 1863
include/hw/qdev.h 1784
include/qapi/error.h 1657
include/qemu/qdist.h 1639
include/qemu/qht.h 1637
include/qemu/seqlock.h 1637
include/exec/tb-context.h 1634
include/sysemu/cpus.h 1626
include/qemu/error-report.h 1610
include/qemu/uuid.h 1609
include/sysemu/sysemu.h 1599
include/exec/exec-all.h 1518
include/qemu/iov.h 1491
include/qemu/coroutine.h 1481
include/exec/address-spaces.h 1408
include/qemu/timed-average.h 1360
include/qemu/hbitmap.h 1359
include/block/accounting.h 1358
include/block/block.h 1358
include/block/blockjob.h 1358
include/block/dirty-bitmap.h 1358
include/exec/user/abitypes.h 1195
tcg/tcg-opc.h 1187
tcg/tcg.h 1187
include/exec/poison.h 1134
trace-root.h 1097

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2018-01-31 14:01 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-30 10:21 [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time Markus Armbruster
2018-01-30 10:21 ` [Qemu-devel] [PATCH 01/18] Clean up includes Markus Armbruster
2018-01-30 13:22   ` BALATON Zoltan
2018-01-31  7:48     ` Markus Armbruster
2018-01-30 15:23   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 02/18] Drop superfluous includes of qapi-types.h Markus Armbruster
2018-01-30 15:46   ` Eric Blake
2018-01-31  7:49     ` Markus Armbruster
2018-01-30 10:21 ` [Qemu-devel] [PATCH 03/18] Include qapi/error.h exactly where needed Markus Armbruster
2018-01-30 16:14   ` Eric Blake
2018-01-31  7:58     ` Markus Armbruster
2018-01-30 10:21 ` [Qemu-devel] [PATCH 04/18] Drop superfluous includes of qapi/qmp/qerror.h Markus Armbruster
2018-01-30 16:20   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 05/18] Include qmp-commands.h exactly where needed Markus Armbruster
2018-01-30 16:43   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 06/18] Typedef the subtypes of QObject in qemu/typedefs.h, too Markus Armbruster
2018-01-30 16:50   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 07/18] Eliminate qapi/qmp/types.h Markus Armbruster
2018-01-30 16:56   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 08/18] qdict qlist: Make most helper macros functions Markus Armbruster
2018-01-30 17:02   ` Eric Blake
2018-01-31  8:11     ` Markus Armbruster
2018-01-30 10:21 ` [Qemu-devel] [PATCH 09/18] Include qapi/qmp/qobject.h exactly where needed Markus Armbruster
2018-01-30 17:03   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 10/18] Include qapi/qmp/qlist.h " Markus Armbruster
2018-01-30 17:47   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 11/18] Include qapi/qmp/qdict.h " Markus Armbruster
2018-01-30 17:51   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 12/18] Include qapi/qmp/qstring.h " Markus Armbruster
2018-01-30 17:55   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 13/18] Include qapi/qmp/qbool.h " Markus Armbruster
2018-01-30 17:57   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 14/18] Include qapi/qmp/qnum.h " Markus Armbruster
2018-01-30 17:58   ` Eric Blake
2018-01-30 10:21 ` [Qemu-devel] [PATCH 15/18] Include qapi/qmp/qnull.h " Markus Armbruster
2018-01-30 17:59   ` Eric Blake
2018-01-30 10:22 ` [Qemu-devel] [PATCH 16/18] Drop superfluous includes of qapi/qmp/dispatch.h Markus Armbruster
2018-01-30 18:00   ` Eric Blake
2018-01-30 10:22 ` [Qemu-devel] [PATCH 17/18] Drop superfluous includes of qapi/qmp/qjson.h Markus Armbruster
2018-01-30 18:01   ` Eric Blake
2018-01-30 10:22 ` [Qemu-devel] [PATCH 18/18] Move include qemu/option.h from qemu-common.h to actual users Markus Armbruster
2018-01-30 18:08   ` Eric Blake
2018-01-31  8:14     ` Markus Armbruster
2018-01-30 13:39 ` [Qemu-devel] [PATCH 00/18] Clean up includes to reduce compile time no-reply
2018-01-30 18:36 ` Philippe Mathieu-Daudé
2018-01-31  8:31   ` Markus Armbruster
2018-01-31  0:12 ` no-reply
2018-01-31  7:10 ` Thomas Huth
2018-01-31 14:00   ` Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.