All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/28] Tame a few "touch this, recompile the world" headers
@ 2019-07-26 12:05 Markus Armbruster
  2019-07-26 12:05 ` [Qemu-devel] [PATCH 01/28] include: Make headers more self-contained Markus Armbruster
                   ` (27 more replies)
  0 siblings, 28 replies; 80+ messages in thread
From: Markus Armbruster @ 2019-07-26 12:05 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé,
	Eduardo Habkost, Stefan Hajnoczi, Igor Mammedov, Paolo Bonzini

We have quite a few "touch this, recompile the world" headers.  My
"build everything" tree has some 6600 objects (not counting tests and
objects that don't depend on qemu/osdep.h).  Touching any of 53
headers triggers a recompile of more than half of them.

This series reduces them to 46.

Six of the 53 are included always by design, via qemu/osdep.h.  These
are

    bld/config-host.h
    include/glib-compat.h
    include/qemu/compiler.h
    include/qemu/osdep.h
    include/qemu/typedefs.h
    include/sysemu/os-posix.h

Additionally, osdep.h includes either include/exec/poison.h or
bld/TARGET_DIR/config-target.h.

The seven headers this series improves to my satisfaction are

    bld/qapi/qapi-types-common.h
    include/block/aio.h
    include/hw/irq.h
    include/qemu/event_notifier.h
    include/qemu/main-loop.h
    include/qemu/uuid.h
    include/sysemu/sysemu.h

Of these, block/aio.h, qemu/main-loop.h and sysemu/sysemu.h are
particular significant, as they in turn include numerous other
headers.

The series makes real progress on a few more, but they're still bad:

    bld/qapi/qapi-types-run-state.h
    include/qemu/timer.h
    include/qom/cpu.h
    include/disas/dis-asm.h
    include/qemu/notify.h
    include/qemu/atomic.h

Minor improvements:

    bld/qapi/qapi-builtin-types.h
    include/exec/cpu-common.h
    include/exec/hwaddr.h
    include/exec/memattrs.h
    include/exec/memory.h
    include/exec/memory_ldst.inc.h
    include/exec/memory_ldst_cached.inc.h
    include/exec/memory_ldst_phys.inc.h
    include/exec/ramlist.h
    include/fpu/softfloat-types.h
    include/hw/hotplug.h
    include/hw/qdev-core.h
    include/qapi/util.h
    include/qemu/bitmap.h
    include/qemu/bitops.h
    include/qemu/bswap.h
    include/qemu/coroutine.h
    include/qemu/host-utils.h
    include/qemu/int128.h
    include/qemu/lockable.h
    include/qemu/module.h
    include/qemu/processor.h
    include/qemu/qsp.h
    include/qemu/queue.h
    include/qemu/rcu.h
    include/qemu/rcu_queue.h
    include/qemu/sys_membarrier.h
    include/qemu/thread-posix.h
    include/qemu/thread.h
    include/qom/object.h

Untouched:

    include/exec/cpu-all.h
    include/exec/cpu-defs.h
    tcg/i386/tcg-target.h
    tcg/tcg-mo.h

Further improvement is certainly possible.  exec/cpu-all.h,
exec/cpu-defs.h, exec/memory.h, hw/qdev-core.h, qemu/coroutine.h,
qemu/lockable.h, and qom/cpu.h pull in more than ten other headers,
which makes them particularly wortwhile targets.

Observed patterns of #include misuse:

* Copy pasta

  I found and deleted quite a few #include that were almost certainly
  never needed.  The most likely explanation is lazy copying from a
  "similar" file.  My deletions produced only minor improvements,
  though.

* "Convenience" headers

  We sometimes have a header include a bunch of other headers the
  header itself doesn't need, so the header's users don't have to.  An
  extreme case is hw/hw.h: it pulls in more than 40 other headers,
  then declares just hw_error().  Most of its users need only a
  fraction of it.  PATCH 08-09,12-18 fix that, trading the very
  occasional convenience of not having to type a few #include
  directives for build speed.

* "Fat" headers

  Some headers provide many things to many customers.  Bad when the
  customers generally need only parts.  Worse when such a "fat" header
  pulls in loads more.  This series grapples with three instances:
  qapi/qapi-types-common.h (PATCH 03), hw/boards.h, which pulls in
  almost 70 headers (PATCH 19-23), and sysemu/sysemu.h, which pulls in
  more than 20 (PATCH 23-28).

* Design erosion

  Off-the-cuff additions to headers can erode design.  For instance,
  the generated trace.h were carefully designed for minimal
  dependencies.  We let them balloon when we added the per-vCPU
  tracing feature a few years later.  PATCH 07 grapples with that.

PATCH 01 was previously posted separately.  Since it needs a rebase
now, I include it.

Related prior discussion:
Subject: Re: Our use of #include is undisciplined, and what to do about it
Date: Mon, 27 May 2019 15:12:34 +0200
Message-ID: <877eac82il.fsf@dusky.pond.sub.org>
https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg06291.html

Detailed measurements, improvements under 10% omitted:

 before   after  improvement
   5557     526    5031  91% include/hw/irq.h
   5585    1082    4503  81% include/sysemu/sysemu.h
   5591    1093    4498  80% include/qemu/uuid.h
   5694    1681    4013  70% include/qemu/main-loop.h
   5713    2755    2958  52% include/block/aio.h
   5715    2777    2938  51% include/qemu/event_notifier.h
   2814     268    2546  90% bld/qapi/qapi-types-block.h
   2442    gone    2442      include/hw/qdev.h
   2565     179    2386  93% include/hw/hw.h
   2569     184    2385  93% include/sysemu/reset.h
   2567     193    2374  92% include/migration/qemu-file-types.h
   3033     870    2163  71% bld/qapi/qapi-types-misc.h
   2666    1237    1429  54% include/hw/qdev-properties.h
   5713    4366    1347  24% bld/qapi/qapi-types-run-state.h
   5729    4431    1298  23% include/qemu/timer.h
   2677    1548    1129  42% include/migration/vmstate.h
   3875    2846    1029  27% bld/qapi/qapi-types-common.h
   2972    2040     932  31% bld/qapi/qapi-types-block-core.h
   2976    2046     930  31% bld/qapi/qapi-types-job.h
   3013    2084     929  31% bld/qapi/qapi-types-crypto.h
   3326    2684     642  19% bld/qapi/qapi-types-sockets.h
   4589    3958     631  14% include/qom/cpu.h
   4608    3977     631  14% include/disas/dis-asm.h
    248     111     137  55% include/sysemu/hostmem.h
     41      27      14  34% include/hw/ide/internal.h
     66      52      14  21% include/hw/ide.h
    109      95      14  13% include/scsi/constants.h
     17      11       6  35% include/hw/ide/pci.h
    141     142      -1  -1% include/qapi/qobject-input-visitor.h
    149     150      -1  -1% include/qapi/qmp-event.h
    152     153      -1  -1% bld/qapi/qapi-emit-events.h
    392     393      -1   0% include/qapi/qmp/qerror.h
    238     240      -2  -1% include/qapi/dealloc-visitor.h
    245     247      -2  -1% include/qapi/qobject-output-visitor.h
    342     344      -2  -1% include/qapi/qmp/qdict.h
    404     406      -2   0% include/qapi/qmp/qobject.h
   2740    2743      -3   0% include/qapi/error.h
    554     558      -4  -1% bld/qapi/qapi-builtin-visit.h
    793     797      -4  -1% include/qapi/visitor.h
   1129    1133      -4   0% include/exec/poison.h
   6591    6595      -4   0% bld/config-host.h
   6591    6595      -4   0% include/glib-compat.h
   6591    6595      -4   0% include/qemu/compiler.h
   6591    6595      -4   0% include/qemu/osdep.h
   6591    6595      -4   0% include/qemu/typedefs.h
   6591    6595      -4   0% include/sysemu/os-posix.h
    119     135     -16 -13% include/sysemu/numa.h
    new      32     -32      bld/qapi/qapi-events-error.h
    new      63     -63      bld/qapi/qapi-commands-error.h
    new     128    -128      bld/qapi/qapi-visit-error.h
    new     182    -182      include/sysemu/vmstate-notify.h
    new    1334   -1334      trace/control-vcpu.h
    new    2774   -2774      bld/qapi/qapi-types-error.h

The additional inclusions are due to PATCH 3's new bld/qapi-*-error.c,
except for sysemu/numa.h, which is due to PATCH 25.

Markus Armbruster (28):
  include: Make headers more self-contained
  Include generated QAPI headers less
  qapi: Split error.json off common.json
  memory: Fix type of IOMMUMemoryRegionClass member @parent_class
  queue: Drop superfluous #include qemu/atomic.h
  trace: Eliminate use of TARGET_FMT_plx
  trace: Do not include qom/cpu.h into generated trace.h
  Include sysemu/reset.h a lot less
  Include migration/qemu-file-types.h a lot less
  ide: Include hw/ide/internal a bit less outside hw/ide/
  typedefs: Separate incomplete types and function types
  Include hw/irq.h a lot less
  Clean up inclusion of exec/cpu-common.h
  migration: Move the VMStateDescription typedef to typedefs.h
  Include migration/vmstate.h less
  Include exec/memory.h slightly less
  Include qom/object.h slightly less
  Include hw/hw.h exactly where needed
  Include qemu/queue.h slightly less
  Include qemu/main-loop.h less
  Include hw/qdev-properties.h less
  Include hw/boards.h a bit less
  numa: Don't include hw/boards.h into sysemu/numa.h
  Include sysemu/hostmem.h less
  numa: Move remaining NUMA declarations from sysemu.h to numa.h
  Clean up inclusion of sysemu/sysemu.h
  sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h
  Include sysemu/sysemu.h a lot less

 MAINTAINERS                              |  2 +
 accel/kvm/kvm-all.c                      |  3 +-
 accel/stubs/tcg-stub.c                   |  1 -
 accel/tcg/tcg-all.c                      |  1 -
 audio/audio.c                            |  4 +-
 audio/spiceaudio.c                       |  1 -
 audio/wavcapture.c                       |  1 -
 backends/cryptodev-builtin.c             |  1 -
 backends/cryptodev-vhost-user.c          |  1 -
 backends/cryptodev.c                     |  1 -
 backends/hostmem.c                       |  1 +
 backends/vhost-user.c                    |  1 -
 balloon.c                                |  1 -
 block.c                                  |  1 +
 block/block-backend.c                    |  3 ++
 block/create.c                           |  1 +
 block/io.c                               |  1 +
 block/nbd.c                              |  1 +
 block/nfs.c                              |  2 +-
 block/nvme.c                             |  1 +
 block/qcow2.c                            |  1 +
 block/qed.c                              |  1 +
 block/sheepdog.c                         |  1 +
 block/throttle-groups.c                  |  1 +
 blockdev-nbd.c                           |  1 -
 blockdev.c                               |  1 +
 blockjob.c                               |  1 +
 chardev/baum.c                           |  1 +
 chardev/char-pipe.c                      |  1 +
 chardev/char-win-stdio.c                 |  1 +
 chardev/char-win.c                       |  1 +
 cpus.c                                   |  4 ++
 device-hotplug.c                         |  1 -
 dump/dump.c                              |  1 +
 dump/win_dump.c                          |  1 -
 exec.c                                   |  5 +-
 fsdev/qemu-fsdev-throttle.c              |  1 +
 fsdev/qemu-fsdev-throttle.h              |  1 -
 gdbstub.c                                |  1 +
 hw/9pfs/9p.c                             |  1 +
 hw/9pfs/codir.c                          |  1 +
 hw/9pfs/cofile.c                         |  1 +
 hw/9pfs/cofs.c                           |  1 +
 hw/9pfs/coth.c                           |  1 +
 hw/9pfs/coth.h                           |  1 -
 hw/9pfs/coxattr.c                        |  1 +
 hw/9pfs/virtio-9p-device.c               |  1 +
 hw/9pfs/xen-9p-backend.c                 |  2 +-
 hw/acpi/core.c                           |  2 +-
 hw/acpi/cpu.c                            |  2 +-
 hw/acpi/cpu_hotplug.c                    |  1 -
 hw/acpi/ich9.c                           |  5 +-
 hw/acpi/memory_hotplug.c                 |  2 +-
 hw/acpi/pcihp.c                          |  3 +-
 hw/acpi/piix4.c                          |  7 ++-
 hw/acpi/tco.c                            |  2 +
 hw/acpi/vmgenid.c                        |  4 +-
 hw/adc/stm32f2xx_adc.c                   |  2 +-
 hw/alpha/alpha_sys.h                     |  1 -
 hw/alpha/dp264.c                         |  2 -
 hw/alpha/pci.c                           |  1 -
 hw/alpha/typhoon.c                       |  4 +-
 hw/arm/allwinner-a10.c                   |  2 +
 hw/arm/armsse.c                          |  2 +
 hw/arm/armv7m.c                          |  2 +
 hw/arm/aspeed.c                          |  1 +
 hw/arm/aspeed_soc.c                      |  1 +
 hw/arm/boot.c                            |  3 +-
 hw/arm/collie.c                          |  1 -
 hw/arm/cubieboard.c                      |  1 +
 hw/arm/digic.c                           |  1 +
 hw/arm/exynos4210.c                      |  4 +-
 hw/arm/exynos4_boards.c                  |  2 +
 hw/arm/fsl-imx25.c                       |  2 +-
 hw/arm/fsl-imx31.c                       |  2 +-
 hw/arm/fsl-imx6.c                        |  1 +
 hw/arm/gumstix.c                         |  1 -
 hw/arm/highbank.c                        |  1 +
 hw/arm/integratorcp.c                    |  3 ++
 hw/arm/kzm.c                             |  1 +
 hw/arm/mainstone.c                       |  1 -
 hw/arm/mcimx6ul-evk.c                    |  1 +
 hw/arm/mcimx7d-sabre.c                   |  1 +
 hw/arm/microbit.c                        |  1 +
 hw/arm/msf2-soc.c                        |  3 +-
 hw/arm/msf2-som.c                        |  1 +
 hw/arm/musicpal.c                        |  4 ++
 hw/arm/netduino2.c                       |  1 +
 hw/arm/nrf51_soc.c                       |  2 -
 hw/arm/nseries.c                         |  2 +
 hw/arm/omap1.c                           |  5 ++
 hw/arm/omap2.c                           |  5 +-
 hw/arm/omap_sx1.c                        |  1 -
 hw/arm/palm.c                            |  3 +-
 hw/arm/pxa2xx.c                          |  3 ++
 hw/arm/pxa2xx_gpio.c                     |  3 ++
 hw/arm/pxa2xx_pic.c                      |  2 +-
 hw/arm/realview.c                        |  1 +
 hw/arm/sabrelite.c                       |  1 +
 hw/arm/sbsa-ref.c                        |  1 +
 hw/arm/smmu-common.c                     |  1 -
 hw/arm/smmuv3.c                          |  4 +-
 hw/arm/spitz.c                           |  4 +-
 hw/arm/stellaris.c                       |  2 +
 hw/arm/stm32f205_soc.c                   |  2 +
 hw/arm/strongarm.c                       |  3 ++
 hw/arm/sysbus-fdt.c                      |  1 -
 hw/arm/tosa.c                            |  2 +-
 hw/arm/versatilepb.c                     |  2 +
 hw/arm/virt-acpi-build.c                 |  3 +-
 hw/arm/virt.c                            |  3 ++
 hw/arm/xlnx-zynqmp.c                     |  1 +
 hw/arm/z2.c                              |  4 +-
 hw/audio/ac97.c                          |  3 +-
 hw/audio/adlib.c                         |  2 +-
 hw/audio/cs4231.c                        |  1 +
 hw/audio/cs4231a.c                       |  5 +-
 hw/audio/es1370.c                        |  2 +-
 hw/audio/gus.c                           |  4 +-
 hw/audio/hda-codec.c                     |  3 +-
 hw/audio/intel-hda.c                     |  3 +-
 hw/audio/intel-hda.h                     |  2 +-
 hw/audio/lm4549.c                        |  1 +
 hw/audio/lm4549.h                        |  1 +
 hw/audio/marvell_88w8618.c               |  4 +-
 hw/audio/milkymist-ac97.c                |  3 +-
 hw/audio/pcspk.c                         |  2 +-
 hw/audio/pl041.c                         |  3 ++
 hw/audio/sb16.c                          |  5 +-
 hw/audio/wm8750.c                        |  1 +
 hw/block/dataplane/virtio-blk.c          |  1 +
 hw/block/dataplane/xen-block.c           |  2 +-
 hw/block/ecc.c                           |  2 +-
 hw/block/fdc.c                           |  5 +-
 hw/block/m25p80.c                        |  3 +-
 hw/block/nand.c                          |  3 +-
 hw/block/nvme.c                          |  3 +-
 hw/block/onenand.c                       |  2 +
 hw/block/pflash_cfi01.c                  |  5 +-
 hw/block/pflash_cfi02.c                  |  3 +-
 hw/block/tc58128.c                       |  1 -
 hw/block/vhost-user-blk.c                |  3 ++
 hw/block/virtio-blk.c                    |  4 ++
 hw/block/xen-block.c                     |  3 +-
 hw/char/bcm2835_aux.c                    |  3 ++
 hw/char/cadence_uart.c                   |  2 +
 hw/char/cmsdk-apb-uart.c                 |  2 +
 hw/char/debugcon.c                       |  2 +-
 hw/char/digic-uart.c                     |  3 +-
 hw/char/escc.c                           |  4 +-
 hw/char/etraxfs_ser.c                    |  2 +
 hw/char/exynos4210_uart.c                |  4 +-
 hw/char/grlib_apbuart.c                  |  2 +
 hw/char/imx_serial.c                     |  4 +-
 hw/char/ipoctal232.c                     |  3 ++
 hw/char/lm32_juart.c                     |  3 +-
 hw/char/lm32_uart.c                      |  4 +-
 hw/char/mcf_uart.c                       |  3 +-
 hw/char/milkymist-uart.c                 |  4 +-
 hw/char/nrf51_uart.c                     |  3 ++
 hw/char/omap_uart.c                      |  1 -
 hw/char/parallel-isa.c                   |  2 +
 hw/char/parallel.c                       |  5 +-
 hw/char/pl011.c                          |  2 +
 hw/char/sclpconsole-lm.c                 |  3 +-
 hw/char/sclpconsole.c                    |  3 +-
 hw/char/serial-isa.c                     |  3 ++
 hw/char/serial-pci-multi.c               |  3 ++
 hw/char/serial-pci.c                     |  3 ++
 hw/char/serial.c                         |  4 ++
 hw/char/sh_serial.c                      |  3 +-
 hw/char/spapr_vty.c                      |  4 +-
 hw/char/stm32f2xx_usart.c                |  2 +
 hw/char/terminal3270.c                   |  1 +
 hw/char/virtio-console.c                 |  1 +
 hw/char/virtio-serial-bus.c              |  3 ++
 hw/char/xen_console.c                    |  2 +-
 hw/char/xilinx_uartlite.c                |  3 ++
 hw/core/bus.c                            |  2 +-
 hw/core/empty_slot.c                     |  1 -
 hw/core/generic-loader.c                 |  2 +
 hw/core/loader-fit.c                     |  1 -
 hw/core/loader.c                         |  2 +
 hw/core/machine-qmp-cmds.c               |  1 +
 hw/core/machine.c                        |  2 +-
 hw/core/null-machine.c                   |  1 -
 hw/core/numa.c                           |  5 ++
 hw/core/or-irq.c                         |  3 ++
 hw/core/platform-bus.c                   |  2 +-
 hw/core/ptimer.c                         |  3 +-
 hw/core/qdev-fw.c                        |  2 +-
 hw/core/qdev-properties-system.c         |  2 +-
 hw/core/qdev-properties.c                |  4 +-
 hw/core/qdev.c                           |  5 +-
 hw/core/register.c                       |  1 -
 hw/core/split-irq.c                      |  2 +
 hw/core/vm-change-state-handler.c        |  3 +-
 hw/cpu/a15mpcore.c                       |  2 +
 hw/cpu/a9mpcore.c                        |  2 +
 hw/cpu/arm11mpcore.c                     |  2 +
 hw/cpu/cluster.c                         |  1 +
 hw/cpu/realview_mpcore.c                 |  2 +
 hw/cris/boot.c                           |  2 +-
 hw/display/ads7846.c                     |  2 +
 hw/display/ati.c                         |  2 +-
 hw/display/bcm2835_fb.c                  |  4 ++
 hw/display/bochs-display.c               |  3 +-
 hw/display/cg3.c                         |  3 ++
 hw/display/cirrus_vga.c                  |  4 +-
 hw/display/cirrus_vga_isa.c              |  2 +-
 hw/display/dpcd.c                        |  1 +
 hw/display/edid-region.c                 |  1 +
 hw/display/exynos4210_fimd.c             |  3 ++
 hw/display/framebuffer.c                 |  1 -
 hw/display/g364fb.c                      |  3 ++
 hw/display/i2c-ddc.c                     |  2 +
 hw/display/jazz_led.c                    |  1 +
 hw/display/milkymist-tmu2.c              |  3 +-
 hw/display/milkymist-vgafb.c             |  2 +
 hw/display/omap_dss.c                    |  2 +
 hw/display/omap_lcdc.c                   |  3 +-
 hw/display/pl110.c                       |  2 +
 hw/display/pxa2xx_lcd.c                  |  2 +
 hw/display/qxl-render.c                  |  1 +
 hw/display/qxl.c                         |  4 ++
 hw/display/qxl.h                         |  1 -
 hw/display/ramfb-standalone.c            |  2 +-
 hw/display/ramfb.c                       |  3 +-
 hw/display/sii9022.c                     |  1 +
 hw/display/sm501.c                       |  3 +-
 hw/display/ssd0303.c                     |  1 +
 hw/display/ssd0323.c                     |  1 +
 hw/display/tc6393xb.c                    |  4 +-
 hw/display/tcx.c                         |  2 +
 hw/display/vga-isa-mm.c                  |  4 +-
 hw/display/vga-isa.c                     |  2 +-
 hw/display/vga-pci.c                     |  3 +-
 hw/display/vga.c                         |  4 +-
 hw/display/vhost-user-gpu.c              |  1 +
 hw/display/virtio-gpu-pci.c              |  1 +
 hw/display/virtio-gpu.c                  |  3 ++
 hw/display/virtio-vga.c                  |  2 +-
 hw/display/vmware_vga.c                  |  3 +-
 hw/display/xenfb.c                       |  1 -
 hw/display/xlnx_dp.c                     |  2 +
 hw/dma/bcm2835_dma.c                     |  2 +
 hw/dma/etraxfs_dma.c                     |  3 ++
 hw/dma/i82374.c                          |  2 +
 hw/dma/i8257.c                           |  3 +-
 hw/dma/pl080.c                           |  4 ++
 hw/dma/pl330.c                           |  3 ++
 hw/dma/puv3_dma.c                        |  1 -
 hw/dma/pxa2xx_dma.c                      |  3 ++
 hw/dma/rc4030.c                          |  3 +-
 hw/dma/sparc32_dma.c                     |  4 +-
 hw/dma/xilinx_axidma.c                   |  3 ++
 hw/dma/xlnx-zdma.c                       |  3 ++
 hw/dma/xlnx-zynq-devcfg.c                |  3 +-
 hw/dma/xlnx_dpdma.c                      |  2 +
 hw/gpio/bcm2835_gpio.c                   |  2 +
 hw/gpio/gpio_key.c                       |  2 +
 hw/gpio/imx_gpio.c                       |  3 ++
 hw/gpio/max7310.c                        |  4 ++
 hw/gpio/mpc8xxx.c                        |  2 +
 hw/gpio/nrf51_gpio.c                     |  2 +
 hw/gpio/omap_gpio.c                      |  3 +-
 hw/gpio/pl061.c                          |  2 +
 hw/gpio/puv3_gpio.c                      |  1 -
 hw/gpio/zaurus.c                         |  3 +-
 hw/hppa/dino.c                           |  4 +-
 hw/hppa/hppa_sys.h                       |  1 -
 hw/hppa/machine.c                        |  2 +-
 hw/hppa/pci.c                            |  1 -
 hw/hyperv/hyperv_testdev.c               |  1 -
 hw/i2c/aspeed_i2c.c                      |  2 +
 hw/i2c/bitbang_i2c.c                     |  2 +-
 hw/i2c/core.c                            |  2 +
 hw/i2c/exynos4210_i2c.c                  |  2 +
 hw/i2c/imx_i2c.c                         |  2 +
 hw/i2c/microbit_i2c.c                    |  1 +
 hw/i2c/mpc_i2c.c                         |  2 +
 hw/i2c/omap_i2c.c                        |  3 +-
 hw/i2c/pm_smbus.c                        |  3 +-
 hw/i2c/ppc4xx_i2c.c                      |  2 +-
 hw/i2c/smbus_eeprom.c                    |  3 +-
 hw/i2c/smbus_ich9.c                      |  3 +-
 hw/i2c/smbus_master.c                    |  1 -
 hw/i2c/smbus_slave.c                     |  2 +-
 hw/i386/acpi-build.c                     |  2 +
 hw/i386/amd_iommu.c                      |  2 +
 hw/i386/amd_iommu.h                      |  1 -
 hw/i386/intel_iommu.c                    |  4 +-
 hw/i386/kvm/clock.c                      |  3 ++
 hw/i386/kvm/i8254.c                      |  2 +
 hw/i386/kvm/i8259.c                      |  1 +
 hw/i386/kvm/ioapic.c                     |  2 +
 hw/i386/kvmvapic.c                       |  2 +
 hw/i386/multiboot.c                      |  1 -
 hw/i386/pc.c                             |  4 +-
 hw/i386/pc_piix.c                        |  3 +-
 hw/i386/pc_q35.c                         |  3 +-
 hw/i386/pc_sysfw.c                       |  3 +-
 hw/i386/vmmouse.c                        |  5 +-
 hw/i386/vmport.c                         |  2 -
 hw/i386/x86-iommu.c                      |  2 +-
 hw/i386/xen/xen-hvm.c                    |  5 ++
 hw/i386/xen/xen-mapcache.c               |  1 +
 hw/i386/xen/xen_platform.c               |  2 +-
 hw/i386/xen/xen_pvdevice.c               |  3 +-
 hw/ide/ahci-allwinner.c                  |  2 +-
 hw/ide/ahci.c                            |  4 +-
 hw/ide/ahci_internal.h                   |  1 +
 hw/ide/cmd646.c                          |  5 +-
 hw/ide/core.c                            |  5 +-
 hw/ide/ich.c                             |  2 +-
 hw/ide/ioport.c                          |  2 -
 hw/ide/isa.c                             |  3 +-
 hw/ide/macio.c                           |  3 +-
 hw/ide/microdrive.c                      |  2 +-
 hw/ide/mmio.c                            |  3 +-
 hw/ide/pci.c                             |  2 +-
 hw/ide/piix.c                            |  4 +-
 hw/ide/qdev.c                            |  5 +-
 hw/ide/sii3112.c                         |  1 +
 hw/ide/via.c                             |  4 +-
 hw/input/adb-kbd.c                       |  2 +-
 hw/input/adb-mouse.c                     |  1 +
 hw/input/adb.c                           |  2 +
 hw/input/hid.c                           |  3 +-
 hw/input/lm832x.c                        |  4 +-
 hw/input/milkymist-softusb.c             |  4 +-
 hw/input/pckbd.c                         |  5 +-
 hw/input/pl050.c                         |  2 +
 hw/input/ps2.c                           |  4 +-
 hw/input/pxa2xx_keypad.c                 |  2 +
 hw/input/stellaris_input.c               |  4 +-
 hw/input/tsc2005.c                       |  4 +-
 hw/input/tsc210x.c                       |  3 ++
 hw/input/vhost-user-input.c              |  1 -
 hw/input/virtio-input-hid.c              |  2 +-
 hw/input/virtio-input-host.c             |  2 +-
 hw/input/virtio-input.c                  |  2 +-
 hw/intc/allwinner-a10-pic.c              |  3 +-
 hw/intc/apic_common.c                    |  4 +-
 hw/intc/arm_gic.c                        |  1 +
 hw/intc/arm_gic_common.c                 |  2 +
 hw/intc/arm_gicv2m.c                     |  2 +
 hw/intc/arm_gicv3_common.c               |  2 +
 hw/intc/arm_gicv3_cpuif.c                |  1 +
 hw/intc/arm_gicv3_its_common.c           |  1 +
 hw/intc/armv7m_nvic.c                    |  3 ++
 hw/intc/aspeed_vic.c                     |  2 +
 hw/intc/bcm2835_ic.c                     |  2 +
 hw/intc/bcm2836_control.c                |  2 +
 hw/intc/etraxfs_pic.c                    |  3 +-
 hw/intc/exynos4210_combiner.c            |  4 ++
 hw/intc/exynos4210_gic.c                 |  2 +
 hw/intc/grlib_irqmp.c                    |  1 +
 hw/intc/heathrow_pic.c                   |  3 +-
 hw/intc/i8259.c                          |  3 +-
 hw/intc/i8259_common.c                   |  3 ++
 hw/intc/imx_avic.c                       |  2 +
 hw/intc/imx_gpcv2.c                      |  1 +
 hw/intc/ioapic.c                         |  3 +-
 hw/intc/ioapic_common.c                  |  1 +
 hw/intc/lm32_pic.c                       |  3 +-
 hw/intc/mips_gic.c                       |  5 +-
 hw/intc/nios2_iic.c                      |  1 +
 hw/intc/omap_intc.c                      |  3 +-
 hw/intc/ompic.c                          |  4 +-
 hw/intc/openpic.c                        |  4 +-
 hw/intc/openpic_kvm.c                    |  1 -
 hw/intc/pl190.c                          |  2 +
 hw/intc/pnv_xive.c                       |  2 +
 hw/intc/puv3_intc.c                      |  1 +
 hw/intc/realview_gic.c                   |  2 +
 hw/intc/s390_flic.c                      |  3 +-
 hw/intc/sh_intc.c                        |  2 +-
 hw/intc/slavio_intctl.c                  |  2 +
 hw/intc/spapr_xive.c                     |  3 ++
 hw/intc/xics.c                           |  5 +-
 hw/intc/xics_kvm.c                       |  1 -
 hw/intc/xics_pnv.c                       |  1 -
 hw/intc/xics_spapr.c                     |  1 -
 hw/intc/xilinx_intc.c                    |  3 +-
 hw/intc/xive.c                           |  3 ++
 hw/intc/xlnx-pmu-iomod-intc.c            |  3 ++
 hw/intc/xlnx-zynqmp-ipi.c                |  2 +
 hw/ipack/ipack.c                         |  3 ++
 hw/ipack/tpci200.c                       |  2 +
 hw/ipmi/ipmi.c                           |  2 +-
 hw/ipmi/ipmi_bmc_extern.c                |  3 +-
 hw/ipmi/ipmi_bmc_sim.c                   |  2 +
 hw/ipmi/isa_ipmi_bt.c                    |  4 +-
 hw/ipmi/isa_ipmi_kcs.c                   |  4 +-
 hw/isa/apm.c                             |  2 +-
 hw/isa/i82378.c                          |  2 +
 hw/isa/isa-superio.c                     |  1 +
 hw/isa/lpc_ich9.c                        |  5 +-
 hw/isa/pc87312.c                         |  2 +
 hw/isa/piix4.c                           |  3 +-
 hw/isa/vt82c686.c                        |  5 +-
 hw/lm32/lm32.h                           |  1 +
 hw/lm32/lm32_boards.c                    |  3 +-
 hw/lm32/milkymist-hw.h                   |  2 +-
 hw/lm32/milkymist.c                      |  4 +-
 hw/m68k/an5206.c                         |  1 -
 hw/m68k/mcf5206.c                        |  3 ++
 hw/m68k/mcf5208.c                        |  3 ++
 hw/m68k/mcf_intc.c                       |  1 +
 hw/mem/memory-device.c                   |  1 -
 hw/mem/nvdimm.c                          |  2 +
 hw/mem/pc-dimm.c                         |  4 ++
 hw/microblaze/boot.c                     |  1 +
 hw/microblaze/boot.h                     |  1 -
 hw/microblaze/petalogix_ml605_mmu.c      |  2 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  1 -
 hw/microblaze/xlnx-zynqmp-pmu.c          |  1 -
 hw/mips/addr.c                           |  1 -
 hw/mips/boston.c                         |  2 +-
 hw/mips/cps.c                            |  2 +
 hw/mips/gt64xxx_pci.c                    |  3 +-
 hw/mips/mips_fulong2e.c                  |  2 +-
 hw/mips/mips_int.c                       |  2 +-
 hw/mips/mips_jazz.c                      |  2 +-
 hw/mips/mips_malta.c                     |  3 +-
 hw/mips/mips_mipssim.c                   |  3 +-
 hw/mips/mips_r4k.c                       |  3 +-
 hw/misc/a9scu.c                          |  2 +
 hw/misc/applesmc.c                       |  2 +-
 hw/misc/arm11scu.c                       |  1 +
 hw/misc/arm_integrator_debug.c           |  1 -
 hw/misc/arm_l2x0.c                       |  2 +
 hw/misc/arm_sysctl.c                     |  4 +-
 hw/misc/armsse-cpuid.c                   |  2 +-
 hw/misc/armsse-mhu.c                     |  3 +-
 hw/misc/aspeed_scu.c                     |  1 +
 hw/misc/aspeed_sdmc.c                    |  1 +
 hw/misc/aspeed_xdma.c                    |  2 +
 hw/misc/bcm2835_mbox.c                   |  2 +
 hw/misc/bcm2835_property.c               |  3 ++
 hw/misc/bcm2835_rng.c                    |  1 +
 hw/misc/debugexit.c                      |  2 +-
 hw/misc/eccmemctl.c                      |  3 ++
 hw/misc/edu.c                            |  1 +
 hw/misc/exynos4210_clk.c                 |  1 +
 hw/misc/exynos4210_pmu.c                 |  1 +
 hw/misc/exynos4210_rng.c                 |  1 +
 hw/misc/imx25_ccm.c                      |  1 +
 hw/misc/imx31_ccm.c                      |  1 +
 hw/misc/imx6_ccm.c                       |  1 +
 hw/misc/imx6_src.c                       |  3 +-
 hw/misc/imx6ul_ccm.c                     |  1 +
 hw/misc/imx7_ccm.c                       |  1 +
 hw/misc/imx7_gpr.c                       |  1 -
 hw/misc/iotkit-secctl.c                  |  2 +
 hw/misc/iotkit-sysctl.c                  |  2 +
 hw/misc/iotkit-sysinfo.c                 |  2 +-
 hw/misc/ivshmem.c                        |  3 +-
 hw/misc/macio/cuda.c                     |  3 +-
 hw/misc/macio/gpio.c                     |  3 +-
 hw/misc/macio/mac_dbdma.c                |  3 +-
 hw/misc/macio/macio.c                    |  4 +-
 hw/misc/macio/pmu.c                      |  4 +-
 hw/misc/max111x.c                        |  2 +
 hw/misc/milkymist-hpdmc.c                |  2 +-
 hw/misc/milkymist-pfpu.c                 |  3 +-
 hw/misc/mips_cmgcr.c                     |  4 +-
 hw/misc/mips_cpc.c                       |  2 +
 hw/misc/mips_itu.c                       |  1 +
 hw/misc/mos6522.c                        |  5 +-
 hw/misc/mps2-fpgaio.c                    |  2 +
 hw/misc/mps2-scc.c                       |  2 +
 hw/misc/msf2-sysreg.c                    |  2 +
 hw/misc/mst_fpga.c                       |  3 +-
 hw/misc/nrf51_rng.c                      |  3 ++
 hw/misc/omap_clk.c                       |  2 +
 hw/misc/omap_gpmc.c                      |  3 +-
 hw/misc/omap_l4.c                        |  1 -
 hw/misc/omap_sdrc.c                      |  1 -
 hw/misc/pc-testdev.c                     |  3 +-
 hw/misc/pca9552.c                        |  2 +-
 hw/misc/pci-testdev.c                    |  2 +-
 hw/misc/puv3_pm.c                        |  1 -
 hw/misc/pvpanic.c                        |  1 +
 hw/misc/sga.c                            |  1 -
 hw/misc/slavio_misc.c                    |  2 +
 hw/misc/tmp105.c                         |  3 +-
 hw/misc/tmp421.c                         |  2 +-
 hw/misc/tz-mpc.c                         |  3 ++
 hw/misc/tz-msc.c                         |  3 ++
 hw/misc/tz-ppc.c                         |  3 ++
 hw/misc/unimp.c                          |  1 -
 hw/misc/vmcoreinfo.c                     |  2 +
 hw/misc/zynq-xadc.c                      |  4 +-
 hw/misc/zynq_slcr.c                      |  2 +-
 hw/moxie/moxiesim.c                      |  3 +-
 hw/net/allwinner_emac.c                  |  3 ++
 hw/net/cadence_gem.c                     |  3 ++
 hw/net/can/can_kvaser_pci.c              |  4 +-
 hw/net/can/can_mioe3680_pci.c            |  4 +-
 hw/net/can/can_pcm3680_pci.c             |  4 +-
 hw/net/can/can_sja1000.c                 |  4 +-
 hw/net/can/can_sja1000.h                 |  1 +
 hw/net/dp8393x.c                         |  3 ++
 hw/net/e1000.c                           |  3 +-
 hw/net/e1000e.c                          |  3 ++
 hw/net/e1000e_core.c                     |  3 +-
 hw/net/e1000x_common.c                   |  1 -
 hw/net/eepro100.c                        |  4 +-
 hw/net/fsl_etsec/etsec.c                 |  4 +-
 hw/net/fsl_etsec/etsec.h                 |  1 -
 hw/net/ftgmac100.c                       |  3 ++
 hw/net/imx_fec.c                         |  3 ++
 hw/net/lan9118.c                         |  6 ++-
 hw/net/lance.c                           |  2 +
 hw/net/mcf_fec.c                         |  2 +
 hw/net/milkymist-minimac2.c              |  4 +-
 hw/net/mipsnet.c                         |  4 +-
 hw/net/ne2000-isa.c                      |  2 +-
 hw/net/ne2000-pci.c                      |  4 ++
 hw/net/ne2000.c                          |  4 +-
 hw/net/ne2000.h                          |  1 -
 hw/net/opencores_eth.c                   |  4 +-
 hw/net/pcnet-pci.c                       |  3 ++
 hw/net/pcnet.c                           |  5 +-
 hw/net/pcnet.h                           |  1 +
 hw/net/rocker/rocker.c                   |  3 +-
 hw/net/rocker/rocker_desc.c              |  1 -
 hw/net/rtl8139.c                         |  3 +-
 hw/net/smc91c111.c                       |  3 ++
 hw/net/spapr_llan.c                      |  5 +-
 hw/net/stellaris_enet.c                  |  3 ++
 hw/net/sungem.c                          |  2 +
 hw/net/sunhme.c                          |  3 +-
 hw/net/vhost_net.c                       |  2 +-
 hw/net/virtio-net.c                      |  3 ++
 hw/net/vmxnet3.c                         |  2 +
 hw/net/xen_nic.c                         |  1 -
 hw/net/xgmac.c                           |  3 ++
 hw/net/xilinx_axienet.c                  |  4 ++
 hw/net/xilinx_ethlite.c                  |  3 +-
 hw/nios2/10m50_devboard.c                |  2 +-
 hw/nios2/boot.c                          |  1 +
 hw/nios2/boot.h                          |  1 -
 hw/nios2/cpu_pic.c                       |  1 +
 hw/nios2/generic_nommu.c                 |  2 -
 hw/nvram/chrp_nvram.c                    |  1 -
 hw/nvram/ds1225y.c                       |  2 +
 hw/nvram/eeprom93xx.c                    |  3 +-
 hw/nvram/eeprom_at24c.c                  |  2 +-
 hw/nvram/fw_cfg.c                        |  5 +-
 hw/nvram/mac_nvram.c                     |  3 +-
 hw/nvram/nrf51_nvm.c                     |  2 +
 hw/nvram/spapr_nvram.c                   |  3 ++
 hw/openrisc/cputimer.c                   |  2 +-
 hw/openrisc/openrisc_sim.c               |  4 +-
 hw/openrisc/pic_cpu.c                    |  2 +-
 hw/pci-bridge/gen_pcie_root_port.c       |  2 +
 hw/pci-bridge/i82801b11.c                |  1 +
 hw/pci-bridge/ioh3420.c                  |  1 +
 hw/pci-bridge/pci_bridge_dev.c           |  1 +
 hw/pci-bridge/pci_expander_bridge.c      |  1 +
 hw/pci-bridge/pcie_pci_bridge.c          |  1 +
 hw/pci-bridge/pcie_root_port.c           |  1 +
 hw/pci-bridge/xio3130_downstream.c       |  2 +
 hw/pci-bridge/xio3130_upstream.c         |  1 +
 hw/pci-host/bonito.c                     |  4 +-
 hw/pci-host/designware.c                 |  3 ++
 hw/pci-host/gpex.c                       |  4 +-
 hw/pci-host/grackle.c                    |  2 +
 hw/pci-host/pam.c                        |  1 -
 hw/pci-host/piix.c                       |  6 ++-
 hw/pci-host/ppce500.c                    |  4 +-
 hw/pci-host/prep.c                       |  4 +-
 hw/pci-host/q35.c                        |  3 +-
 hw/pci-host/sabre.c                      |  2 +
 hw/pci-host/uninorth.c                   |  3 +-
 hw/pci-host/versatile.c                  |  3 ++
 hw/pci-host/xilinx-pcie.c                |  2 +
 hw/pci/msix.c                            |  3 +-
 hw/pci/pci.c                             |  6 ++-
 hw/pci/pcie_aer.c                        |  1 +
 hw/pci/pcie_host.c                       |  1 -
 hw/pci/pcie_port.c                       |  1 +
 hw/pci/shpc.c                            |  1 +
 hw/pcmcia/pcmcia.c                       |  1 -
 hw/pcmcia/pxa2xx.c                       |  2 +-
 hw/ppc/e500.c                            |  4 +-
 hw/ppc/e500plat.c                        |  1 -
 hw/ppc/mac.h                             |  1 -
 hw/ppc/mac_newworld.c                    |  3 +-
 hw/ppc/mac_oldworld.c                    |  3 +-
 hw/ppc/mpc8544_guts.c                    |  1 -
 hw/ppc/mpc8544ds.c                       |  1 -
 hw/ppc/pnv.c                             |  4 +-
 hw/ppc/pnv_bmc.c                         |  2 -
 hw/ppc/pnv_core.c                        |  3 +-
 hw/ppc/pnv_lpc.c                         |  2 +-
 hw/ppc/pnv_occ.c                         |  2 -
 hw/ppc/pnv_psi.c                         |  4 +-
 hw/ppc/pnv_xscom.c                       |  1 -
 hw/ppc/ppc.c                             |  5 +-
 hw/ppc/ppc405_boards.c                   |  3 +-
 hw/ppc/ppc405_uc.c                       |  5 +-
 hw/ppc/ppc440_bamboo.c                   |  2 +-
 hw/ppc/ppc440_pcix.c                     |  2 +-
 hw/ppc/ppc440_uc.c                       |  5 +-
 hw/ppc/ppc4xx_devs.c                     |  4 +-
 hw/ppc/ppc4xx_pci.c                      |  4 +-
 hw/ppc/ppc_booke.c                       |  4 +-
 hw/ppc/ppce500_spin.c                    |  1 -
 hw/ppc/prep.c                            |  4 +-
 hw/ppc/prep_systemio.c                   |  3 ++
 hw/ppc/rs6000_mc.c                       |  2 +
 hw/ppc/sam460ex.c                        |  3 +-
 hw/ppc/spapr.c                           |  6 ++-
 hw/ppc/spapr_caps.c                      |  1 +
 hw/ppc/spapr_cpu_core.c                  |  5 +-
 hw/ppc/spapr_drc.c                       |  3 +-
 hw/ppc/spapr_events.c                    |  3 +-
 hw/ppc/spapr_hcall.c                     |  1 +
 hw/ppc/spapr_iommu.c                     |  3 +-
 hw/ppc/spapr_irq.c                       |  2 +
 hw/ppc/spapr_ovec.c                      |  1 +
 hw/ppc/spapr_pci.c                       |  4 +-
 hw/ppc/spapr_rng.c                       |  3 +-
 hw/ppc/spapr_rtas.c                      |  2 -
 hw/ppc/spapr_rtc.c                       |  1 +
 hw/ppc/spapr_vio.c                       |  5 +-
 hw/ppc/virtex_ml507.c                    |  3 +-
 hw/rdma/vmw/pvrdma_cmd.c                 |  1 -
 hw/rdma/vmw/pvrdma_main.c                |  2 -
 hw/riscv/boot.c                          |  2 +-
 hw/riscv/riscv_hart.c                    |  2 +
 hw/riscv/sifive_clint.c                  |  1 +
 hw/riscv/sifive_e.c                      |  2 +-
 hw/riscv/sifive_gpio.c                   |  2 +
 hw/riscv/sifive_plic.c                   |  1 +
 hw/riscv/sifive_prci.c                   |  2 +
 hw/riscv/sifive_test.c                   |  2 +
 hw/riscv/sifive_u.c                      |  2 +-
 hw/riscv/sifive_uart.c                   |  2 +
 hw/riscv/spike.c                         |  2 +-
 hw/riscv/virt.c                          |  2 +-
 hw/s390x/3270-ccw.c                      |  2 +
 hw/s390x/ap-device.c                     |  1 -
 hw/s390x/ccw-device.c                    |  1 +
 hw/s390x/css-bridge.c                    |  1 +
 hw/s390x/css.c                           |  2 +-
 hw/s390x/event-facility.c                |  2 +-
 hw/s390x/ipl.c                           |  2 +
 hw/s390x/ipl.h                           |  2 +-
 hw/s390x/s390-ccw.c                      |  1 +
 hw/s390x/s390-pci-bus.c                  |  1 +
 hw/s390x/s390-skeys.c                    |  1 +
 hw/s390x/s390-stattrib-kvm.c             |  1 -
 hw/s390x/s390-stattrib.c                 |  1 -
 hw/s390x/s390-virtio-ccw.c               |  3 ++
 hw/s390x/sclpcpu.c                       |  1 -
 hw/s390x/sclpquiesce.c                   |  2 +-
 hw/s390x/tod.c                           |  1 +
 hw/s390x/vhost-vsock-ccw.c               |  1 +
 hw/s390x/virtio-ccw-9p.c                 |  1 +
 hw/s390x/virtio-ccw-balloon.c            |  1 +
 hw/s390x/virtio-ccw-blk.c                |  1 +
 hw/s390x/virtio-ccw-crypto.c             |  1 +
 hw/s390x/virtio-ccw-gpu.c                |  1 +
 hw/s390x/virtio-ccw-input.c              |  1 +
 hw/s390x/virtio-ccw-net.c                |  1 +
 hw/s390x/virtio-ccw-rng.c                |  1 +
 hw/s390x/virtio-ccw-scsi.c               |  1 +
 hw/s390x/virtio-ccw-serial.c             |  1 +
 hw/s390x/virtio-ccw.c                    |  3 +-
 hw/scsi/esp-pci.c                        |  2 +
 hw/scsi/esp.c                            |  2 +
 hw/scsi/lsi53c895a.c                     |  3 +-
 hw/scsi/megasas.c                        |  3 +-
 hw/scsi/mptconfig.c                      |  1 -
 hw/scsi/mptendian.c                      |  1 -
 hw/scsi/mptsas.c                         |  5 +-
 hw/scsi/scsi-bus.c                       |  7 ++-
 hw/scsi/scsi-disk.c                      |  5 +-
 hw/scsi/scsi-generic.c                   |  2 +
 hw/scsi/spapr_vscsi.c                    |  4 +-
 hw/scsi/vhost-scsi.c                     |  3 +-
 hw/scsi/vhost-user-scsi.c                |  2 +
 hw/scsi/virtio-scsi.c                    |  2 +
 hw/scsi/vmw_pvscsi.c                     |  3 ++
 hw/sd/bcm2835_sdhost.c                   |  2 +
 hw/sd/milkymist-memcard.c                |  4 +-
 hw/sd/omap_mmc.c                         |  3 +-
 hw/sd/pl181.c                            |  2 +
 hw/sd/pxa2xx_mmci.c                      |  4 +-
 hw/sd/sd.c                               |  4 +-
 hw/sd/sdhci-internal.h                   |  1 +
 hw/sd/sdhci-pci.c                        |  2 +-
 hw/sd/sdhci.c                            |  4 +-
 hw/sd/ssi-sd.c                           |  2 +
 hw/sh4/r2d.c                             |  4 +-
 hw/sh4/sh7750.c                          |  3 +-
 hw/sh4/sh7750_regnames.c                 |  1 -
 hw/sh4/sh_pci.c                          |  1 +
 hw/sh4/shix.c                            |  1 -
 hw/smbios/smbios.c                       |  1 -
 hw/sparc/leon3.c                         |  5 +-
 hw/sparc/sun4m.c                         |  5 ++
 hw/sparc/sun4m_iommu.c                   |  3 ++
 hw/sparc64/niagara.c                     |  3 +-
 hw/sparc64/sparc64.c                     |  1 +
 hw/sparc64/sun4u.c                       |  4 +-
 hw/ssi/aspeed_smc.c                      |  4 +-
 hw/ssi/imx_spi.c                         |  3 +-
 hw/ssi/mss-spi.c                         |  2 +
 hw/ssi/omap_spi.c                        |  2 +
 hw/ssi/pl022.c                           |  2 +
 hw/ssi/ssi.c                             |  1 +
 hw/ssi/stm32f2xx_spi.c                   |  1 +
 hw/ssi/xilinx_spi.c                      |  4 +-
 hw/ssi/xilinx_spips.c                    |  4 +-
 hw/timer/a9gtimer.c                      |  4 ++
 hw/timer/allwinner-a10-pit.c             |  5 +-
 hw/timer/altera_timer.c                  |  4 +-
 hw/timer/arm_mptimer.c                   |  4 ++
 hw/timer/arm_timer.c                     |  4 +-
 hw/timer/armv7m_systick.c                |  2 +
 hw/timer/aspeed_rtc.c                    |  1 +
 hw/timer/aspeed_timer.c                  |  2 +
 hw/timer/cadence_ttc.c                   |  2 +
 hw/timer/cmsdk-apb-dualtimer.c           |  3 ++
 hw/timer/cmsdk-apb-timer.c               |  2 +
 hw/timer/digic-timer.c                   |  1 +
 hw/timer/ds1338.c                        |  1 +
 hw/timer/etraxfs_timer.c                 |  3 ++
 hw/timer/exynos4210_mct.c                |  4 ++
 hw/timer/exynos4210_pwm.c                |  2 +
 hw/timer/exynos4210_rtc.c                |  5 +-
 hw/timer/grlib_gptimer.c                 |  2 +
 hw/timer/hpet.c                          |  3 +-
 hw/timer/i8254.c                         |  2 +-
 hw/timer/i8254_common.c                  |  3 +-
 hw/timer/imx_epit.c                      |  2 +
 hw/timer/imx_gpt.c                       |  2 +
 hw/timer/lm32_timer.c                    |  4 +-
 hw/timer/m48t59-isa.c                    |  1 +
 hw/timer/m48t59.c                        |  4 +-
 hw/timer/mc146818rtc.c                   |  5 +-
 hw/timer/milkymist-sysctl.c              |  5 +-
 hw/timer/mips_gictimer.c                 |  1 -
 hw/timer/mss-timer.c                     |  3 ++
 hw/timer/nrf51_timer.c                   |  2 +
 hw/timer/omap_gptimer.c                  |  3 +-
 hw/timer/omap_synctimer.c                |  1 -
 hw/timer/pl031.c                         |  3 ++
 hw/timer/puv3_ost.c                      |  1 +
 hw/timer/pxa2xx_timer.c                  |  4 +-
 hw/timer/sh_timer.c                      |  1 +
 hw/timer/slavio_timer.c                  |  3 ++
 hw/timer/stm32f2xx_timer.c               |  3 ++
 hw/timer/sun4v-rtc.c                     |  1 -
 hw/timer/twl92230.c                      |  4 +-
 hw/timer/xilinx_timer.c                  |  2 +
 hw/timer/xlnx-zynqmp-rtc.c               |  2 +
 hw/tpm/tpm_crb.c                         |  2 -
 hw/tpm/tpm_emulator.c                    |  2 +-
 hw/tpm/tpm_passthrough.c                 |  1 -
 hw/tpm/tpm_ppi.c                         |  1 -
 hw/tpm/tpm_tis.c                         |  3 ++
 hw/tpm/tpm_util.c                        |  2 +-
 hw/tpm/trace-events                      |  4 +-
 hw/tricore/tricore_testboard.c           |  2 -
 hw/unicore32/puv3.c                      |  1 +
 hw/usb/bus.c                             |  4 +-
 hw/usb/ccid-card-emulated.c              |  1 +
 hw/usb/ccid-card-passthru.c              |  2 +
 hw/usb/ccid.h                            |  2 +-
 hw/usb/dev-audio.c                       |  3 +-
 hw/usb/dev-bluetooth.c                   |  1 +
 hw/usb/dev-hid.c                         |  3 +-
 hw/usb/dev-hub.c                         |  2 +
 hw/usb/dev-mtp.c                         |  2 +
 hw/usb/dev-network.c                     |  2 +
 hw/usb/dev-serial.c                      |  2 +
 hw/usb/dev-smartcard-reader.c            |  2 +
 hw/usb/dev-storage.c                     |  2 +
 hw/usb/dev-uas.c                         |  3 ++
 hw/usb/dev-wacom.c                       |  2 +-
 hw/usb/hcd-ehci-pci.c                    |  2 +
 hw/usb/hcd-ehci-sysbus.c                 |  2 +
 hw/usb/hcd-ehci.c                        |  4 ++
 hw/usb/hcd-ehci.h                        |  2 -
 hw/usb/hcd-ohci-pci.c                    |  3 +-
 hw/usb/hcd-ohci.c                        |  4 +-
 hw/usb/hcd-uhci.c                        |  3 +-
 hw/usb/hcd-xhci-nec.c                    |  2 +-
 hw/usb/hcd-xhci.c                        |  3 +-
 hw/usb/host-libusb.c                     |  4 ++
 hw/usb/libhw.c                           |  1 -
 hw/usb/redirect.c                        |  4 ++
 hw/usb/tusb6010.c                        |  1 +
 hw/usb/xen-usb.c                         |  1 +
 hw/vfio/amd-xgbe.c                       |  1 +
 hw/vfio/ap.c                             |  4 +-
 hw/vfio/calxeda-xgmac.c                  |  1 +
 hw/vfio/ccw.c                            |  2 +
 hw/vfio/common.c                         |  2 +
 hw/vfio/pci-quirks.c                     |  2 +
 hw/vfio/pci.c                            |  4 ++
 hw/vfio/platform.c                       |  5 +-
 hw/virtio/vhost-backend.c                |  1 +
 hw/virtio/vhost-scsi-pci.c               |  1 +
 hw/virtio/vhost-user-blk-pci.c           |  1 +
 hw/virtio/vhost-user-scsi-pci.c          |  1 +
 hw/virtio/vhost-user.c                   |  1 +
 hw/virtio/vhost-vsock-pci.c              |  1 +
 hw/virtio/vhost-vsock.c                  |  1 +
 hw/virtio/vhost.c                        |  2 +-
 hw/virtio/virtio-9p-pci.c                |  1 +
 hw/virtio/virtio-balloon-pci.c           |  1 +
 hw/virtio/virtio-balloon.c               |  1 +
 hw/virtio/virtio-blk-pci.c               |  1 +
 hw/virtio/virtio-bus.c                   |  2 -
 hw/virtio/virtio-crypto-pci.c            |  1 +
 hw/virtio/virtio-crypto.c                |  3 +-
 hw/virtio/virtio-input-pci.c             |  1 +
 hw/virtio/virtio-mmio.c                  |  3 ++
 hw/virtio/virtio-net-pci.c               |  1 +
 hw/virtio/virtio-pci.c                   |  2 +
 hw/virtio/virtio-pmem.c                  |  3 ++
 hw/virtio/virtio-rng.c                   |  4 +-
 hw/virtio/virtio-scsi-pci.c              |  1 +
 hw/virtio/virtio-serial-pci.c            |  1 +
 hw/virtio/virtio.c                       |  5 ++
 hw/watchdog/cmsdk-apb-watchdog.c         |  3 ++
 hw/watchdog/wdt_aspeed.c                 |  2 +
 hw/watchdog/wdt_diag288.c                |  2 +
 hw/watchdog/wdt_i6300esb.c               |  2 +-
 hw/watchdog/wdt_ib700.c                  |  2 +-
 hw/xen/xen-bus-helper.c                  |  1 -
 hw/xen/xen-bus.c                         |  2 +-
 hw/xen/xen-common.c                      |  1 +
 hw/xen/xen-legacy-backend.c              |  3 +-
 hw/xen/xen_devconfig.c                   |  1 +
 hw/xen/xen_pt.c                          |  1 +
 hw/xen/xen_pt_load_rom.c                 |  2 -
 hw/xen/xen_pvdev.c                       |  1 +
 hw/xenpv/xen_machine_pv.c                |  2 +-
 hw/xtensa/mx_pic.c                       |  2 +-
 hw/xtensa/pic_cpu.c                      |  2 +-
 hw/xtensa/sim.c                          |  1 +
 hw/xtensa/xtensa_memory.c                |  2 -
 hw/xtensa/xtensa_memory.h                |  1 -
 hw/xtensa/xtfpga.c                       |  3 ++
 include/authz/listfile.h                 |  1 -
 include/block/block.h                    |  1 -
 include/block/block_int.h                |  1 -
 include/block/raw-aio.h                  |  1 +
 include/block/write-threshold.h          |  1 +
 include/chardev/char-fe.h                |  1 +
 include/chardev/char-io.h                |  1 +
 include/chardev/char.h                   |  2 +-
 include/disas/disas.h                    |  1 +
 include/exec/cpu-defs.h                  |  1 -
 include/exec/cputlb.h                    |  2 +
 include/exec/exec-all.h                  |  1 +
 include/exec/ioport.h                    |  2 +
 include/exec/memory-internal.h           |  2 +
 include/exec/memory.h                    |  9 +++-
 include/exec/ram_addr.h                  |  1 +
 include/exec/softmmu-semi.h              |  2 +
 include/exec/tb-hash.h                   |  2 +
 include/exec/user/thunk.h                |  1 +
 include/fpu/softfloat-macros.h           |  2 +
 include/hw/acpi/acpi.h                   |  1 -
 include/hw/acpi/acpi_dev_interface.h     |  2 +
 include/hw/acpi/pci.h                    |  2 +
 include/hw/acpi/tco.h                    |  1 +
 include/hw/acpi/vmgenid.h                |  2 +-
 include/hw/adc/stm32f2xx_adc.h           |  2 +
 include/hw/arm/allwinner-a10.h           |  3 +-
 include/hw/arm/aspeed_soc.h              |  1 +
 include/hw/arm/bcm2836.h                 |  1 +
 include/hw/arm/boot.h                    |  2 -
 include/hw/arm/exynos4210.h              |  2 +-
 include/hw/arm/fsl-imx25.h               |  1 +
 include/hw/arm/fsl-imx31.h               |  1 +
 include/hw/arm/fsl-imx7.h                |  1 -
 include/hw/arm/omap.h                    |  1 -
 include/hw/arm/sharpsl.h                 |  2 +
 include/hw/arm/soc_dma.h                 |  3 +-
 include/hw/arm/xlnx-zynqmp.h             |  2 +-
 include/hw/audio/pcspk.h                 |  2 +-
 include/hw/audio/wm8750.h                |  1 -
 include/hw/block/fdc.h                   |  1 +
 include/hw/block/flash.h                 |  2 +-
 include/hw/boards.h                      |  4 +-
 include/hw/bt.h                          |  1 -
 include/hw/char/cadence_uart.h           |  1 +
 include/hw/char/cmsdk-apb-uart.h         |  1 +
 include/hw/char/escc.h                   |  1 +
 include/hw/char/lm32_juart.h             |  2 +-
 include/hw/char/parallel.h               |  1 -
 include/hw/char/pl011.h                  |  1 +
 include/hw/char/serial.h                 |  2 -
 include/hw/char/stm32f2xx_usart.h        |  1 -
 include/hw/char/xilinx_uartlite.h        |  3 ++
 include/hw/core/generic-loader.h         |  1 +
 include/hw/core/split-irq.h              |  1 -
 include/hw/cpu/cluster.h                 |  2 +-
 include/hw/cpu/core.h                    |  2 +-
 include/hw/cris/etraxfs.h                |  2 +
 include/hw/cris/etraxfs_dma.h            |  2 +
 include/hw/display/blizzard.h            |  1 -
 include/hw/display/edid.h                |  2 +-
 include/hw/display/i2c-ddc.h             |  1 +
 include/hw/display/milkymist_tmu2.h      |  3 +-
 include/hw/display/tc6393xb.h            |  3 --
 include/hw/display/vga.h                 |  2 +-
 include/hw/dma/i8257.h                   |  1 -
 include/hw/empty_slot.h                  |  2 +
 include/hw/gpio/bcm2835_gpio.h           |  1 +
 include/hw/hw.h                          |  9 ----
 include/hw/i2c/aspeed_i2c.h              |  1 +
 include/hw/i2c/i2c.h                     |  2 +-
 include/hw/i2c/pm_smbus.h                |  1 +
 include/hw/i2c/smbus_eeprom.h            |  1 +
 include/hw/i386/apic_internal.h          |  1 +
 include/hw/i386/ich9.h                   |  1 -
 include/hw/i386/intel_iommu.h            |  2 +-
 include/hw/i386/ioapic_internal.h        |  2 +-
 include/hw/i386/pc.h                     |  1 -
 include/hw/ide/internal.h                |  4 +-
 include/hw/input/adb.h                   |  2 +-
 include/hw/input/gamepad.h               |  1 -
 include/hw/input/hid.h                   |  1 -
 include/hw/input/i8042.h                 |  1 -
 include/hw/input/tsc2xxx.h               |  1 -
 include/hw/intc/allwinner-a10-pic.h      |  2 +
 include/hw/intc/heathrow_pic.h           |  2 +
 include/hw/intc/mips_gic.h               |  1 +
 include/hw/ipack/ipack.h                 |  2 +-
 include/hw/ipmi/ipmi.h                   |  2 +-
 include/hw/irq.h                         |  4 --
 include/hw/isa/apm.h                     |  1 -
 include/hw/isa/i8259_internal.h          |  1 -
 include/hw/isa/isa.h                     |  2 +-
 include/hw/isa/vt82c686.h                |  1 +
 include/hw/mem/memory-device.h           |  3 +-
 include/hw/mem/pc-dimm.h                 |  4 +-
 include/hw/mips/cps.h                    |  1 +
 include/hw/mips/mips.h                   |  1 -
 include/hw/misc/auxbus.h                 |  3 +-
 include/hw/misc/cbus.h                   |  1 -
 include/hw/misc/macio/cuda.h             |  2 +
 include/hw/misc/macio/gpio.h             |  3 ++
 include/hw/misc/macio/macio.h            |  2 +
 include/hw/misc/macio/pmu.h              |  3 ++
 include/hw/misc/mips_cmgcr.h             |  2 +
 include/hw/misc/mips_cpc.h               |  2 +
 include/hw/misc/mos6522.h                |  1 -
 include/hw/misc/pvpanic.h                |  2 +
 include/hw/misc/stm32f2xx_syscfg.h       |  1 -
 include/hw/misc/unimp.h                  |  1 +
 include/hw/misc/vmcoreinfo.h             |  2 +-
 include/hw/net/allwinner_emac.h          |  1 +
 include/hw/net/lan9118.h                 |  1 -
 include/hw/net/lance.h                   |  1 +
 include/hw/net/ne2000-isa.h              |  3 +-
 include/hw/net/smc91c111.h               |  1 -
 include/hw/nvram/chrp_nvram.h            |  2 +
 include/hw/or-irq.h                      |  1 -
 include/hw/pci-host/designware.h         |  1 -
 include/hw/pci-host/gpex.h               |  1 -
 include/hw/pci-host/q35.h                |  1 -
 include/hw/pci-host/sabre.h              |  2 +
 include/hw/pci-host/uninorth.h           |  3 +-
 include/hw/pci-host/xilinx-pcie.h        |  1 -
 include/hw/pci/pci.h                     |  1 -
 include/hw/pci/pcie.h                    |  1 -
 include/hw/pci/pcie_aer.h                |  2 +-
 include/hw/pci/shpc.h                    |  1 +
 include/hw/pcmcia.h                      |  2 +-
 include/hw/ppc/openpic.h                 |  1 -
 include/hw/ppc/pnv_core.h                |  1 +
 include/hw/ppc/ppc4xx.h                  |  3 ++
 include/hw/ppc/spapr_cpu_core.h          |  2 +-
 include/hw/ppc/spapr_drc.h               |  3 +-
 include/hw/ppc/spapr_irq.h               |  2 +
 include/hw/ppc/spapr_ovec.h              |  1 -
 include/hw/ppc/spapr_vio.h               |  1 +
 include/hw/ppc/spapr_xive.h              |  1 +
 include/hw/ppc/xics.h                    |  3 +-
 include/hw/ppc/xive.h                    |  1 -
 include/hw/ppc/xive_regs.h               |  3 ++
 include/hw/ptimer.h                      |  1 -
 include/hw/qdev-core.h                   | 12 +----
 include/hw/qdev-dma.h                    |  1 +
 include/hw/qdev-properties.h             |  2 -
 include/hw/qdev.h                        |  8 ---
 include/hw/riscv/boot.h                  |  2 +
 include/hw/riscv/riscv_hart.h            |  3 ++
 include/hw/riscv/riscv_htif.h            |  2 -
 include/hw/riscv/sifive_clint.h          |  2 +
 include/hw/riscv/sifive_e.h              |  1 +
 include/hw/riscv/sifive_plic.h           |  2 +-
 include/hw/riscv/sifive_prci.h           |  2 +
 include/hw/riscv/sifive_test.h           |  2 +
 include/hw/riscv/sifive_u.h              |  1 +
 include/hw/riscv/sifive_uart.h           |  3 ++
 include/hw/riscv/spike.h                 |  3 ++
 include/hw/riscv/virt.h                  |  3 ++
 include/hw/s390x/ap-device.h             |  2 +
 include/hw/s390x/css-bridge.h            |  3 +-
 include/hw/s390x/css.h                   |  1 +
 include/hw/s390x/event-facility.h        |  2 +-
 include/hw/s390x/sclp.h                  |  1 -
 include/hw/s390x/storage-attributes.h    |  2 +-
 include/hw/s390x/storage-keys.h          |  2 +-
 include/hw/s390x/tod.h                   |  4 +-
 include/hw/scsi/scsi.h                   |  4 +-
 include/hw/sd/sd.h                       |  2 +-
 include/hw/semihosting/console.h         |  2 +
 include/hw/sh4/sh_intc.h                 |  2 +-
 include/hw/sparc/grlib.h                 |  1 -
 include/hw/sparc/sparc64.h               |  2 +
 include/hw/ssi/aspeed_smc.h              |  1 +
 include/hw/ssi/ssi.h                     |  2 +-
 include/hw/ssi/stm32f2xx_spi.h           |  1 -
 include/hw/ssi/xilinx_spips.h            |  1 +
 include/hw/sysbus.h                      |  2 +-
 include/hw/timer/allwinner-a10-pit.h     |  1 +
 include/hw/timer/aspeed_rtc.h            |  1 -
 include/hw/timer/cmsdk-apb-timer.h       |  1 +
 include/hw/timer/i8254.h                 |  3 +-
 include/hw/timer/i8254_internal.h        |  2 +-
 include/hw/timer/m48t59.h                |  1 +
 include/hw/timer/mc146818rtc_regs.h      |  2 +
 include/hw/timer/stm32f2xx_timer.h       |  1 -
 include/hw/timer/xlnx-zynqmp-rtc.h       |  1 +
 include/hw/tricore/tricore.h             |  1 -
 include/hw/usb.h                         |  3 +-
 include/hw/vfio/vfio-platform.h          |  1 -
 include/hw/virtio/vhost-scsi-common.h    |  1 -
 include/hw/virtio/vhost-scsi.h           |  1 -
 include/hw/virtio/vhost-user-blk.h       |  1 -
 include/hw/virtio/vhost-user-scsi.h      |  1 -
 include/hw/virtio/vhost.h                |  1 -
 include/hw/virtio/virtio-access.h        |  1 +
 include/hw/virtio/virtio-bus.h           |  3 +-
 include/hw/virtio/virtio-gpu-bswap.h     |  1 +
 include/hw/virtio/virtio-pmem.h          |  2 +-
 include/hw/virtio/virtio-rng.h           |  1 +
 include/hw/virtio/virtio-serial.h        |  1 -
 include/hw/virtio/virtio.h               |  6 +--
 include/hw/watchdog/wdt_aspeed.h         |  1 +
 include/hw/watchdog/wdt_diag288.h        |  2 +-
 include/hw/xen/xen-legacy-backend.h      |  1 -
 include/hw/xen/xen.h                     |  1 -
 include/hw/xen/xen_common.h              |  2 -
 include/hw/xtensa/mx_pic.h               |  1 -
 include/libdecnumber/decNumberLocal.h    |  1 +
 include/migration/cpu.h                  |  3 ++
 include/migration/global_state.h         |  1 -
 include/migration/misc.h                 |  1 -
 include/migration/vmstate.h              |  1 -
 include/monitor/hmp-target.h             |  2 +
 include/monitor/qdev.h                   |  2 -
 include/net/can_emu.h                    |  1 +
 include/net/filter.h                     |  1 +
 include/net/net.h                        |  1 -
 include/qapi/error.h                     |  2 +-
 include/qemu/atomic128.h                 |  2 +
 include/qemu/fifo8.h                     |  1 -
 include/qemu/job.h                       |  2 +-
 include/qemu/queue.h                     |  2 -
 include/qemu/range.h                     |  2 -
 include/qemu/ratelimit.h                 |  2 +
 include/qemu/thread-win32.h              |  2 +-
 include/qemu/typedefs.h                  | 24 +++++++--
 include/qom/cpu.h                        |  4 +-
 include/qom/object.h                     |  1 -
 include/sysemu/accel.h                   |  1 -
 include/sysemu/arch_init.h               |  1 -
 include/sysemu/balloon.h                 |  1 +
 include/sysemu/cryptodev-vhost-user.h    |  2 +
 include/sysemu/cryptodev.h               |  1 +
 include/sysemu/dma.h                     |  1 -
 include/sysemu/hax.h                     |  1 -
 include/sysemu/hostmem.h                 |  3 +-
 include/sysemu/hvf.h                     |  2 +-
 include/sysemu/iothread.h                |  1 +
 include/sysemu/kvm.h                     |  1 -
 include/sysemu/kvm_int.h                 |  2 +-
 include/sysemu/memory_mapping.h          |  1 +
 include/sysemu/numa.h                    | 18 +++++--
 include/sysemu/replay.h                  |  2 +-
 include/sysemu/rng.h                     |  1 +
 include/sysemu/sysemu.h                  | 18 -------
 include/sysemu/vmstate-notify.h          | 18 +++++++
 include/sysemu/xen-mapcache.h            |  2 +
 include/ui/egl-helpers.h                 |  2 +
 include/ui/input.h                       |  1 +
 include/ui/spice-display.h               |  2 +-
 linux-user/elfload.c                     |  1 +
 linux-user/main.c                        |  1 +
 linux-user/qemu.h                        |  1 -
 linux-user/syscall.c                     |  1 +
 memory.c                                 |  4 +-
 migration/block.c                        |  1 +
 migration/colo.c                         |  2 +
 migration/global_state.c                 |  1 +
 migration/migration.c                    |  3 ++
 migration/migration.h                    |  4 +-
 migration/postcopy-ram.c                 |  1 +
 migration/qemu-file-channel.c            |  1 -
 migration/qemu-file.h                    |  1 +
 migration/rdma.c                         |  1 +
 migration/savevm.c                       |  3 ++
 migration/vmstate-types.c                |  1 -
 monitor/misc.c                           |  1 -
 monitor/monitor-internal.h               |  1 -
 monitor/qmp-cmds.c                       |  1 -
 nbd/client.c                             |  1 +
 nbd/nbd-internal.h                       |  2 -
 nbd/server.c                             |  1 +
 net/can/can_socketcan.c                  |  1 +
 net/net.c                                |  4 +-
 net/netmap.c                             |  1 -
 net/tap-bsd.c                            |  1 -
 net/tap-linux.c                          |  1 -
 net/tap-solaris.c                        |  1 -
 net/tap-win32.c                          |  2 +-
 net/tap.c                                |  1 +
 qapi/Makefile.objs                       |  2 +-
 qapi/common.json                         | 24 ---------
 qapi/error.json                          | 29 +++++++++++
 qapi/qapi-dealloc-visitor.c              |  1 -
 qapi/qapi-schema.json                    |  1 +
 qdev-monitor.c                           |  1 -
 qemu-img.c                               |  2 +-
 qom/cpu.c                                |  3 +-
 qom/object.c                             |  1 +
 qom/qom-qmp-cmds.c                       |  2 +-
 qtest.c                                  |  1 -
 replay/replay-audio.c                    |  1 -
 replay/replay-char.c                     |  1 -
 replay/replay-internal.c                 |  1 +
 replay/replay-net.c                      |  1 -
 replay/replay-snapshot.c                 |  1 -
 scripts/tracetool/format/c.py            |  1 +
 scripts/tracetool/format/h.py            |  7 ++-
 scripts/tracetool/format/log_stap.py     |  3 --
 stubs/change-state-handler.c             |  2 +-
 stubs/replay.c                           |  1 -
 target/alpha/cpu.h                       |  2 +-
 target/alpha/machine.c                   |  3 +-
 target/arm/cpu.h                         |  2 +-
 target/arm/cpu64.c                       |  1 -
 target/arm/helper-a64.c                  |  2 +-
 target/arm/helper.c                      |  4 +-
 target/arm/kvm.c                         |  2 +-
 target/arm/kvm32.c                       |  1 -
 target/arm/kvm64.c                       |  1 -
 target/arm/m_helper.c                    |  3 +-
 target/arm/machine.c                     |  3 +-
 target/arm/monitor.c                     |  1 -
 target/arm/psci.c                        |  2 +
 target/cris/cpu.h                        |  2 +-
 target/cris/machine.c                    |  2 +-
 target/hppa/cpu.h                        |  4 +-
 target/hppa/machine.c                    |  3 +-
 target/i386/cpu.c                        |  2 +-
 target/i386/cpu.h                        |  2 +-
 target/i386/hax-all.c                    |  2 +-
 target/i386/hvf/hvf.c                    |  1 -
 target/i386/hvf/x86_task.c               |  2 -
 target/i386/kvm.c                        |  3 ++
 target/i386/machine.c                    |  3 +-
 target/i386/monitor.c                    |  1 +
 target/i386/sev.c                        |  1 +
 target/i386/sev_i386.h                   |  2 +-
 target/i386/whpx-all.c                   |  2 -
 target/lm32/cpu.h                        |  2 +-
 target/lm32/helper.c                     |  1 -
 target/lm32/machine.c                    |  3 +-
 target/lm32/op_helper.c                  |  1 +
 target/m68k/m68k-semi.c                  |  1 -
 target/mips/cp0_timer.c                  |  1 +
 target/mips/internal.h                   |  2 +-
 target/mips/machine.c                    |  2 +-
 target/moxie/machine.c                   |  3 +-
 target/nios2/nios2-semi.c                |  1 -
 target/openrisc/cpu.h                    |  2 +-
 target/openrisc/machine.c                |  3 +-
 target/ppc/cpu-qom.h                     |  2 +-
 target/ppc/cpu.h                         |  2 +-
 target/ppc/int_helper.c                  |  2 +
 target/ppc/kvm.c                         |  2 +-
 target/ppc/machine.c                     |  4 +-
 target/ppc/mem_helper.c                  |  2 +
 target/ppc/misc_helper.c                 |  2 +
 target/ppc/mmu_helper.c                  |  2 +
 target/ppc/translate.c                   |  1 +
 target/s390x/cpu.c                       |  2 +-
 target/s390x/cpu.h                       |  2 +-
 target/s390x/kvm.c                       |  1 -
 target/s390x/machine.c                   |  2 +-
 target/s390x/mmu_helper.c                |  1 +
 target/sparc/cpu.h                       |  2 +-
 target/sparc/helper.c                    |  1 -
 target/sparc/machine.c                   |  3 +-
 target/tilegx/cpu.c                      |  1 -
 target/xtensa/translate.c                |  1 -
 target/xtensa/xtensa-semi.c              |  1 -
 tcg/optimize.c                           |  1 -
 tcg/tcg-common.c                         |  1 -
 tcg/tcg-op-gvec.c                        |  1 +
 tcg/tcg.c                                |  1 -
 tests/migration-test.c                   |  1 -
 tests/test-bdrv-drain.c                  |  1 +
 tests/test-bdrv-graph-mod.c              |  1 +
 tests/test-block-backend.c               |  1 +
 tests/test-block-iothread.c              |  1 +
 tests/test-image-locking.c               |  1 +
 tests/test-qdev-global-props.c           |  2 +-
 tests/test-replication.c                 |  1 +
 tests/test-throttle.c                    |  1 +
 trace/control-internal.h                 | 25 ----------
 trace/control-vcpu.h                     | 63 ++++++++++++++++++++++++
 trace/control.h                          | 24 ---------
 trace/qmp.c                              |  2 +-
 ui/gtk.c                                 |  1 +
 ui/input-keymap.c                        |  1 -
 ui/input-legacy.c                        |  1 -
 ui/input-linux.c                         |  2 +-
 ui/kbd-state.c                           |  1 -
 ui/keymaps.c                             |  1 -
 ui/sdl2-2d.c                             |  1 -
 ui/sdl2-gl.c                             |  1 -
 ui/sdl2-input.c                          |  1 -
 ui/spice-core.c                          |  4 +-
 ui/spice-display.c                       |  2 +-
 ui/vnc-auth-sasl.h                       |  1 -
 ui/vnc.c                                 |  2 +
 ui/vnc.h                                 |  1 -
 util/fifo8.c                             |  1 +
 util/oslib-posix.c                       |  1 +
 util/qemu-timer.c                        |  1 -
 util/vfio-helpers.c                      |  1 -
 vl.c                                     | 11 +++--
 1250 files changed, 2002 insertions(+), 919 deletions(-)
 delete mode 100644 include/hw/qdev.h
 create mode 100644 include/sysemu/vmstate-notify.h
 create mode 100644 qapi/error.json
 create mode 100644 trace/control-vcpu.h

-- 
2.21.0



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

end of thread, other threads:[~2019-08-06 16:27 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-26 12:05 [Qemu-devel] [PATCH 00/28] Tame a few "touch this, recompile the world" headers Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 01/28] include: Make headers more self-contained Markus Armbruster
2019-07-26 16:50   ` Alistair Francis
2019-07-26 12:05 ` [Qemu-devel] [PATCH 02/28] Include generated QAPI headers less Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 03/28] qapi: Split error.json off common.json Markus Armbruster
2019-07-26 13:53   ` Eric Blake
2019-07-26 14:34     ` Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 04/28] memory: Fix type of IOMMUMemoryRegionClass member @parent_class Markus Armbruster
2019-07-26 16:06   ` Philippe Mathieu-Daudé
2019-07-26 12:05 ` [Qemu-devel] [PATCH 05/28] queue: Drop superfluous #include qemu/atomic.h Markus Armbruster
2019-07-31 10:54   ` Thomas Huth
2019-07-26 12:05 ` [Qemu-devel] [PATCH 06/28] trace: Eliminate use of TARGET_FMT_plx Markus Armbruster
2019-07-26 16:04   ` Philippe Mathieu-Daudé
2019-07-26 12:05 ` [Qemu-devel] [PATCH 07/28] trace: Do not include qom/cpu.h into generated trace.h Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 08/28] Include sysemu/reset.h a lot less Markus Armbruster
2019-07-26 16:03   ` Philippe Mathieu-Daudé
2019-07-26 16:48     ` Alistair Francis
2019-07-26 12:05 ` [Qemu-devel] [PATCH 09/28] Include migration/qemu-file-types.h " Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 10/28] ide: Include hw/ide/internal a bit less outside hw/ide/ Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 11/28] typedefs: Separate incomplete types and function types Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 12/28] Include hw/irq.h a lot less Markus Armbruster
2019-07-26 16:52   ` Alistair Francis
2019-07-26 12:05 ` [Qemu-devel] [PATCH 13/28] Clean up inclusion of exec/cpu-common.h Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 14/28] migration: Move the VMStateDescription typedef to typedefs.h Markus Armbruster
2019-07-26 15:51   ` Philippe Mathieu-Daudé
2019-08-02  9:47   ` Paolo Bonzini
2019-07-26 12:05 ` [Qemu-devel] [PATCH 15/28] Include migration/vmstate.h less Markus Armbruster
2019-07-26 16:54   ` Alistair Francis
2019-07-26 12:05 ` [Qemu-devel] [PATCH 16/28] Include exec/memory.h slightly less Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 17/28] Include qom/object.h " Markus Armbruster
2019-07-26 15:53   ` Philippe Mathieu-Daudé
2019-07-26 12:05 ` [Qemu-devel] [PATCH 18/28] Include hw/hw.h exactly where needed Markus Armbruster
2019-07-26 22:14   ` Alistair Francis
2019-07-26 12:05 ` [Qemu-devel] [PATCH 19/28] Include qemu/queue.h slightly less Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 20/28] Include qemu/main-loop.h less Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 21/28] Include hw/qdev-properties.h less Markus Armbruster
2019-07-29 19:16   ` Eduardo Habkost
2019-07-30  6:33     ` Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 22/28] Include hw/boards.h a bit less Markus Armbruster
2019-07-26 20:29   ` Alistair Francis
2019-07-29 20:07   ` Eduardo Habkost
2019-07-30 11:03     ` Markus Armbruster
2019-07-29 20:17   ` Eduardo Habkost
2019-07-30 11:06     ` Markus Armbruster
2019-08-02 14:37       ` Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 23/28] numa: Don't include hw/boards.h into sysemu/numa.h Markus Armbruster
2019-07-29 19:44   ` Eduardo Habkost
2019-07-30 11:01     ` [Qemu-devel] When to use qemu/typedefs.h (was: [PATCH 23/28] numa: Don't include hw/boards.h into sysemu/numa.h) Markus Armbruster
2019-07-30 13:15       ` Eric Blake
2019-07-30 13:28         ` Paolo Bonzini
2019-07-30 21:07           ` [Qemu-devel] [RFC] HACKING: Document 'struct' keyword usage Eduardo Habkost
2019-07-30 21:32             ` Eric Blake
2019-07-31  8:35             ` Thomas Huth
2019-08-01 18:50               ` Eduardo Habkost
2019-08-01 19:23                 ` Paolo Bonzini
2019-08-02  7:02                   ` Thomas Huth
2019-08-01 17:21             ` Aleksandar Markovic
2019-07-31  6:37           ` [Qemu-devel] When to use qemu/typedefs.h Markus Armbruster
2019-07-31  6:43             ` Paolo Bonzini
2019-07-31  8:40             ` Thomas Huth
2019-07-31 10:45               ` Peter Maydell
2019-07-31 10:51                 ` Daniel P. Berrangé
2019-07-30 20:55         ` [Qemu-devel] When to use qemu/typedefs.h (was: [PATCH 23/28] numa: Don't include hw/boards.h into sysemu/numa.h) Eduardo Habkost
2019-07-26 12:05 ` [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less Markus Armbruster
2019-07-26 15:57   ` Philippe Mathieu-Daudé
2019-07-29 19:47   ` Eduardo Habkost
2019-07-30 12:07   ` Igor Mammedov
2019-08-02  9:53   ` Paolo Bonzini
2019-08-02 13:20     ` Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 25/28] numa: Move remaining NUMA declarations from sysemu.h to numa.h Markus Armbruster
2019-07-26 15:57   ` Philippe Mathieu-Daudé
2019-07-29 19:48   ` Eduardo Habkost
2019-07-26 12:05 ` [Qemu-devel] [PATCH 26/28] Clean up inclusion of sysemu/sysemu.h Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 27/28] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h Markus Armbruster
2019-08-02  9:48   ` Paolo Bonzini
2019-08-02 13:16     ` Markus Armbruster
2019-08-02 13:21       ` Paolo Bonzini
2019-08-06 16:26         ` Markus Armbruster
2019-08-02 20:36       ` Markus Armbruster
2019-07-26 12:05 ` [Qemu-devel] [PATCH 28/28] Include sysemu/sysemu.h a lot less 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.