[qemu-xen master] Merge tag 'v2.10.0' into 'staging'

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[qemu-xen master] Merge tag 'v2.10.0' into 'staging'

patchbot
=== This changeset includes merge from high-traffic branch ===
Commits on that branch are not reported individually.

commit 948d3cb064ff82acd7faab6a23b6c57c5185d097
Merge: 1ab5eb4efb91a3d4569b0df6e824cc08ab4bd8ec c7c6232bd304568d4da4bef521603aae0035e172
Author:     Anthony PERARD <[hidden email]>
AuthorDate: Fri Sep 8 14:35:56 2017 +0100
Commit:     Anthony PERARD <[hidden email]>
CommitDate: Fri Sep 8 14:35:56 2017 +0100

    Merge tag 'v2.10.0' into 'staging'
 .editorconfig                                      |   15 +
 .gdbinit                                           |    8 +
 .gitignore                                         |   19 +-
 .gitmodules                                        |    3 +
 .shippable.yml                                     |   34 +-
 .travis.yml                                        |    7 +-
 CODING_STYLE                                       |   35 +
 MAINTAINERS                                        |  124 +-
 Makefile                                           |   94 +-
 Makefile.objs                                      |   20 +-
 Makefile.target                                    |   40 +-
 VERSION                                            |    2 +-
 accel.c                                            |  155 --
 accel/Makefile.objs                                |    4 +
 accel/accel.c                                      |  134 +
 accel/kvm/Makefile.objs                            |    1 +
 accel/kvm/kvm-all.c                                | 2627 ++++++++++++++++++++
 accel/kvm/trace-events                             |   15 +
 accel/stubs/Makefile.objs                          |    2 +
 accel/stubs/kvm-stub.c                             |  163 ++
 accel/stubs/tcg-stub.c                             |   22 +
 accel/tcg/Makefile.objs                            |    3 +
 accel/tcg/cpu-exec-common.c                        |   84 +
 accel/tcg/cpu-exec.c                               |  687 +++++
 accel/tcg/cputlb.c                                 | 1063 ++++++++
 accel/tcg/tcg-all.c                                |   92 +
 accel/tcg/trace-events                             |   10 +
 accel/tcg/translate-all.c                          | 2218 +++++++++++++++++
 accel/tcg/translate-all.h                          |   36 +
 arch_init.c                                        |  126 +-
 audio/audio.c                                      |    2 +
 audio/rate_template.h                              |    6 +
 audio/trace-events                                 |    6 +-
 audio/wavcapture.c                                 |    1 +
 backends/Makefile.objs                             |    4 -
 backends/baum.c                                    |  677 -----
 backends/cryptodev.c                               |    2 +-
 backends/hostmem-file.c                            |    6 +-
 backends/hostmem-ram.c                             |    2 +-
 backends/hostmem.c                                 |   19 +-
 backends/msmouse.c                                 |  190 --
 backends/rng-egd.c                                 |    6 +-
 backends/testdev.c                                 |  129 -
 backends/trace-events                              |   10 -
 backends/wctablet.c                                |  369 ---
 block.c                                            |  668 +++--
 block/Makefile.objs                                |    6 +-
 block/accounting.c                                 |   78 +-
 block/backup.c                                     |  142 +-
 block/blkdebug.c                                   |  293 ++-
 block/blkreplay.c                                  |   11 +-
 block/blkverify.c                                  |   14 +-
 block/block-backend.c                              |  184 +-
 block/bochs.c                                      |    5 +-
 block/cloop.c                                      |    5 +-
 block/commit.c                                     |   82 +-
 block/crypto.c                                     |  114 +-
 block/crypto.h                                     |  101 +
 block/curl.c                                       |  243 +-
 block/dirty-bitmap.c                               |  268 +-
 block/dmg.c                                        |    6 +-
 block/file-posix.c                                 |  518 +++-
 block/file-win32.c                                 |   32 +-
 block/gluster.c                                    |  161 +-
 block/io.c                                         |  533 ++--
 block/iscsi.c                                      |   55 +-
 block/mirror.c                                     |  368 +--
 block/nbd-client.c                                 |  127 +-
 block/nbd-client.h                                 |   15 +-
 block/nbd.c                                        |  100 +-
 block/nfs.c                                        |   98 +-
 block/null.c                                       |   33 +-
 block/parallels.c                                  |   24 +-
 block/qapi.c                                       |   71 +-
 block/qcow.c                                       |  281 ++-
 block/qcow2-bitmap.c                               | 1486 +++++++++++
 block/qcow2-cluster.c                              |  510 ++--
 block/qcow2-refcount.c                             |  501 ++--
 block/qcow2-snapshot.c                             |    7 +-
 block/qcow2.c                                      | 1413 +++++++++--
 block/qcow2.h                                      |  106 +-
 block/qed-cluster.c                                |  124 +-
 block/qed-gencb.c                                  |   33 -
 block/qed-l2-cache.c                               |    6 +
 block/qed-table.c                                  |  281 +--
 block/qed.c                                        |  893 +++----
 block/qed.h                                        |   65 +-
 block/quorum.c                                     |   20 +-
 block/raw-format.c                                 |   43 +-
 block/rbd.c                                        |  117 +-
 block/replication.c                                |   75 +-
 block/sheepdog.c                                   |   80 +-
 block/snapshot.c                                   |    2 +-
 block/ssh.c                                        |   49 +-
 block/stream.c                                     |   39 +-
 block/throttle-groups.c                            |  121 +-
 block/trace-events                                 |   68 +-
 block/vdi.c                                        |   55 +-
 block/vhdx-log.c                                   |   52 +-
 block/vhdx.c                                       |   41 +-
 block/vmdk.c                                       |   86 +-
 block/vpc.c                                        |   74 +-
 block/vvfat.c                                      | 2422 +++++++++---------
 block/vxhs.c                                       |  575 +++++
 blockdev-nbd.c                                     |   27 +-
 blockdev.c                                         |  288 ++-
 blockjob.c                                         |  896 ++++---
 bootdevice.c                                       |    2 +-
 bsd-user/bsdload.c                                 |   25 +-
 bsd-user/elfload.c                                 |   10 +-
 bsd-user/main.c                                    |   24 +-
 bsd-user/mmap.c                                    |    2 +-
 bsd-user/qemu.h                                    |    2 +
 chardev/Makefile.objs                              |    7 +
 chardev/baum.c                                     |  677 +++++
 chardev/char-console.c                             |    4 +-
 chardev/char-fd.c                                  |   15 +-
 chardev/char-fd.h                                  |   44 -
 chardev/char-fe.c                                  |  375 +++
 chardev/char-file.c                                |    8 +-
 chardev/char-io.c                                  |   25 +-
 chardev/char-io.h                                  |   46 -
 chardev/char-mux.c                                 |   18 +-
 chardev/char-mux.h                                 |   63 -
 chardev/char-null.c                                |    2 +-
 chardev/char-parallel.c                            |    6 +-
 chardev/char-parallel.h                            |   32 -
 chardev/char-pipe.c                                |   16 +-
 chardev/char-pty.c                                 |   12 +-
 chardev/char-ringbuf.c                             |    2 +-
 chardev/char-serial.c                              |    8 +-
 chardev/char-serial.h                              |   35 -
 chardev/char-socket.c                              |  176 +-
 chardev/char-stdio.c                               |    8 +-
 chardev/char-udp.c                                 |   58 +-
 chardev/char-win-stdio.c                           |    4 +-
 chardev/char-win-stdio.h                           |   29 -
 chardev/char-win.c                                 |   95 +-
 chardev/char-win.h                                 |   53 -
 chardev/char.c                                     |  719 ++----
 chardev/msmouse.c                                  |  190 ++
 chardev/spice.c                                    |  421 ++++
 chardev/testdev.c                                  |  129 +
 chardev/trace-events                               |   18 +
 chardev/wctablet.c                                 |  369 +++
 configure                                          |  832 ++++---
 contrib/libvhost-user/libvhost-user.c              |   32 +-
 contrib/libvhost-user/libvhost-user.h              |   17 +-
 contrib/vhost-user-scsi/Makefile.objs              |    1 +
 contrib/vhost-user-scsi/vhost-user-scsi.c          |  886 +++++++
 cpu-exec-common.c                                  |   82 -
 cpu-exec.c                                         |  685 -----
 cpus.c                                             |   29 +-
 cputlb.c                                           | 1045 --------
 crypto/Makefile.objs                               |    3 +
 crypto/afalg.c                                     |  116 +
 crypto/afalgpriv.h                                 |   64 +
 crypto/block-luks.c                                |   26 +-
 crypto/block-qcow.c                                |    8 +-
 crypto/block.c                                     |    6 +-
 crypto/blockpriv.h                                 |    2 +
 crypto/cipher-afalg.c                              |  226 ++
 crypto/cipher-builtin.c                            |  125 +-
 crypto/cipher-gcrypt.c                             |  105 +-
 crypto/cipher-nettle.c                             |   84 +-
 crypto/cipher.c                                    |   80 +
 crypto/cipherpriv.h                                |   56 +
 crypto/hash-afalg.c                                |  214 ++
 crypto/hash-gcrypt.c                               |   19 +-
 crypto/hash-glib.c                                 |   19 +-
 crypto/hash-nettle.c                               |   19 +-
 crypto/hash.c                                      |   30 +
 crypto/hashpriv.h                                  |   39 +
 crypto/hmac-gcrypt.c                               |   42 +-
 crypto/hmac-glib.c                                 |   63 +-
 crypto/hmac-nettle.c                               |   42 +-
 crypto/hmac.c                                      |   58 +
 crypto/hmac.h                                      |  166 --
 crypto/hmacpriv.h                                  |   48 +
 crypto/init.c                                      |    6 +
 crypto/random-gcrypt.c                             |    2 +
 crypto/random-gnutls.c                             |    3 +
 crypto/random-platform.c                           |   45 +-
 crypto/trace-events                                |    2 +-
 default-configs/arm-softmmu.mak                    |    8 +
 default-configs/i386-softmmu.mak                   |    1 -
 default-configs/pci.mak                            |    4 +-
 default-configs/ppc-softmmu.mak                    |    1 +
 default-configs/ppc64-softmmu.mak                  |    5 +
 default-configs/ppcemb-softmmu.mak                 |    1 +
 default-configs/s390x-softmmu.mak                  |    3 +
 default-configs/x86_64-softmmu.mak                 |    1 -
 device_tree.c                                      |    1 +
 disas/libvixl/Makefile.objs                        |    5 +-
 disas/microblaze.c                                 |   18 +-
 docs/aio_notify.promela                            |   93 -
 docs/aio_notify_accept.promela                     |  152 --
 docs/aio_notify_bug.promela                        |  140 --
 docs/atomics.txt                                   |  388 ---
 docs/bitmaps.md                                    |  505 ----
 docs/blkdebug.txt                                  |  162 --
 docs/blkverify.txt                                 |   69 -
 docs/bootindex.txt                                 |    2 +-
 docs/build-system.txt                              |  512 ----
 docs/colo-proxy.txt                                |   26 +
 docs/config/ich9-ehci-uhci.cfg                     |   37 +
 docs/config/mach-virt-graphical.cfg                |  281 +++
 docs/config/mach-virt-serial.cfg                   |  243 ++
 docs/config/q35-emulated.cfg                       |  288 +++
 docs/config/q35-virtio-graphical.cfg               |  248 ++
 docs/config/q35-virtio-serial.cfg                  |  193 ++
 docs/devel/atomics.txt                             |  388 +++
 docs/devel/blkdebug.txt                            |  162 ++
 docs/devel/blkverify.txt                           |   69 +
 docs/devel/build-system.txt                        |  512 ++++
 docs/devel/lockcnt.txt                             |  277 +++
 docs/devel/memory.txt                              |  347 +++
 docs/devel/migration.txt                           |  555 +++++
 docs/devel/multi-thread-tcg.txt                    |  350 +++
 docs/devel/multiple-iothreads.txt                  |  137 +
 docs/devel/qapi-code-gen.txt                       | 1312 ++++++++++
 docs/devel/rcu.txt                                 |  390 +++
 docs/devel/tracing.txt                             |  441 ++++
 docs/devel/virtio-migration.txt                    |  108 +
 docs/devel/writing-qmp-commands.txt                |  607 +++++
 docs/ich9-ehci-uhci.cfg                            |   37 -
 docs/interop/bitmaps.rst                           |  555 +++++
 docs/interop/live-block-operations.rst             | 1088 ++++++++
 docs/interop/parallels.txt                         |  228 ++
 docs/interop/qcow2.txt                             |  682 +++++
 docs/interop/qed_spec.txt                          |  138 +
 docs/interop/qemu-ga-ref.texi                      |   80 +
 docs/interop/qemu-qmp-ref.texi                     |   80 +
 docs/interop/qmp-intro.txt                         |   86 +
 docs/interop/qmp-spec.txt                          |  341 +++
 docs/interop/vhost-user.txt                        |  636 +++++
 docs/interop/vnc-ledstate-Pseudo-encoding.txt      |   50 +
 docs/live-block-ops.txt                            |   72 -
 docs/lockcnt.txt                                   |  277 ---
 docs/mach-virt-graphical.cfg                       |  281 ---
 docs/mach-virt-serial.cfg                          |  243 --
 docs/memory.txt                                    |  316 ---
 docs/migration.txt                                 |  555 -----
 docs/multi-thread-tcg.txt                          |  350 ---
 docs/multiple-iothreads.txt                        |  137 -
 docs/q35-emulated.cfg                              |  288 ---
 docs/q35-virtio-graphical.cfg                      |  248 --
 docs/q35-virtio-serial.cfg                         |  193 --
 docs/qapi-code-gen.txt                             | 1310 ----------
 docs/qcow2-cache.txt                               |    2 +-
 docs/qdev-device-use.txt                           |   19 +-
 docs/qemu-ga-ref.texi                              |   80 -
 docs/qemu-qmp-ref.texi                             |   80 -
 docs/qmp-intro.txt                                 |   86 -
 docs/qmp-spec.txt                                  |  341 ---
 docs/rcu.txt                                       |  390 ---
 docs/specs/parallels.txt                           |  228 --
 docs/specs/pci-ids.txt                             |    2 +-
 docs/specs/qcow2.txt                               |  581 -----
 docs/specs/qed_spec.txt                            |  138 -
 docs/specs/vhost-user.txt                          |  508 ----
 docs/spin/aio_notify.promela                       |   93 +
 docs/spin/aio_notify_accept.promela                |  152 ++
 docs/spin/aio_notify_bug.promela                   |  140 ++
 docs/spin/tcg-exclusive.promela                    |  225 ++
 docs/spin/win32-qemu-event.promela                 |   98 +
 docs/tcg-exclusive.promela                         |  225 --
 docs/tracing.txt                                   |  442 ----
 docs/usb2.txt                                      |    2 +-
 docs/virtio-migration.txt                          |  108 -
 docs/vnc-ledstate-Pseudo-encoding.txt              |   50 -
 docs/win32-qemu-event.promela                      |   98 -
 docs/writing-qmp-commands.txt                      |  607 -----
 dump.c                                             |    7 +
 exec.c                                             |  474 +++-
 fpu/softfloat-specialize.h                         |   34 +-
 fpu/softfloat.c                                    |   16 +
 fsdev/9p-iov-marshal.c                             |    4 +-
 fsdev/file-op-9p.h                                 |    4 +
 fsdev/qemu-fsdev-opts.c                            |   12 +
 fsdev/qemu-fsdev-throttle.c                        |    2 +-
 fsdev/virtfs-proxy-helper.c                        |   11 +-
 gdb-xml/i386-32bit-core.xml                        |   65 +
 gdb-xml/i386-32bit-sse.xml                         |   52 +
 gdb-xml/i386-32bit.xml                             |   14 +
 gdb-xml/i386-64bit-core.xml                        |   73 +
 gdb-xml/i386-64bit-sse.xml                         |   60 +
 gdb-xml/i386-64bit.xml                             |   14 +
 gdb-xml/m68k-fp.xml                                |   21 +
 gdb-xml/s390-gs.xml                                |   14 +
 gdbstub.c                                          |  191 +-
 hmp-commands-info.hx                               |   40 +-
 hmp-commands.hx                                    |   98 +-
 hmp.c                                              |  502 +++-
 hmp.h                                              |    7 +
 hw/9pfs/9p-handle.c                                |    5 -
 hw/9pfs/9p-local.c                                 |  309 ++-
 hw/9pfs/9p-synth.c                                 |    3 +-
 hw/9pfs/9p-util.c                                  |   43 -
 hw/9pfs/9p-util.h                                  |   26 +-
 hw/9pfs/9p.c                                       |   83 +-
 hw/9pfs/9p.h                                       |   15 +-
 hw/9pfs/Makefile.objs                              |    1 +
 hw/9pfs/trace-events                               |    2 +-
 hw/9pfs/virtio-9p-device.c                         |   63 +-
 hw/9pfs/xen-9p-backend.c                           |  482 ++++
 hw/9pfs/xen-9pfs.h                                 |   21 +
 hw/acpi/aml-build.c                                |   53 +
 hw/acpi/core.c                                     |    4 +-
 hw/acpi/cpu.c                                      |    7 +-
 hw/acpi/ich9.c                                     |    1 -
 hw/acpi/memory_hotplug.c                           |   12 +-
 hw/acpi/nvdimm.c                                   |   25 +-
 hw/acpi/pcihp.c                                    |    7 +-
 hw/acpi/piix4.c                                    |   13 +-
 hw/acpi/trace-events                               |    2 +-
 hw/alpha/dp264.c                                   |    1 -
 hw/alpha/trace-events                              |    2 +-
 hw/alpha/typhoon.c                                 |   33 +-
 hw/arm/Makefile.objs                               |    1 +
 hw/arm/allwinner-a10.c                             |    6 -
 hw/arm/aspeed.c                                    |   46 +-
 hw/arm/aspeed_soc.c                                |   42 +-
 hw/arm/bcm2835_peripherals.c                       |   10 +-
 hw/arm/bcm2836.c                                   |    6 -
 hw/arm/boot.c                                      |   64 +-
 hw/arm/digic.c                                     |    6 -
 hw/arm/exynos4210.c                                |   62 +-
 hw/arm/exynos4_boards.c                            |   55 +-
 hw/arm/fsl-imx25.c                                 |    8 +-
 hw/arm/fsl-imx31.c                                 |    8 +-
 hw/arm/fsl-imx6.c                                  |    8 +-
 hw/arm/highbank.c                                  |   12 +-
 hw/arm/imx25_pdk.c                                 |    6 +-
 hw/arm/integratorcp.c                              |    3 +-
 hw/arm/kzm.c                                       |    6 +-
 hw/arm/mainstone.c                                 |    1 -
 hw/arm/mps2.c                                      |  385 +++
 hw/arm/musicpal.c                                  |    3 +-
 hw/arm/omap1.c                                     |   11 +-
 hw/arm/omap2.c                                     |    5 +-
 hw/arm/omap_sx1.c                                  |    6 +-
 hw/arm/palm.c                                      |    1 -
 hw/arm/pxa2xx.c                                    |   23 +-
 hw/arm/raspi.c                                     |    4 +-
 hw/arm/realview.c                                  |    3 -
 hw/arm/spitz.c                                     |    5 +-
 hw/arm/stellaris.c                                 |   64 +-
 hw/arm/stm32f205_soc.c                             |    3 -
 hw/arm/strongarm.c                                 |    7 +-
 hw/arm/tosa.c                                      |    3 +-
 hw/arm/trace-events                                |    2 +-
 hw/arm/vexpress.c                                  |    3 -
 hw/arm/virt-acpi-build.c                           |   47 +-
 hw/arm/virt.c                                      |  155 +-
 hw/arm/xilinx_zynq.c                               |    1 -
 hw/arm/xlnx-zynqmp.c                               |   13 +-
 hw/audio/Makefile.objs                             |    2 +-
 hw/audio/ac97.c                                    |    2 +-
 hw/audio/adlib.c                                   |   63 +-
 hw/audio/cs4231a.c                                 |    2 +-
 hw/audio/es1370.c                                  |    2 +-
 hw/audio/fmopl.c                                   |  295 +--
 hw/audio/fmopl.h                                   |  182 +-
 hw/audio/gus.c                                     |    4 +-
 hw/audio/gusemu.h                                  |   22 +-
 hw/audio/gusemu_hal.c                              |   74 +-
 hw/audio/gusemu_mixer.c                            |   28 +-
 hw/audio/hda-codec.c                               |    3 +-
 hw/audio/intel-hda.c                               |    7 +-
 hw/audio/intel-hda.h                               |    2 +-
 hw/audio/marvell_88w8618.c                         |    2 +-
 hw/audio/pcspk.c                                   |    4 +-
 hw/audio/sb16.c                                    |    2 +-
 hw/audio/soundhw.c                                 |  156 ++
 hw/audio/trace-events                              |    6 +-
 hw/block/dataplane/trace-events                    |    2 +-
 hw/block/fdc.c                                     |   26 +-
 hw/block/nvme.c                                    |  178 +-
 hw/block/nvme.h                                    |   75 +
 hw/block/onenand.c                                 |    2 +-
 hw/block/pflash_cfi01.c                            |    1 -
 hw/block/pflash_cfi02.c                            |    1 -
 hw/block/trace-events                              |   12 +-
 hw/block/virtio-blk.c                              |   26 +-
 hw/block/xen_blkif.h                               |    2 +-
 hw/block/xen_disk.c                                |  163 +-
 hw/bt/hci-csr.c                                    |   11 +-
 hw/bt/sdp.c                                        |   17 +-
 hw/char/Makefile.objs                              |    2 +
 hw/char/bcm2835_aux.c                              |    2 +-
 hw/char/cadence_uart.c                             |    7 +-
 hw/char/cmsdk-apb-uart.c                           |  403 +++
 hw/char/debugcon.c                                 |    6 +-
 hw/char/digic-uart.c                               |    4 +-
 hw/char/escc.c                                     |   12 +-
 hw/char/etraxfs_ser.c                              |    4 +-
 hw/char/exynos4210_uart.c                          |   15 +-
 hw/char/grlib_apbuart.c                            |    6 +-
 hw/char/imx_serial.c                               |    3 +-
 hw/char/ipoctal232.c                               |    6 +-
 hw/char/lm32_juart.c                               |    4 +-
 hw/char/lm32_uart.c                                |    4 +-
 hw/char/mcf_uart.c                                 |    4 +-
 hw/char/milkymist-uart.c                           |    4 +-
 hw/char/omap_uart.c                                |    2 +-
 hw/char/parallel.c                                 |   11 +-
 hw/char/pl011.c                                    |    4 +-
 hw/char/sclpconsole-lm.c                           |    6 +-
 hw/char/sclpconsole.c                              |    6 +-
 hw/char/serial.c                                   |   67 +-
 hw/char/sh_serial.c                                |    6 +-
 hw/char/spapr_vty.c                                |    6 +-
 hw/char/stm32f2xx_usart.c                          |    3 +-
 hw/char/terminal3270.c                             |  293 +++
 hw/char/trace-events                               |   23 +-
 hw/char/virtio-console.c                           |   37 +-
 hw/char/virtio-serial-bus.c                        |    6 +
 hw/char/xen_console.c                              |    8 +-
 hw/char/xilinx_uartlite.c                          |    4 +-
 hw/core/Makefile.objs                              |    2 +-
 hw/core/generic-loader.c                           |    9 +-
 hw/core/loader.c                                   |   11 +-
 hw/core/machine.c                                  |  217 +-
 hw/core/null-machine.c                             |    6 +
 hw/core/or-irq.c                                   |    2 +-
 hw/core/platform-bus.c                             |    2 +-
 hw/core/qdev-properties-system.c                   |   14 +-
 hw/core/qdev-properties.c                          |  186 +-
 hw/core/qdev.c                                     |  113 +-
 hw/core/register.c                                 |   10 +-
 hw/core/sysbus.c                                   |   11 +
 hw/cpu/Makefile.objs                               |    3 +-
 hw/cpu/core.c                                      |    5 +
 hw/cris/axis_dev88.c                               |    5 +-
 hw/display/cg3.c                                   |   52 +-
 hw/display/exynos4210_fimd.c                       |   11 +-
 hw/display/framebuffer.c                           |   11 +-
 hw/display/g364fb.c                                |   28 +-
 hw/display/jazz_led.c                              |    4 +-
 hw/display/qxl.c                                   |   45 +-
 hw/display/qxl.h                                   |    2 +
 hw/display/sm501.c                                 | 1792 +++++++------
 hw/display/sm501_template.h                        |   90 +-
 hw/display/tc6393xb.c                              |    1 -
 hw/display/tcx.c                                   |  325 +--
 hw/display/trace-events                            |   16 +-
 hw/display/vga.c                                   |   54 +-
 hw/display/virtio-gpu-3d.c                         |   16 +
 hw/display/virtio-gpu.c                            |   67 +-
 hw/display/vmware_vga.c                            |   24 +-
 hw/display/xenfb.c                                 |   82 +-
 hw/display/xlnx_dp.c                               |    5 +-
 hw/dma/i8257.c                                     |    2 +-
 hw/dma/rc4030.c                                    |   36 +-
 hw/dma/sparc32_dma.c                               |   27 +-
 hw/dma/sun4m_iommu.c                               |   12 +-
 hw/dma/trace-events                                |   22 +-
 hw/dma/xilinx_axidma.c                             |    4 +-
 hw/gpio/omap_gpio.c                                |    4 +-
 hw/i2c/aspeed_i2c.c                                |   65 +-
 hw/i2c/i2c-ddc.c                                   |    1 +
 hw/i2c/omap_i2c.c                                  |    2 +-
 hw/i2c/smbus_eeprom.c                              |    2 +-
 hw/i2c/smbus_ich9.c                                |    2 +-
 hw/i386/acpi-build.c                               |  165 +-
 hw/i386/amd_iommu.c                                |   78 +-
 hw/i386/amd_iommu.h                                |    5 +-
 hw/i386/intel_iommu.c                              | 1191 ++++++---
 hw/i386/intel_iommu_internal.h                     |    2 +
 hw/i386/kvm/clock.c                                |    3 +
 hw/i386/kvm/pci-assign.c                           |   60 +-
 hw/i386/kvmvapic.c                                 |   84 +-
 hw/i386/pc.c                                       |  107 +-
 hw/i386/pc_piix.c                                  |   32 +-
 hw/i386/pc_q35.c                                   |   28 +-
 hw/i386/pc_sysfw.c                                 |    2 -
 hw/i386/pci-assign-load-rom.c                      |    2 +-
 hw/i386/trace-events                               |   58 +-
 hw/i386/x86-iommu.c                                |   48 +-
 hw/i386/xen/Makefile.objs                          |    2 +-
 hw/i386/xen/trace-events                           |   21 +-
 hw/i386/xen/xen-hvm.c                              | 1461 +++++++++++
 hw/i386/xen/xen-mapcache.c                         |  573 +++++
 hw/i386/xen/xen_platform.c                         |   60 +-
 hw/ide/ahci.c                                      |   12 +-
 hw/ide/ahci_internal.h                             |  359 +++
 hw/ide/core.c                                      |   10 +-
 hw/ide/ich.c                                       |    4 +-
 hw/ide/qdev.c                                      |    3 +
 hw/input/adb.c                                     |    1 -
 hw/input/hid.c                                     |    5 +
 hw/input/milkymist-softusb.c                       |    4 +-
 hw/input/pckbd.c                                   |    4 +-
 hw/input/ps2.c                                     |   42 +-
 hw/input/trace-events                              |    9 +-
 hw/input/virtio-input-hid.c                        |    6 +-
 hw/input/vmmouse.c                                 |    4 +-
 hw/intc/Makefile.objs                              |    1 +
 hw/intc/apic_common.c                              |   12 +-
 hw/intc/arm_gic.c                                  |    7 +
 hw/intc/arm_gic_kvm.c                              |   11 +-
 hw/intc/arm_gicv3_common.c                         |    3 +-
 hw/intc/arm_gicv3_cpuif.c                          |   56 +-
 hw/intc/arm_gicv3_its_common.c                     |   12 +-
 hw/intc/arm_gicv3_its_kvm.c                        |  133 +-
 hw/intc/arm_gicv3_kvm.c                            |   50 +-
 hw/intc/armv7m_nvic.c                              |  104 +
 hw/intc/etraxfs_pic.c                              |    2 +-
 hw/intc/exynos4210_gic.c                           |   14 +-
 hw/intc/grlib_irqmp.c                              |    2 +-
 hw/intc/i8259_common.c                             |    2 +-
 hw/intc/nios2_iic.c                                |    2 +-
 hw/intc/omap_intc.c                                |    4 +-
 hw/intc/openpic.c                                  |  141 +-
 hw/intc/s390_flic.c                                |  149 +-
 hw/intc/s390_flic_kvm.c                            |  167 +-
 hw/intc/trace-events                               |  178 +-
 hw/intc/xics.c                                     |  121 +-
 hw/intc/xics_kvm.c                                 |   75 +-
 hw/intc/xics_pnv.c                                 |  192 ++
 hw/intc/xics_spapr.c                               |   28 +-
 hw/ipmi/ipmi.c                                     |    6 +-
 hw/ipmi/ipmi_bmc_extern.c                          |    6 +-
 hw/ipmi/ipmi_bmc_sim.c                             |  196 +-
 hw/isa/lpc_ich9.c                                  |    4 +-
 hw/isa/pc87312.c                                   |    2 +-
 hw/isa/piix4.c                                     |    2 +-
 hw/isa/trace-events                                |    6 +-
 hw/isa/vt82c686.c                                  |    2 +-
 hw/m68k/an5206.c                                   |    1 -
 hw/m68k/mcf5208.c                                  |    1 -
 hw/mem/nvdimm.c                                    |    2 +-
 hw/mem/pc-dimm.c                                   |   67 +-
 hw/mem/trace-events                                |    2 +-
 hw/microblaze/boot.c                               |    2 +-
 hw/microblaze/petalogix_ml605_mmu.c                |    2 -
 hw/microblaze/petalogix_s3adsp1800_mmu.c           |    2 -
 hw/mips/addr.c                                     |   12 +
 hw/mips/boston.c                                   |   12 +-
 hw/mips/gt64xxx_pci.c                              |    2 +-
 hw/mips/mips_fulong2e.c                            |   17 +-
 hw/mips/mips_jazz.c                                |    4 +-
 hw/mips/mips_malta.c                               |   46 +-
 hw/mips/mips_mipssim.c                             |    6 +-
 hw/mips/mips_r4k.c                                 |   11 +-
 hw/misc/Makefile.objs                              |    9 +-
 hw/misc/applesmc.c                                 |  211 +-
 hw/misc/arm_sysctl.c                               |    8 +-
 hw/misc/aspeed_sdmc.c                              |    8 +-
 hw/misc/auxbus.c                                   |    2 +-
 hw/misc/cbus.c                                     |    2 +-
 hw/misc/eccmemctl.c                                |   25 +-
 hw/misc/edu.c                                      |   12 +-
 hw/misc/exynos4210_pmu.c                           |   24 +-
 hw/misc/exynos4210_rng.c                           |  277 +++
 hw/misc/ivshmem.c                                  |   53 +-
 hw/misc/macio/cuda.c                               |    4 +-
 hw/misc/max111x.c                                  |    2 +-
 hw/misc/mips_cmgcr.c                               |   16 +-
 hw/misc/mmio_interface.c                           |  135 +
 hw/misc/mps2-scc.c                                 |  310 +++
 hw/misc/pvpanic.c                                  |    2 +-
 hw/misc/slavio_misc.c                              |   47 +-
 hw/misc/tmp421.c                                   |  402 +++
 hw/misc/trace-events                               |   88 +-
 hw/misc/vmport.c                                   |    2 +-
 hw/misc/zynq_slcr.c                                |    2 +-
 hw/moxie/moxiesim.c                                |    4 +-
 hw/net/Makefile.objs                               |    1 +
 hw/net/cadence_gem.c                               |   45 +-
 hw/net/dp8393x.c                                   |    4 +-
 hw/net/e1000e.c                                    |   36 +-
 hw/net/e1000e_core.c                               |   10 +-
 hw/net/eepro100.c                                  |   18 +-
 hw/net/etraxfs_eth.c                               |    2 +-
 hw/net/fsl_etsec/etsec.c                           |    2 +
 hw/net/ftgmac100.c                                 | 1016 ++++++++
 hw/net/lance.c                                     |    2 +-
 hw/net/milkymist-minimac2.c                        |    2 +-
 hw/net/rocker/rocker.c                             |    9 +-
 hw/net/rocker/rocker_desc.c                        |    4 +-
 hw/net/trace-events                                |   54 +-
 hw/net/vhost_net.c                                 |    1 +
 hw/net/virtio-net.c                                |   69 +-
 hw/net/vmxnet3.c                                   |    9 +-
 hw/net/xgmac.c                                     |    1 -
 hw/net/xilinx_axienet.c                            |    4 +-
 hw/nios2/10m50_devboard.c                          |    8 +-
 hw/nios2/boot.c                                    |    2 +-
 hw/nvram/eeprom93xx.c                              |    2 +-
 hw/nvram/fw_cfg.c                                  |  113 +-
 hw/nvram/spapr_nvram.c                             |   10 +-
 hw/nvram/trace-events                              |    4 +-
 hw/openrisc/cputimer.c                             |    1 +
 hw/openrisc/openrisc_sim.c                         |    1 -
 hw/pci-bridge/dec.c                                |    4 +-
 hw/pci-bridge/gen_pcie_root_port.c                 |   25 +
 hw/pci-bridge/i82801b11.c                          |   12 +-
 hw/pci-bridge/pci_bridge_dev.c                     |   16 +-
 hw/pci-bridge/pci_expander_bridge.c                |    2 +-
 hw/pci-bridge/pcie_root_port.c                     |   18 +-
 hw/pci-bridge/xio3130_downstream.c                 |   20 +-
 hw/pci-bridge/xio3130_upstream.c                   |   20 +-
 hw/pci-host/apb.c                                  |   37 +-
 hw/pci-host/bonito.c                               |    4 +-
 hw/pci-host/gpex.c                                 |    4 +-
 hw/pci-host/grackle.c                              |    2 +-
 hw/pci-host/piix.c                                 |   24 +-
 hw/pci-host/ppce500.c                              |    2 +-
 hw/pci-host/prep.c                                 |    4 +-
 hw/pci-host/q35.c                                  |   60 +-
 hw/pci-host/uninorth.c                             |    8 +-
 hw/pci-host/versatile.c                            |   37 +-
 hw/pci-host/xilinx-pcie.c                          |    6 +-
 hw/pci/msi.c                                       |    2 +-
 hw/pci/msix.c                                      |   13 +-
 hw/pci/pci-stub.c                                  |    3 +
 hw/pci/pci.c                                       |   28 +-
 hw/pci/pci_bridge.c                                |    8 +-
 hw/pci/pcie.c                                      |   28 +-
 hw/pci/pcie_aer.c                                  |   50 +-
 hw/pci/shpc.c                                      |   10 +-
 hw/pci/slotid_cap.c                                |   12 +-
 hw/pci/trace-events                                |    9 +-
 hw/ppc/Makefile.objs                               |    2 +-
 hw/ppc/e500.c                                      |    2 +-
 hw/ppc/mac_newworld.c                              |   19 +-
 hw/ppc/mac_oldworld.c                              |   19 +-
 hw/ppc/mpc8544_guts.c                              |    2 +-
 hw/ppc/pnv.c                                       |  422 +++-
 hw/ppc/pnv_bmc.c                                   |  122 +
 hw/ppc/pnv_core.c                                  |   29 +-
 hw/ppc/pnv_lpc.c                                   |  106 +-
 hw/ppc/pnv_occ.c                                   |  136 +
 hw/ppc/pnv_psi.c                                   |  572 +++++
 hw/ppc/ppc.c                                       |    2 +-
 hw/ppc/ppc405_boards.c                             |    3 -
 hw/ppc/ppc405_uc.c                                 |    3 +-
 hw/ppc/ppc4xx_pci.c                                |    2 +-
 hw/ppc/ppc_booke.c                                 |    1 -
 hw/ppc/prep.c                                      |    3 -
 hw/ppc/spapr.c                                     | 1166 ++++++---
 hw/ppc/spapr_cpu_core.c                            |  115 +-
 hw/ppc/spapr_drc.c                                 | 1190 +++++----
 hw/ppc/spapr_events.c                              |  163 +-
 hw/ppc/spapr_hcall.c                               |  665 ++++-
 hw/ppc/spapr_iommu.c                               |   58 +-
 hw/ppc/spapr_pci.c                                 |  162 +-
 hw/ppc/spapr_rng.c                                 |    8 +-
 hw/ppc/spapr_rtas.c                                |  316 +--
 hw/ppc/spapr_rtc.c                                 |   43 +-
 hw/ppc/spapr_vio.c                                 |    4 +-
 hw/ppc/trace-events                                |   76 +-
 hw/s390x/3270-ccw.c                                |  179 ++
 hw/s390x/Makefile.objs                             |    4 +
 hw/s390x/ccw-device.c                              |   50 +
 hw/s390x/ccw-device.h                              |   13 +-
 hw/s390x/css-bridge.c                              |    5 +
 hw/s390x/css.c                                     |  960 +++++--
 hw/s390x/ipl.c                                     |   43 +-
 hw/s390x/ipl.h                                     |    3 +
 hw/s390x/s390-ccw.c                                |  153 ++
 hw/s390x/s390-pci-bus.c                            |   56 +-
 hw/s390x/s390-pci-bus.h                            |    4 +-
 hw/s390x/s390-pci-inst.c                           |   37 +-
 hw/s390x/s390-skeys.c                              |   11 +-
 hw/s390x/s390-stattrib-kvm.c                       |  190 ++
 hw/s390x/s390-stattrib.c                           |  404 +++
 hw/s390x/s390-virtio-ccw.c                         |  176 +-
 hw/s390x/sclp.c                                    |   14 +-
 hw/s390x/trace-events                              |   21 +-
 hw/s390x/virtio-ccw.c                              |  214 +-
 hw/scsi/Makefile.objs                              |    3 +-
 hw/scsi/lsi53c895a.c                               |   10 +-
 hw/scsi/megasas.c                                  |  185 +-
 hw/scsi/scsi-bus.c                                 |   13 +-
 hw/scsi/scsi-disk.c                                |    5 +
 hw/scsi/scsi-generic.c                             |    2 +-
 hw/scsi/trace-events                               |  120 +-
 hw/scsi/vhost-scsi-common.c                        |  142 ++
 hw/scsi/vhost-scsi.c                               |  202 +-
 hw/scsi/vhost-user-scsi.c                          |  205 ++
 hw/scsi/virtio-scsi.c                              |   30 +-
 hw/scsi/vmw_pvscsi.c                               |   14 +-
 hw/sd/milkymist-memcard.c                          |    2 +-
 hw/sd/pl181.c                                      |    2 +-
 hw/sd/trace-events                                 |    6 +-
 hw/sh4/r2d.c                                       |   14 +-
 hw/sh4/sh_pci.c                                    |    2 +-
 hw/sh4/shix.c                                      |    3 -
 hw/sparc/leon3.c                                   |    2 -
 hw/sparc/sun4m.c                                   |   56 +-
 hw/sparc/trace-events                              |    2 +-
 hw/sparc64/sun4u.c                                 |   24 +-
 hw/ssi/xilinx_spips.c                              |  104 +-
 hw/timer/Makefile.objs                             |    1 +
 hw/timer/altera_timer.c                            |    2 +-
 hw/timer/aspeed_timer.c                            |   37 +-
 hw/timer/cmsdk-apb-timer.c                         |  253 ++
 hw/timer/etraxfs_timer.c                           |    2 +-
 hw/timer/exynos4210_mct.c                          |   56 +-
 hw/timer/exynos4210_pwm.c                          |   13 +-
 hw/timer/exynos4210_rtc.c                          |   19 +-
 hw/timer/i8254_common.c                            |    2 +-
 hw/timer/m48t59.c                                  |   42 +-
 hw/timer/mc146818rtc.c                             |  242 +-
 hw/timer/milkymist-sysctl.c                        |    4 +-
 hw/timer/pxa2xx_timer.c                            |    2 +-
 hw/timer/slavio_timer.c                            |   12 +-
 hw/timer/trace-events                              |   27 +-
 hw/tricore/tricore_testboard.c                     |   28 +-
 hw/unicore32/puv3.c                                |    6 +-
 hw/usb/Makefile.objs                               |    1 +
 hw/usb/bus.c                                       |    4 +-
 hw/usb/ccid-card-emulated.c                        |    2 +-
 hw/usb/ccid-card-passthru.c                        |   13 +-
 hw/usb/core.c                                      |    8 +
 hw/usb/dev-hub.c                                   |   16 +-
 hw/usb/dev-serial.c                                |   45 +-
 hw/usb/dev-smartcard-reader.c                      |   11 +-
 hw/usb/hcd-ehci.c                                  |   27 +-
 hw/usb/hcd-ehci.h                                  |    1 +
 hw/usb/hcd-ohci.c                                  |   13 +-
 hw/usb/hcd-uhci.c                                  |    2 +-
 hw/usb/hcd-xhci-nec.c                              |   63 +
 hw/usb/hcd-xhci.c                                  |  255 +-
 hw/usb/hcd-xhci.h                                  |  226 ++
 hw/usb/host-libusb.c                               |   24 +-
 hw/usb/redirect.c                                  |   28 +-
 hw/usb/trace-events                                |   58 +-
 hw/usb/xen-usb.c                                   |   15 +-
 hw/vfio/Makefile.objs                              |    1 +
 hw/vfio/amd-xgbe.c                                 |    2 +
 hw/vfio/calxeda-xgmac.c                            |    2 +
 hw/vfio/ccw.c                                      |  435 ++++
 hw/vfio/common.c                                   |   63 +-
 hw/vfio/pci.c                                      |   49 +-
 hw/vfio/platform.c                                 |    3 +-
 hw/vfio/spapr.c                                    |    3 +-
 hw/vfio/trace-events                               |   46 +-
 hw/virtio/trace-events                             |   12 +-
 hw/virtio/vhost-backend.c                          |  138 +-
 hw/virtio/vhost-user.c                             |  242 +-
 hw/virtio/vhost-vsock.c                            |    1 -
 hw/virtio/vhost.c                                  |   34 +-
 hw/virtio/virtio-crypto-pci.c                      |    2 -
 hw/virtio/virtio-crypto.c                          |   27 +-
 hw/virtio/virtio-pci.c                             |   78 +-
 hw/virtio/virtio-pci.h                             |   11 +
 hw/virtio/virtio-rng.c                             |   41 +-
 hw/virtio/virtio.c                                 |    6 +-
 hw/watchdog/watchdog.c                             |    2 +-
 hw/xen/Makefile.objs                               |    2 +-
 hw/xen/trace-events                                |   11 +-
 hw/xen/xen-common.c                                |  185 ++
 hw/xen/xen_backend.c                               |   10 +-
 hw/xen/xen_pt.c                                    |    2 +-
 hw/xen/xen_pt_config_init.c                        |    1 +
 hw/xen/xen_pt_msi.c                                |   12 +-
 hw/xenpv/xen_domainbuild.c                         |    2 +-
 hw/xenpv/xen_machine_pv.c                          |    3 -
 hw/xtensa/sim.c                                    |   18 +-
 hw/xtensa/xtfpga.c                                 |    8 +-
 include/block/accounting.h                         |   11 +-
 include/block/aio.h                                |   10 +-
 include/block/block.h                              |   91 +-
 include/block/block_backup.h                       |   11 +-
 include/block/block_int.h                          |  126 +-
 include/block/blockjob.h                           |   34 +-
 include/block/blockjob_int.h                       |   27 +-
 include/block/dirty-bitmap.h                       |   47 +-
 include/block/nbd.h                                |   73 +-
 include/chardev/char-fd.h                          |   44 +
 include/chardev/char-fe.h                          |  273 ++
 include/chardev/char-io.h                          |   46 +
 include/chardev/char-mux.h                         |   64 +
 include/chardev/char-parallel.h                    |   45 +
 include/chardev/char-serial.h                      |   49 +
 include/chardev/char-win-stdio.h                   |   29 +
 include/chardev/char-win.h                         |   51 +
 include/chardev/char.h                             |  250 ++
 include/crypto/block.h                             |   18 +-
 include/crypto/cipher.h                            |    1 +
 include/crypto/hmac.h                              |  167 ++
 include/crypto/random.h                            |    9 +
 include/elf.h                                      |    1 +
 include/exec/cpu-common.h                          |    2 +
 include/exec/cpu-defs.h                            |    4 +-
 include/exec/exec-all.h                            |   51 +-
 include/exec/gdbstub.h                             |    9 -
 include/exec/gen-icount.h                          |   12 +-
 include/exec/helper-tcg.h                          |   17 +-
 include/exec/memory.h                              |  425 +++-
 include/exec/poison.h                              |   39 +
 include/exec/ram_addr.h                            |   45 +-
 include/exec/ramlist.h                             |    6 +
 include/exec/target_page.h                         |   21 +
 include/exec/tb-context.h                          |    3 +-
 include/exec/tb-hash-xx.h                          |    7 +-
 include/exec/tb-hash.h                             |   17 +-
 include/fpu/softfloat.h                            |    6 +-
 include/glib-compat.h                              |    6 +
 include/hw/acpi/acpi-defs.h                        |  118 +-
 include/hw/acpi/aml-build.h                        |    4 +
 include/hw/acpi/memory_hotplug.h                   |    1 -
 include/hw/acpi/pcihp.h                            |    1 -
 include/hw/arm/aspeed_soc.h                        |    6 +-
 include/hw/arm/exynos4210.h                        |    5 +-
 include/hw/audio/audio.h                           |   10 -
 include/hw/audio/soundhw.h                         |   13 +
 include/hw/boards.h                                |   43 +-
 include/hw/char/bcm2835_aux.h                      |    2 +-
 include/hw/char/cadence_uart.h                     |    2 +-
 include/hw/char/cmsdk-apb-uart.h                   |   78 +
 include/hw/char/digic-uart.h                       |    2 +-
 include/hw/char/imx_serial.h                       |    2 +-
 include/hw/char/serial.h                           |    4 +-
 include/hw/char/stm32f2xx_usart.h                  |    2 +-
 include/hw/compat.h                                |   31 +
 include/hw/devices.h                               |    5 -
 include/hw/hw.h                                    |    1 +
 include/hw/i386/intel_iommu.h                      |   18 +-
 include/hw/i386/pc.h                               |   81 +-
 include/hw/i386/x86-iommu.h                        |    1 +
 include/hw/ide/ahci.h                              |  320 +--
 include/hw/input/ps2.h                             |    4 +-
 include/hw/intc/arm_gicv3_its_common.h             |    8 +
 include/hw/ipmi/ipmi.h                             |    4 +
 include/hw/isa/isa.h                               |    2 +-
 include/hw/mem/pc-dimm.h                           |    2 +-
 include/hw/mips/cpudevs.h                          |    5 +-
 include/hw/mips/mips.h                             |    3 +-
 include/hw/misc/mmio_interface.h                   |   49 +
 include/hw/misc/mps2-scc.h                         |   43 +
 include/hw/misc/unimp.h                            |    2 +
 include/hw/net/cadence_gem.h                       |    1 +
 include/hw/net/ftgmac100.h                         |   64 +
 include/hw/net/mii.h                               |   71 +-
 include/hw/nvram/fw_cfg.h                          |   50 +
 include/hw/pci-host/q35.h                          |    6 +
 include/hw/pci-host/spapr.h                        |    3 +
 include/hw/pci/pci.h                               |    2 -
 include/hw/pci/pci_bridge.h                        |    3 +-
 include/hw/pci/pci_ids.h                           |    3 +
 include/hw/pci/pcie.h                              |    3 +-
 include/hw/pci/pcie_aer.h                          |    4 -
 include/hw/pci/shpc.h                              |    4 +-
 include/hw/pci/slotid_cap.h                        |    3 +-
 include/hw/ppc/pnv.h                               |   56 +-
 include/hw/ppc/pnv_lpc.h                           |    8 +
 include/hw/ppc/pnv_occ.h                           |   38 +
 include/hw/ppc/pnv_psi.h                           |   65 +
 include/hw/ppc/pnv_xscom.h                         |    6 +
 include/hw/ppc/spapr.h                             |  101 +-
 include/hw/ppc/spapr_cpu_core.h                    |    1 +
 include/hw/ppc/spapr_drc.h                         |  165 +-
 include/hw/ppc/spapr_ovec.h                        |   10 +
 include/hw/ppc/xics.h                              |   37 +-
 include/hw/ptimer.h                                |  120 +
 include/hw/qdev-core.h                             |   48 +-
 include/hw/qdev-properties.h                       |  174 +-
 include/hw/s390x/3270-ccw.h                        |   53 +
 include/hw/s390x/css-bridge.h                      |    1 +
 include/hw/s390x/css.h                             |  113 +-
 include/hw/s390x/ioinst.h                          |    1 +
 include/hw/s390x/s390-ccw.h                        |   39 +
 include/hw/s390x/s390-virtio-ccw.h                 |   12 +
 include/hw/s390x/s390_flic.h                       |   19 +-
 include/hw/s390x/sclp.h                            |    3 +-
 include/hw/s390x/storage-attributes.h              |   81 +
 include/hw/timer/cmsdk-apb-timer.h                 |   59 +
 include/hw/timer/mc146818rtc_regs.h                |   20 +
 include/hw/vfio/vfio-common.h                      |    4 +-
 include/hw/virtio/vhost-backend.h                  |   23 +-
 include/hw/virtio/vhost-scsi-common.h              |   48 +
 include/hw/virtio/vhost-scsi.h                     |   11 +-
 include/hw/virtio/vhost-user-scsi.h                |   35 +
 include/hw/virtio/vhost.h                          |    2 +-
 include/hw/virtio/virtio-gpu.h                     |    3 +
 include/hw/virtio/virtio-net.h                     |    2 +
 include/hw/virtio/virtio-rng.h                     |    2 +
 include/hw/virtio/virtio-scsi.h                    |   12 +-
 include/hw/virtio/virtio.h                         |    1 +
 include/hw/xen/io/ring.h                           |  482 ++++
 include/hw/xen/xen.h                               |    3 +-
 include/hw/xen/xen_backend.h                       |    7 +-
 include/hw/xen/xen_common.h                        |  360 ++-
 include/io/channel-file.h                          |    2 +-
 include/io/channel-socket.h                        |    4 +-
 include/io/channel.h                               |    2 +-
 include/migration/block.h                          |   23 -
 include/migration/blocker.h                        |   35 +
 include/migration/colo.h                           |    5 -
 include/migration/cpu.h                            |    7 +
 include/migration/global_state.h                   |   24 +
 include/migration/migration.h                      |  388 ---
 include/migration/misc.h                           |   58 +
 include/migration/page_cache.h                     |   86 -
 include/migration/postcopy-ram.h                   |   94 -
 include/migration/qemu-file-types.h                |  164 ++
 include/migration/qemu-file.h                      |  313 ---
 include/migration/qjson.h                          |   29 -
 include/migration/register.h                       |   55 +
 include/migration/snapshot.h                       |   21 +
 include/migration/vmstate.h                        |  135 +-
 include/monitor/monitor.h                          |    7 -
 include/net/eth.h                                  |    1 +
 include/net/net.h                                  |   10 +-
 include/qapi/clone-visitor.h                       |   14 +
 include/qapi/error.h                               |   12 +-
 include/qapi/qmp/qdict.h                           |    9 +
 include/qapi/qmp/qfloat.h                          |   29 -
 include/qapi/qmp/qint.h                            |   28 -
 include/qapi/qmp/qlist.h                           |    9 +
 include/qapi/qmp/qnum.h                            |   53 +
 include/qapi/qmp/qobject.h                         |   10 +-
 include/qapi/qmp/types.h                           |    3 +-
 include/qapi/qobject-input-visitor.h               |    6 +-
 include/qapi/qobject-output-visitor.h              |    8 +-
 include/qapi/visitor-impl.h                        |    5 +-
 include/qapi/visitor.h                             |   24 +-
 include/qemu-common.h                              |   13 +-
 include/qemu/atomic.h                              |   38 +-
 include/qemu/bitmap.h                              |    2 +
 include/qemu/bitops.h                              |   10 -
 include/qemu/compiler.h                            |   12 +-
 include/qemu/coroutine.h                           |   18 +
 include/qemu/cpuid.h                               |   57 +
 include/qemu/error-report.h                        |    7 +
 include/qemu/hbitmap.h                             |   49 +-
 include/qemu/host-utils.h                          |  121 -
 include/qemu/main-loop.h                           |    2 +-
 include/qemu/osdep.h                               |   22 +-
 include/qemu/ratelimit.h                           |    3 +-
 include/qemu/rcu.h                                 |    7 +-
 include/qemu/sockets.h                             |   40 +-
 include/qemu/stats64.h                             |  193 ++
 include/qemu/thread-posix.h                        |    4 +
 include/qemu/thread-win32.h                        |    5 +
 include/qemu/throttle.h                            |    2 +-
 include/qemu/timer.h                               |    5 +-
 include/qemu/typedefs.h                            |   10 +-
 include/qom/cpu.h                                  |   43 +-
 include/qom/object.h                               |   29 +-
 include/standard-headers/asm-x86/hyperv.h          |   28 +-
 include/standard-headers/linux/input-event-codes.h |    2 +
 include/standard-headers/linux/input.h             |   11 +-
 include/standard-headers/linux/pci_regs.h          |    4 +-
 include/sysemu/accel.h                             |   13 +-
 include/sysemu/arch_init.h                         |    2 -
 include/sysemu/block-backend.h                     |   38 +-
 include/sysemu/char.h                              |  501 ----
 include/sysemu/cpus.h                              |    1 +
 include/sysemu/dump.h                              |    1 +
 include/sysemu/hax.h                               |    1 +
 include/sysemu/hostmem.h                           |    1 +
 include/sysemu/hw_accel.h                          |   10 +
 include/sysemu/kvm.h                               |   69 +-
 include/sysemu/numa.h                              |   19 +-
 include/sysemu/os-posix.h                          |   11 -
 include/sysemu/replay.h                            |    3 +-
 include/sysemu/sysemu.h                            |   92 +-
 include/sysemu/xen-mapcache.h                      |   16 +-
 include/ui/console.h                               |    3 +
 include/ui/egl-helpers.h                           |   18 +-
 include/ui/gtk.h                                   |    4 +-
 include/ui/input.h                                 |   12 +-
 include/ui/sdl2.h                                  |    8 +-
 include/ui/spice-display.h                         |    2 +
 io/channel-socket.c                                |    5 +-
 io/channel-websock.c                               |    4 +-
 io/channel.c                                       |   10 +-
 io/dns-resolver.c                                  |   23 +-
 io/trace-events                                    |    2 +-
 kvm-all.c                                          | 2617 -------------------
 kvm-stub.c                                         |  158 --
 linux-headers/asm-arm/kvm.h                        |   18 +-
 linux-headers/asm-arm/unistd-common.h              |    1 +
 linux-headers/asm-arm64/kvm.h                      |   13 +-
 linux-headers/asm-powerpc/kvm.h                    |    9 +
 linux-headers/asm-powerpc/unistd.h                 |    1 +
 linux-headers/asm-s390/kvm.h                       |   41 +-
 linux-headers/asm-s390/unistd.h                    |    4 +-
 linux-headers/asm-x86/kvm.h                        |    3 +
 linux-headers/asm-x86/kvm_para.h                   |    1 +
 linux-headers/asm-x86/unistd_32.h                  |    2 +
 linux-headers/asm-x86/unistd_64.h                  |    1 +
 linux-headers/asm-x86/unistd_x32.h                 |    1 +
 linux-headers/linux/kvm.h                          |   62 +
 linux-headers/linux/userfaultfd.h                  |   11 +-
 linux-headers/linux/vfio.h                         |   18 +
 linux-headers/linux/vfio_ccw.h                     |   24 +
 linux-user/elfload.c                               |   27 +-
 linux-user/host/aarch64/hostdep.h                  |    2 +-
 linux-user/host/arm/hostdep.h                      |    2 +-
 linux-user/host/i386/hostdep.h                     |    2 +-
 linux-user/host/ppc64/hostdep.h                    |    2 +-
 linux-user/host/s390x/hostdep.h                    |    2 +-
 linux-user/host/x86_64/hostdep.h                   |    2 +-
 linux-user/main.c                                  |   56 +-
 linux-user/openrisc/target_cpu.h                   |    6 +-
 linux-user/openrisc/target_signal.h                |    2 +-
 linux-user/signal.c                                |   58 +-
 linux-user/strace.c                                |  177 +-
 linux-user/strace.list                             |   16 +-
 linux-user/syscall.c                               |  172 +-
 linux-user/trace-events                            |   12 +-
 memory.c                                           |  448 +++-
 memory_mapping.c                                   |    1 +
 migration/Makefile.objs                            |    8 +-
 migration/block.c                                  |  125 +-
 migration/block.h                                  |   45 +
 migration/channel.c                                |   69 +
 migration/channel.h                                |   26 +
 migration/colo-comm.c                              |    4 +-
 migration/colo-failover.c                          |    2 +
 migration/colo.c                                   |   33 +-
 migration/exec.c                                   |   10 +-
 migration/exec.h                                   |   26 +
 migration/fd.c                                     |    6 +-
 migration/fd.h                                     |   23 +
 migration/global_state.c                           |  134 +
 migration/migration.c                              | 1031 ++++----
 migration/migration.h                              |  196 ++
 migration/page_cache.c                             |  236 ++
 migration/page_cache.h                             |   86 +
 migration/postcopy-ram.c                           |   62 +-
 migration/postcopy-ram.h                           |  117 +
 migration/qemu-file-channel.c                      |    4 +-
 migration/qemu-file-channel.h                      |   32 +
 migration/qemu-file.c                              |    6 +-
 migration/qemu-file.h                              |  177 ++
 migration/qjson.c                                  |    2 +-
 migration/qjson.h                                  |   29 +
 migration/ram.c                                    | 1481 ++++++-----
 migration/ram.h                                    |   55 +
 migration/rdma.c                                   |  161 +-
 migration/rdma.h                                   |   25 +
 migration/savevm.c                                 |  554 ++---
 migration/savevm.h                                 |   58 +
 migration/socket.c                                 |   30 +-
 migration/socket.h                                 |   28 +
 migration/tls.c                                    |    7 +-
 migration/tls.h                                    |   34 +
 migration/trace-events                             |   44 +-
 migration/vmstate-types.c                          |  677 +++++
 migration/vmstate.c                                |  661 +----
 migration/xbzrle.c                                 |    2 +-
 migration/xbzrle.h                                 |   21 +
 monitor.c                                          |  271 +-
 nbd/client.c                                       |  479 ++--
 nbd/common.c                                       |  149 +-
 nbd/nbd-internal.h                                 |   82 +-
 nbd/server.c                                       |  966 +++----
 nbd/trace-events                                   |   61 +
 net/Makefile.objs                                  |   15 +-
 net/colo-compare.c                                 |  186 +-
 net/colo.c                                         |    9 +-
 net/colo.h                                         |    4 +-
 net/dump.c                                         |    5 +-
 net/eth.c                                          |    4 +-
 net/filter-buffer.c                                |    2 +-
 net/filter-mirror.c                                |  120 +-
 net/filter-rewriter.c                              |   41 +-
 net/net.c                                          |   50 +-
 net/slirp.c                                        |  140 +-
 net/socket.c                                       |  170 +-
 net/tap-aix.c                                      |   88 -
 net/tap-haiku.c                                    |   87 -
 net/tap-linux.c                                    |    2 +-
 net/tap-stub.c                                     |   87 +
 net/trace-events                                   |    7 +-
 net/vhost-user.c                                   |   18 +-
 numa.c                                             |  306 ++-
 os-posix.c                                         |    2 -
 os-win32.c                                         |    2 +-
 page_cache.c                                       |  236 --
 pc-bios/README                                     |    5 +-
 pc-bios/efi-e1000.rom                              |  Bin 209920 -> 240128 bytes
 pc-bios/efi-e1000e.rom                             |  Bin 209920 -> 240128 bytes
 pc-bios/efi-eepro100.rom                           |  Bin 209920 -> 240128 bytes
 pc-bios/efi-ne2k_pci.rom                           |  Bin 208896 -> 238080 bytes
 pc-bios/efi-pcnet.rom                              |  Bin 208896 -> 238080 bytes
 pc-bios/efi-rtl8139.rom                            |  Bin 212480 -> 241664 bytes
 pc-bios/efi-virtio.rom                             |  Bin 212480 -> 242176 bytes
 pc-bios/efi-vmxnet3.rom                            |  Bin 206848 -> 236032 bytes
 pc-bios/keymaps/fr-ca                              |   10 +
 pc-bios/linuxboot_dma.bin                          |  Bin 1536 -> 1536 bytes
 pc-bios/openbios-ppc                               |  Bin 750840 -> 754936 bytes
 pc-bios/openbios-sparc32                           |  Bin 382048 -> 382048 bytes
 pc-bios/openbios-sparc64                           |  Bin 1593408 -> 1593408 bytes
 pc-bios/optionrom/Makefile                         |    1 +
 pc-bios/qemu_vga.ndrv                              |  Bin 0 -> 14752 bytes
 pc-bios/s390-ccw.img                               |  Bin 26456 -> 30520 bytes
 pc-bios/s390-ccw/Makefile                          |   17 +-
 pc-bios/s390-ccw/bootmap.c                         |   36 +-
 pc-bios/s390-ccw/bootmap.h                         |   50 +-
 pc-bios/s390-ccw/bswap.h                           |   30 +
 pc-bios/s390-ccw/libc.h                            |   45 +
 pc-bios/s390-ccw/main.c                            |   30 +-
 pc-bios/s390-ccw/netboot.mak                       |   59 +
 pc-bios/s390-ccw/netmain.c                         |  361 +++
 pc-bios/s390-ccw/s390-ccw.h                        |   57 +-
 pc-bios/s390-ccw/sclp-ascii.c                      |   82 -
 pc-bios/s390-ccw/sclp.c                            |  111 +
 pc-bios/s390-ccw/sclp.h                            |    2 +
 pc-bios/s390-ccw/scsi.h                            |   30 +
 pc-bios/s390-ccw/virtio-blkdev.c                   |  296 +++
 pc-bios/s390-ccw/virtio-net.c                      |  135 +
 pc-bios/s390-ccw/virtio-scsi.c                     |   86 +-
 pc-bios/s390-ccw/virtio-scsi.h                     |    2 +
 pc-bios/s390-ccw/virtio.c                          |  306 +--
 pc-bios/s390-ccw/virtio.h                          |   47 +-
 pc-bios/s390-netboot.img                           |  Bin 0 -> 83864 bytes
 pc-bios/sgabios.bin                                |  Bin 4096 -> 4096 bytes
 pc-bios/slof.bin                                   |  Bin 902120 -> 905200 bytes
 pc-bios/u-boot.e500                                |  Bin 347788 -> 388672 bytes
 qapi-schema.json                                   |  349 ++-
 qapi/block-core.json                               |  355 ++-
 qapi/block.json                                    |    4 +-
 qapi/common.json                                   |    5 +-
 qapi/event.json                                    |   17 +-
 qapi/introspect.json                               |    2 +-
 qapi/qapi-clone-visitor.c                          |   20 +-
 qapi/qapi-dealloc-visitor.c                        |    8 +-
 qapi/qapi-util.c                                   |    2 +-
 qapi/qapi-visit-core.c                             |   13 +-
 qapi/qmp-dispatch.c                                |   14 +-
 qapi/qmp-event.c                                   |    2 +-
 qapi/qobject-input-visitor.c                       |   99 +-
 qapi/qobject-output-visitor.c                      |   12 +-
 qapi/string-input-visitor.c                        |   17 +
 qapi/string-output-visitor.c                       |   37 +-
 qapi/trace-events                                  |    4 +-
 qdev-monitor.c                                     |   51 +-
 qemu-doc.texi                                      |  499 +++-
 qemu-img-cmds.hx                                   |   62 +-
 qemu-img.c                                         |  998 +++++---
 qemu-img.texi                                      |   82 +-
 qemu-io-cmds.c                                     |  187 +-
 qemu-io.c                                          |   76 +-
 qemu-nbd.c                                         |   47 +-
 qemu-options.hx                                    |  419 +++-
 qemu.sasl                                          |   54 +-
 qga/commands-posix.c                               |  227 +-
 qga/commands-win32.c                               |  305 ++-
 qga/commands.c                                     |   51 +-
 qga/installer/qemu-ga.wxs                          |    4 +
 qga/main.c                                         |   45 +-
 qga/qapi-schema.json                               |  153 +-
 qga/vss-win32.c                                    |    2 +-
 qga/vss-win32.h                                    |    3 +-
 qga/vss-win32/install.cpp                          |   63 +-
 qga/vss-win32/install.h                            |   20 +
 qga/vss-win32/provider.cpp                         |    1 -
 qga/vss-win32/requester.cpp                        |    2 +
 qga/vss-win32/vss-common.h                         |   11 +-
 qga/vss-win32/vss-handles.h                        |   14 +
 qmp.c                                              |   52 +-
 qobject/Makefile.objs                              |    2 +-
 qobject/json-lexer.c                               |    4 +
 qobject/json-parser.c                              |   58 +-
 qobject/qdict.c                                    |   39 +-
 qobject/qfloat.c                                   |   62 -
 qobject/qint.c                                     |   61 -
 qobject/qjson.c                                    |   37 +-
 qobject/qnull.c                                    |    8 +-
 qobject/qnum.c                                     |  223 ++
 qobject/qobject.c                                  |    3 +-
 qom/container.c                                    |    1 +
 qom/cpu.c                                          |   30 +-
 qom/object.c                                       |   76 +-
 qom/object_interfaces.c                            |    9 +
 qom/trace-events                                   |    2 +-
 qtest.c                                            |    4 +-
 replay/replay-char.c                               |    2 +-
 replay/replay-internal.h                           |    3 +-
 replay/replay-snapshot.c                           |    9 +-
 replay/replay.c                                    |    9 +-
 roms/QemuMacDrivers                                |    1 +
 roms/SLOF                                          |    2 +-
 roms/ipxe                                          |    2 +-
 roms/openbios                                      |    2 +-
 roms/sgabios                                       |    2 +-
 roms/u-boot                                        |    2 +-
 rules.mak                                          |    5 +-
 scripts/checkpatch.pl                              |   54 +-
 scripts/clean-header-guards.pl                     |    3 +-
 scripts/cleanup-trace-events.pl                    |    2 +-
 scripts/coccinelle/memory-region-init-ram.cocci    |   38 +
 scripts/coccinelle/qobject.cocci                   |   41 +
 scripts/coccinelle/return_directly.cocci           |    2 +-
 scripts/coccinelle/tcg_gen_extract.cocci           |  107 +
 scripts/device-crash-test                          |  624 +++++
 scripts/disas-objdump.pl                           |    4 +-
 scripts/get_maintainer.pl                          |   56 +-
 scripts/git.orderfile                              |   29 +
 scripts/hxtool                                     |   46 +-
 scripts/qapi-commands.py                           |    8 +-
 scripts/qapi-event.py                              |   12 +-
 scripts/qapi-visit.py                              |   12 +-
 scripts/qapi.py                                    |   54 +-
 scripts/qapi2texi.py                               |    2 +-
 scripts/qemu-binfmt-conf.sh                        |    4 +-
 scripts/qemu.py                                    |   17 +-
 scripts/qmp/qmp-shell                              |   44 +-
 scripts/qmp/qom-set                                |    2 +-
 scripts/shaderinclude.pl                           |    2 +-
 scripts/simpletrace.py                             |   59 +-
 scripts/switch-timer-api                           |    2 +-
 scripts/texi2pod.pl                                |    4 +-
 scripts/tracetool/__init__.py                      |    8 +-
 scripts/tracetool/backend/__init__.py              |    3 +
 scripts/tracetool/backend/dtrace.py                |   16 +-
 scripts/tracetool/backend/ftrace.py                |   25 +-
 scripts/tracetool/backend/log.py                   |   24 +-
 scripts/tracetool/backend/simple.py                |    9 +-
 scripts/tracetool/backend/syslog.py                |   11 +-
 scripts/tracetool/backend/ust.py                   |   14 +-
 scripts/tracetool/format/h.py                      |   36 +-
 scripts/tracetool/format/simpletrace_stap.py       |   24 +-
 scripts/tracetool/format/tcg_h.py                  |   21 +-
 scripts/tracetool/format/tcg_helper_c.py           |    5 +-
 scripts/update-linux-headers.sh                    |    2 +-
 slirp/Makefile.objs                                |    2 +-
 slirp/bootp.c                                      |    3 +
 slirp/ip6.h                                        |    6 +-
 slirp/ip_icmp.c                                    |    5 +-
 slirp/misc.c                                       |    4 +-
 slirp/ncsi-pkt.h                                   |  419 ++++
 slirp/ncsi.c                                       |  130 +
 slirp/sbuf.c                                       |    2 +-
 slirp/sbuf.h                                       |    4 +-
 slirp/slirp.c                                      |  509 ++--
 slirp/slirp.h                                      |    3 +
 slirp/socket.c                                     |   55 +-
 slirp/socket.h                                     |   24 +-
 slirp/tcp_input.c                                  |    4 +-
 slirp/tcp_subr.c                                   |    4 +-
 slirp/tcp_var.h                                    |    6 +-
 slirp/tftp.c                                       |    2 +-
 spice-qemu-char.c                                  |  421 ----
 stubs/Makefile.objs                                |    3 +
 stubs/change-state-handler.c                       |   14 +
 stubs/migr-blocker.c                               |    2 +-
 stubs/vmstate.c                                    |    5 +-
 stubs/xen-common.c                                 |   14 +
 stubs/xen-hvm.c                                    |   63 +
 target/alpha/cpu.c                                 |    8 +-
 target/alpha/cpu.h                                 |   79 +-
 target/alpha/helper.c                              |   12 +-
 target/alpha/machine.c                             |   10 +-
 target/alpha/sys_helper.c                          |    4 +-
 target/alpha/translate.c                           |  283 ++-
 target/arm/cpu.c                                   |  112 +-
 target/arm/cpu.h                                   |  138 +-
 target/arm/helper.c                                |  437 +++-
 target/arm/internals.h                             |   21 -
 target/arm/kvm.c                                   |   51 +
 target/arm/kvm64.c                                 |    4 +-
 target/arm/machine.c                               |   37 +-
 target/arm/op_helper.c                             |   26 +-
 target/arm/psci.c                                  |    4 +-
 target/arm/trace-events                            |   12 +-
 target/arm/translate-a64.c                         |  137 +-
 target/arm/translate.c                             |  246 +-
 target/arm/translate.h                             |   18 +-
 target/cris/translate.c                            |    7 +-
 target/hppa/cpu.c                                  |    1 -
 target/hppa/translate.c                            |   13 +-
 target/i386/Makefile.objs                          |    9 +-
 target/i386/arch_memory_mapping.c                  |   18 +-
 target/i386/cpu.c                                  |  230 +-
 target/i386/cpu.h                                  |   55 +-
 target/i386/excp_helper.c                          |  345 ++-
 target/i386/fpu_helper.c                           |   29 +-
 target/i386/hax-all.c                              |   29 +-
 target/i386/hax-mem.c                              |   19 +-
 target/i386/helper.c                               |  452 +---
 target/i386/kvm.c                                  |  178 +-
 target/i386/kvm_i386.h                             |   23 +
 target/i386/machine.c                              |  289 +--
 target/i386/mpx_helper.c                           |   30 -
 target/i386/seg_helper.c                           |   28 +-
 target/i386/smm_helper.c                           |   18 -
 target/i386/trace-events                           |    2 +-
 target/i386/translate.c                            |   61 +-
 target/i386/xsave_helper.c                         |  114 +
 target/lm32/translate.c                            |    4 +-
 target/m68k/Makefile.objs                          |    2 +-
 target/m68k/cpu.c                                  |   11 +-
 target/m68k/cpu.h                                  |   59 +-
 target/m68k/fpu_helper.c                           |  510 ++++
 target/m68k/helper.c                               |  165 +-
 target/m68k/helper.h                               |   63 +-
 target/m68k/qregs.def                              |    1 -
 target/m68k/translate.c                            | 1331 +++++++---
 target/microblaze/cpu.c                            |   39 +-
 target/microblaze/cpu.h                            |    7 +
 target/microblaze/translate.c                      |   81 +-
 target/mips/cpu.h                                  |   58 +-
 target/mips/helper.c                               |  249 +-
 target/mips/helper.h                               |    3 +
 target/mips/kvm.c                                  |    4 +-
 target/mips/machine.c                              |    9 +-
 target/mips/op_helper.c                            |   69 +-
 target/mips/trace-events                           |    2 +-
 target/mips/translate.c                            |  514 +++-
 target/mips/translate_init.c                       |   17 +-
 target/moxie/translate.c                           |    4 +-
 target/nios2/translate.c                           |    7 +-
 target/openrisc/cpu.c                              |   16 +-
 target/openrisc/cpu.h                              |   46 +-
 target/openrisc/gdbstub.c                          |    4 +-
 target/openrisc/interrupt.c                        |   11 +-
 target/openrisc/machine.c                          |   76 +-
 target/openrisc/mmu.c                              |   24 +-
 target/openrisc/sys_helper.c                       |   35 +
 target/openrisc/translate.c                        |    9 +-
 target/ppc/Makefile.objs                           |    1 +
 target/ppc/arch_dump.c                             |    2 +-
 target/ppc/compat.c                                |  111 +-
 target/ppc/cpu-models.h                            |    1 +
 target/ppc/cpu-qom.h                               |    1 +
 target/ppc/cpu.h                                   |   19 +-
 target/ppc/excp_helper.c                           |   10 +
 target/ppc/helper.h                                |    1 +
 target/ppc/kvm.c                                   |  291 ++-
 target/ppc/kvm_ppc.h                               |   71 +-
 target/ppc/machine.c                               |   98 +-
 target/ppc/misc_helper.c                           |    8 +
 target/ppc/mmu-book3s-v3.c                         |    6 +-
 target/ppc/mmu-book3s-v3.h                         |    5 +
 target/ppc/mmu-hash64.h                            |    4 +
 target/ppc/mmu-radix64.c                           |  298 +++
 target/ppc/mmu-radix64.h                           |   73 +
 target/ppc/mmu_helper.c                            |    5 +-
 target/ppc/monitor.c                               |    4 +-
 target/ppc/trace-events                            |    2 +-
 target/ppc/translate.c                             |   74 +-
 target/ppc/translate/vsx-impl.inc.c                |   24 +-
 target/ppc/translate_init.c                        |  569 +++--
 target/s390x/Makefile.objs                         |    8 +-
 target/s390x/arch_dump.c                           |   18 +
 target/s390x/cpu.c                                 |   13 +-
 target/s390x/cpu.h                                 |  117 +-
 target/s390x/cpu_features.c                        |   81 +-
 target/s390x/cpu_features.h                        |   13 +-
 target/s390x/cpu_features_def.h                    |   77 +
 target/s390x/cpu_models.c                          |  223 +-
 target/s390x/cpu_models.h                          |   12 +-
 target/s390x/diag.c                                |  179 ++
 target/s390x/excp_helper.c                         |  515 ++++
 target/s390x/fpu_helper.c                          |   27 +
 target/s390x/gdbstub.c                             |   24 +
 target/s390x/gen-features.c                        |  141 +-
 target/s390x/helper.c                              |  489 +---
 target/s390x/helper.h                              |   44 +-
 target/s390x/insn-data.def                         |  157 +-
 target/s390x/insn-format.def                       |    1 +
 target/s390x/interrupt.c                           |   39 +
 target/s390x/ioinst.c                              |   55 +-
 target/s390x/kvm.c                                 |  231 +-
 target/s390x/machine.c                             |   36 +
 target/s390x/mem_helper.c                          | 2163 +++++++++++++---
 target/s390x/misc_helper.c                         |  281 +--
 target/s390x/mmu_helper.c                          |   12 +-
 target/s390x/trace-events                          |    4 +-
 target/s390x/translate.c                           | 1099 +++++---
 target/sh4/cpu.c                                   |    3 +-
 target/sh4/cpu.h                                   |   50 +-
 target/sh4/helper.c                                |   30 +-
 target/sh4/helper.h                                |   13 +-
 target/sh4/op_helper.c                             |  119 +-
 target/sh4/translate.c                             | 1155 ++++++---
 target/sparc/int32_helper.c                        |    2 +-
 target/sparc/trace-events                          |   32 +-
 target/sparc/translate.c                           |   25 +-
 target/tilegx/cpu.c                                |    1 -
 target/tilegx/translate.c                          |    5 +-
 target/tricore/cpu.c                               |   10 +
 target/tricore/translate.c                         |    5 +-
 target/unicore32/softmmu.c                         |    8 +-
 target/unicore32/translate.c                       |    5 +-
 target/xtensa/cpu.h                                |    1 +
 target/xtensa/gdbstub.c                            |   14 +-
 target/xtensa/translate.c                          |    5 +-
 target/xtensa/xtensa-semi.c                        |   91 +-
 tcg-runtime.c                                      |  201 --
 tcg/README                                         |   10 +-
 tcg/aarch64/tcg-target.h                           |    1 +
 tcg/aarch64/tcg-target.inc.c                       |  104 +-
 tcg/arm/tcg-target.h                               |    8 +-
 tcg/arm/tcg-target.inc.c                           |  132 +-
 tcg/i386/tcg-target.h                              |    1 +
 tcg/i386/tcg-target.inc.c                          |   60 +-
 tcg/ia64/tcg-target.h                              |    1 +
 tcg/mips/tcg-target.h                              |    1 +
 tcg/mips/tcg-target.inc.c                          |   34 +-
 tcg/ppc/tcg-target.h                               |    1 +
 tcg/ppc/tcg-target.inc.c                           |   78 +-
 tcg/s390/tcg-target.h                              |    1 +
 tcg/s390/tcg-target.inc.c                          |   24 +-
 tcg/sparc/tcg-target.h                             |    1 +
 tcg/sparc/tcg-target.inc.c                         |   11 +-
 tcg/tcg-op.c                                       |   18 +
 tcg/tcg-op.h                                       |   11 +
 tcg/tcg-opc.h                                      |    1 +
 tcg/tcg-runtime.c                                  |  234 ++
 tcg/tcg-runtime.h                                  |    2 +
 tcg/tcg.c                                          |   25 +
 tcg/tcg.h                                          |   12 +-
 tcg/tci.c                                          | 1250 ++++++++++
 tcg/tci/tcg-target.h                               |    1 +
 tci.c                                              | 1251 ----------
 tests/.gitignore                                   |   10 +-
 tests/Makefile.include                             |  116 +-
 tests/acpi-test-data/pc/SLIT.cphp                  |  Bin 0 -> 48 bytes
 tests/acpi-test-data/pc/SLIT.memhp                 |  Bin 0 -> 48 bytes
 tests/acpi-test-data/pc/SRAT.memhp                 |  Bin 224 -> 264 bytes
 tests/acpi-test-data/q35/DSDT                      |  Bin 7824 -> 7782 bytes
 tests/acpi-test-data/q35/DSDT.bridge               |  Bin 7841 -> 7799 bytes
 tests/acpi-test-data/q35/DSDT.cphp                 |  Bin 8287 -> 8245 bytes
 tests/acpi-test-data/q35/DSDT.ipmibt               |  Bin 7899 -> 7857 bytes
 tests/acpi-test-data/q35/DSDT.memhp                |  Bin 9189 -> 9147 bytes
 tests/acpi-test-data/q35/SLIT.cphp                 |  Bin 0 -> 48 bytes
 tests/acpi-test-data/q35/SLIT.memhp                |  Bin 0 -> 48 bytes
 tests/acpi-test-data/q35/SRAT.memhp                |  Bin 224 -> 264 bytes
 tests/acpi-utils.h                                 |   10 +
 tests/ahci-test.c                                  |    8 +-
 tests/benchmark-crypto-cipher.c                    |   88 +
 tests/benchmark-crypto-hash.c                      |   67 +
 tests/benchmark-crypto-hmac.c                      |   82 +
 tests/bios-tables-test.c                           |   41 +-
 tests/boot-serial-test.c                           |    9 +-
 tests/check-qdict.c                                |  185 +-
 tests/check-qfloat.c                               |   53 -
 tests/check-qint.c                                 |   87 -
 tests/check-qjson.c                                |  141 +-
 tests/check-qlist.c                                |   42 +-
 tests/check-qnull.c                                |   27 +-
 tests/check-qnum.c                                 |  170 ++
 tests/check-qom-proplist.c                         |  100 +
 tests/check-qstring.c                              |    9 -
 tests/data/test-qga-os-release                     |    7 +
 tests/device-introspect-test.c                     |  160 +-
 tests/docker/Makefile.include                      |   27 +-
 tests/docker/docker.py                             |   53 +-
 tests/docker/dockerfiles/centos6.docker            |   31 +-
 tests/docker/dockerfiles/centos7.docker            |   31 +
 tests/docker/dockerfiles/debian-amd64.docker       |   39 +
 tests/docker/dockerfiles/debian-apt-fake.sh        |   46 +
 tests/docker/dockerfiles/debian-arm64-cross.docker |   22 +-
 tests/docker/dockerfiles/debian-armel-cross.docker |   24 +
 tests/docker/dockerfiles/debian-armhf-cross.docker |   19 +-
 tests/docker/dockerfiles/debian-mips-cross.docker  |   29 +
 .../dockerfiles/debian-mips64el-cross.docker       |   30 +
 .../docker/dockerfiles/debian-mipsel-cross.docker  |   29 +
 tests/docker/dockerfiles/debian-ports.docker       |   35 +
 .../docker/dockerfiles/debian-powerpc-cross.docker |   40 +
 .../docker/dockerfiles/debian-ppc64el-cross.docker |   25 +
 tests/docker/dockerfiles/debian-s390x-cross.docker |   25 +-
 tests/docker/dockerfiles/debian-win32-cross.docker |   32 +
 tests/docker/dockerfiles/debian-win64-cross.docker |   32 +
 tests/docker/dockerfiles/debian.docker             |   32 +-
 tests/docker/dockerfiles/debian8-mxe.docker        |   18 +
 tests/docker/dockerfiles/debian8.docker            |   36 +
 tests/docker/dockerfiles/debian9.docker            |   30 +
 tests/docker/dockerfiles/fedora.docker             |    4 +-
 tests/docker/dockerfiles/travis.docker             |    2 +-
 tests/docker/travis.py                             |    6 +-
 tests/drive_del-test.c                             |    2 +-
 tests/fdc-test.c                                   |    8 +-
 tests/ide-test.c                                   |   27 +-
 tests/libqos/virtio.c                              |   60 +
 tests/libqos/virtio.h                              |    8 +-
 tests/libqtest.c                                   |   51 +-
 tests/libqtest.h                                   |   20 +-
 tests/megasas-test.c                               |   86 +
 tests/multiboot/run_test.sh                        |   10 +-
 tests/numa-test.c                                  |  306 +++
 tests/nvme-test.c                                  |    2 +-
 tests/pc-cpu-test.c                                |   95 +-
 tests/postcopy-test.c                              |    4 +-
 tests/pxe-test.c                                   |    2 +-
 tests/q35-test.c                                   |  125 +-
 tests/qapi-schema/alternate-clash.json             |    2 +-
 tests/qapi-schema/alternate-conflict-dict.json     |    2 +-
 tests/qapi-schema/alternate-conflict-enum-bool.err |    1 +
 .../qapi-schema/alternate-conflict-enum-bool.exit  |    1 +
 .../qapi-schema/alternate-conflict-enum-bool.json  |    6 +
 tests/qapi-schema/alternate-conflict-enum-bool.out |    0
 tests/qapi-schema/alternate-conflict-enum-int.err  |    1 +
 tests/qapi-schema/alternate-conflict-enum-int.exit |    1 +
 tests/qapi-schema/alternate-conflict-enum-int.json |    6 +
 tests/qapi-schema/alternate-conflict-enum-int.out  |    0
 tests/qapi-schema/alternate-conflict-string.err    |    2 +-
 tests/qapi-schema/alternate-conflict-string.json   |    6 +-
 tests/qapi-schema/alternate-nested.json            |    2 +-
 tests/qapi-schema/args-alternate.json              |    2 +-
 tests/qapi-schema/comments.out                     |    2 +-
 tests/qapi-schema/doc-bad-alternate-member.json    |    2 +-
 tests/qapi-schema/doc-good.out                     |    2 +-
 tests/qapi-schema/empty.out                        |    2 +-
 tests/qapi-schema/event-case.out                   |    2 +-
 tests/qapi-schema/ident-with-escape.out            |    2 +-
 tests/qapi-schema/include-relpath.out              |    2 +-
 tests/qapi-schema/include-repetition.out           |    2 +-
 tests/qapi-schema/include-simple.out               |    2 +-
 tests/qapi-schema/indented-expr.out                |    2 +-
 tests/qapi-schema/qapi-schema-test.json            |   16 +-
 tests/qapi-schema/qapi-schema-test.out             |   33 +-
 tests/qapi-schema/returns-alternate.json           |    2 +-
 tests/qemu-iotests/017                             |    1 +
 tests/qemu-iotests/019.out                         |    8 +-
 tests/qemu-iotests/020                             |    1 +
 tests/qemu-iotests/026                             |    2 +-
 tests/qemu-iotests/026.out                         |    2 +-
 tests/qemu-iotests/026.out.nocache                 |    2 +-
 tests/qemu-iotests/028                             |    1 +
 tests/qemu-iotests/028.out                         |    2 +-
 tests/qemu-iotests/029                             |    1 +
 tests/qemu-iotests/030                             |   29 +-
 tests/qemu-iotests/030.out                         |    4 +-
 tests/qemu-iotests/033                             |   12 +-
 tests/qemu-iotests/040                             |   63 +-
 tests/qemu-iotests/040.out                         |    4 +-
 tests/qemu-iotests/041                             |   54 +-
 tests/qemu-iotests/041.out                         |    4 +-
 tests/qemu-iotests/042                             |    2 +-
 tests/qemu-iotests/044.out                         |    2 +-
 tests/qemu-iotests/046                             |    2 +-
 tests/qemu-iotests/048                             |    2 +-
 tests/qemu-iotests/049                             |    2 +-
 tests/qemu-iotests/049.out                         |  102 +-
 tests/qemu-iotests/051                             |   11 +-
 tests/qemu-iotests/051.out                         |  109 +-
 tests/qemu-iotests/051.pc.out                      |  135 +-
 tests/qemu-iotests/055                             |   47 +-
 tests/qemu-iotests/059                             |   11 +-
 tests/qemu-iotests/059.out                         |   22 +-
 tests/qemu-iotests/060.out                         |    9 +-
 tests/qemu-iotests/063                             |    4 +-
 tests/qemu-iotests/066                             |  140 +-
 tests/qemu-iotests/066.out                         |   56 +-
 tests/qemu-iotests/067                             |   13 +
 tests/qemu-iotests/067.out                         |   40 +
 tests/qemu-iotests/068                             |   39 +-
 tests/qemu-iotests/068.out                         |   17 +-
 tests/qemu-iotests/071.out                         |    4 +-
 tests/qemu-iotests/073                             |    1 +
 tests/qemu-iotests/074                             |    1 +
 tests/qemu-iotests/081.out                         |    2 +-
 tests/qemu-iotests/082                             |    4 +-
 tests/qemu-iotests/082.out                         |  288 ++-
 tests/qemu-iotests/083.out                         |    2 +
 tests/qemu-iotests/085                             |   35 +-
 tests/qemu-iotests/085.out                         |   41 +-
 tests/qemu-iotests/087                             |   45 +-
 tests/qemu-iotests/087.out                         |   28 +-
 tests/qemu-iotests/091                             |    2 +
 tests/qemu-iotests/093                             |    4 +
 tests/qemu-iotests/094                             |   11 +-
 tests/qemu-iotests/094.out                         |    2 +-
 tests/qemu-iotests/102                             |    5 +-
 tests/qemu-iotests/102.out                         |    4 +-
 tests/qemu-iotests/106                             |   92 +
 tests/qemu-iotests/106.out                         |   50 +
 tests/qemu-iotests/109                             |   10 +-
 tests/qemu-iotests/109.out                         |   76 +-
 tests/qemu-iotests/111.out                         |    1 +
 tests/qemu-iotests/114                             |    1 +
 tests/qemu-iotests/114.out                         |    5 +-
 tests/qemu-iotests/117                             |    1 +
 tests/qemu-iotests/117.out                         |    2 +-
 tests/qemu-iotests/119.out                         |    2 +-
 tests/qemu-iotests/120                             |    1 +
 tests/qemu-iotests/120.out                         |    2 +-
 tests/qemu-iotests/122.out                         |   20 +-
 tests/qemu-iotests/124                             |    7 +-
 tests/qemu-iotests/125                             |  130 +
 tests/qemu-iotests/125.out                         |  386 +++
 tests/qemu-iotests/126                             |  105 +
 tests/qemu-iotests/126.out                         |   23 +
 tests/qemu-iotests/130                             |    2 +
 tests/qemu-iotests/130.out                         |    4 +-
 tests/qemu-iotests/134                             |   21 +-
 tests/qemu-iotests/134.out                         |   10 +-
 tests/qemu-iotests/136                             |    2 +-
 tests/qemu-iotests/139                             |    4 +-
 tests/qemu-iotests/140                             |   10 +-
 tests/qemu-iotests/140.out                         |    5 +-
 tests/qemu-iotests/141                             |    3 +-
 tests/qemu-iotests/142                             |   50 +-
 tests/qemu-iotests/142.out                         |   10 +-
 tests/qemu-iotests/143                             |    1 +
 tests/qemu-iotests/143.out                         |    5 +-
 tests/qemu-iotests/144.out                         |    4 +-
 tests/qemu-iotests/145                             |   18 +-
 tests/qemu-iotests/145.out                         |    2 +-
 tests/qemu-iotests/146.out                         |   30 +-
 tests/qemu-iotests/147                             |    7 +
 tests/qemu-iotests/149                             |   25 +-
 tests/qemu-iotests/149.out                         | 1002 ++++++--
 tests/qemu-iotests/153                             |  234 ++
 tests/qemu-iotests/153.out                         |  396 +++
 tests/qemu-iotests/154                             |  156 +-
 tests/qemu-iotests/154.out                         |  158 +-
 tests/qemu-iotests/156                             |    8 +-
 tests/qemu-iotests/156.out                         |    2 +-
 tests/qemu-iotests/157                             |   17 +-
 tests/qemu-iotests/157.out                         |   16 +-
 tests/qemu-iotests/158                             |   22 +-
 tests/qemu-iotests/158.out                         |   14 +-
 tests/qemu-iotests/159                             |    1 +
 tests/qemu-iotests/162                             |    7 +
 tests/qemu-iotests/165                             |  105 +
 tests/qemu-iotests/165.out                         |    5 +
 tests/qemu-iotests/170                             |    1 +
 tests/qemu-iotests/171                             |   14 +-
 tests/qemu-iotests/172                             |   55 +-
 tests/qemu-iotests/172.out                         |   50 +-
 tests/qemu-iotests/174                             |    2 +-
 tests/qemu-iotests/177                             |  117 +
 tests/qemu-iotests/177.out                         |   54 +
 tests/qemu-iotests/178                             |  170 ++
 tests/qemu-iotests/178.out.qcow2                   |  286 +++
 tests/qemu-iotests/178.out.raw                     |  158 ++
 tests/qemu-iotests/179                             |  131 +
 tests/qemu-iotests/179.out                         |  156 ++
 tests/qemu-iotests/181                             |  132 +
 tests/qemu-iotests/181.out                         |   38 +
 tests/qemu-iotests/182                             |   68 +
 tests/qemu-iotests/182.out                         |    8 +
 tests/qemu-iotests/183                             |  140 ++
 tests/qemu-iotests/183.out                         |   46 +
 tests/qemu-iotests/185                             |  210 ++
 tests/qemu-iotests/185.out                         |   59 +
 tests/qemu-iotests/186                             |  147 ++
 tests/qemu-iotests/186.out                         |  489 ++++
 tests/qemu-iotests/187                             |   69 +
 tests/qemu-iotests/187.out                         |   18 +
 tests/qemu-iotests/188                             |   76 +
 tests/qemu-iotests/188.out                         |   18 +
 tests/qemu-iotests/189                             |   86 +
 tests/qemu-iotests/189.out                         |   26 +
 tests/qemu-iotests/190                             |   59 +
 tests/qemu-iotests/190.out                         |   11 +
 tests/qemu-iotests/192                             |   63 +
 tests/qemu-iotests/192.out                         |    7 +
 tests/qemu-iotests/194                             |   73 +
 tests/qemu-iotests/194.out                         |   13 +
 tests/qemu-iotests/check                           |   36 +-
 tests/qemu-iotests/common                          |   27 +-
 tests/qemu-iotests/common.config                   |   48 +-
 tests/qemu-iotests/common.filter                   |   21 +-
 tests/qemu-iotests/common.pattern                  |    2 +-
 tests/qemu-iotests/common.qemu                     |   16 +-
 tests/qemu-iotests/common.rc                       |   34 +-
 tests/qemu-iotests/group                           |   19 +
 tests/qemu-iotests/iotests.py                      |   40 +
 tests/qht-bench.c                                  |    2 +-
 tests/qom-test.c                                   |   36 +-
 tests/rocker/all                                   |   10 +-
 tests/rtc-test.c                                   |  205 +-
 tests/tcg/cris/Makefile                            |    8 +-
 tests/tcg/test-i386.c                              |    4 +-
 tests/test-blockjob-txn.c                          |    7 +-
 tests/test-blockjob.c                              |   10 +-
 tests/test-char.c                                  |  541 +++-
 tests/test-clone-visitor.c                         |   23 +-
 tests/test-crypto-block.c                          |   20 +-
 tests/test-hbitmap.c                               |   19 +
 tests/test-hmp.c                                   |  163 ++
 tests/test-io-channel-socket.c                     |   52 +-
 tests/test-keyval.c                                |   22 +-
 tests/test-qdev-global-props.c                     |   39 +-
 tests/test-qemu-opts.c                             |    4 +-
 tests/test-qga.c                                   |  105 +-
 tests/test-qmp-commands.c                          |   40 +-
 tests/test-qmp-event.c                             |   39 +-
 tests/test-qobject-input-visitor.c                 |  194 +-
 tests/test-qobject-output-visitor.c                |  116 +-
 tests/test-replication.c                           |   17 +-
 tests/test-throttle.c                              |   12 +-
 tests/test-vmstate.c                               |    6 +-
 tests/test-x86-cpuid-compat.c                      |  163 +-
 tests/test-xbzrle.c                                |    2 +-
 tests/usb-hcd-uhci-test.c                          |    2 +-
 tests/usb-hcd-xhci-test.c                          |    2 +-
 tests/vhost-user-bridge.c                          |   11 +-
 tests/vhost-user-test.c                            |    8 +-
 tests/virtio-blk-test.c                            |   29 +-
 tests/virtio-net-test.c                            |    6 +-
 tests/virtio-scsi-test.c                           |    9 +-
 tests/vmgenid-test.c                               |  217 ++
 thunk.c                                            |    3 +-
 trace-events                                       |   74 +-
 trace/control-target.c                             |   29 +-
 trace/control.c                                    |   17 +-
 trace/control.h                                    |   21 +-
 translate-all.c                                    | 2221 -----------------
 translate-all.h                                    |   36 -
 translate-common.c                                 |   56 -
 ui/Makefile.objs                                   |    1 +
 ui/cocoa.m                                         |  209 +-
 ui/console.c                                       |   37 +-
 ui/curses_keys.h                                   |    2 +
 ui/egl-context.c                                   |    7 +-
 ui/egl-headless.c                                  |  125 +
 ui/egl-helpers.c                                   |  158 +-
 ui/gtk-egl.c                                       |   38 +-
 ui/gtk-gl-area.c                                   |   26 +-
 ui/gtk.c                                           |    8 +-
 ui/input-keymap.c                                  |  170 +-
 ui/input-linux.c                                   |  138 +-
 ui/input.c                                         |   51 +-
 ui/keymaps.c                                       |   33 +-
 ui/keymaps.h                                       |    1 +
 ui/sdl.c                                           |    6 +-
 ui/sdl2-gl.c                                       |   36 +-
 ui/sdl2.c                                          |    9 +-
 ui/spice-core.c                                    |    4 +-
 ui/spice-display.c                                 |    3 +-
 ui/spice-input.c                                   |   20 +-
 ui/trace-events                                    |    7 +-
 ui/vnc-auth-sasl.c                                 |    5 +-
 ui/vnc-enc-tight.c                                 |    1 -
 ui/vnc-enc-zrle.c                                  |    1 -
 ui/vnc.c                                           |  117 +-
 ui/vnc_keysym.h                                    |    2 +
 user-exec.c                                        |   18 +-
 util/Makefile.objs                                 |    2 +
 util/aio-win32.c                                   |   13 +-
 util/bitmap.c                                      |   11 +
 util/bufferiszero.c                                |    7 +-
 util/cacheinfo.c                                   |  186 ++
 util/coroutine-gthread.c                           |  198 --
 util/cutils.c                                      |   25 +
 util/envlist.c                                     |   47 +-
 util/error.c                                       |   21 +
 util/event_notifier-posix.c                        |    1 -
 util/hbitmap.c                                     |   51 +-
 util/keyval.c                                      |   10 +-
 util/main-loop.c                                   |   56 +-
 util/osdep.c                                       |   94 +
 util/oslib-posix.c                                 |  121 +-
 util/oslib-win32.c                                 |   30 +-
 util/qemu-config.c                                 |    6 +
 util/qemu-coroutine-lock.c                         |   54 +-
 util/qemu-coroutine.c                              |    5 +
 util/qemu-error.c                                  |  107 +-
 util/qemu-option.c                                 |   30 +-
 util/qemu-progress.c                               |    3 +
 util/qemu-sockets.c                                |  370 +--
 util/qemu-thread-posix.c                           |   45 +-
 util/qemu-thread-win32.c                           |   45 +-
 util/rcu.c                                         |   30 +-
 util/stats64.c                                     |  137 +
 util/throttle.c                                    |   26 +-
 util/trace-events                                  |    6 +-
 vl.c                                               |  245 +-
 xen-common-stub.c                                  |   14 -
 xen-common.c                                       |  158 --
 xen-hvm-stub.c                                     |   63 -
 xen-hvm.c                                          | 1422 -----------
 xen-mapcache.c                                     |  459 ----
 1768 files changed, 105240 insertions(+), 55378 deletions(-)

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..b2022e3
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+# http://editorconfig.org
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+charset = utf-8
+
+[Makefile*]
+indent_style = tab
+indent_size = 8
+
+[*.{c,h}]
+indent_style = space
+indent_size = 4
diff --git a/.gdbinit b/.gdbinit
new file mode 100644
index 0000000..9d322fc
--- /dev/null
+++ b/.gdbinit
@@ -0,0 +1,8 @@
+# GDB may have ./.gdbinit loading disabled by default.  In that case you can
+# follow the instructions it prints.  They boil down to adding the following to
+# your home directory's ~/.gdbinit file:
+#
+#   add-auto-load-safe-path /path/to/qemu/.gdbinit
+
+# Load QEMU-specific sub-commands and settings
+source scripts/qemu-gdb.py
diff --git a/.gitignore b/.gitignore
index 55a001e..cf65316 100644
--- a/.gitignore
+++ b/.gitignore
@@ -50,6 +50,7 @@
 /qemu-version.h.tmp
 /module_block.h
 /vscclient
+/vhost-user-scsi
 /fsdev/virtfs-proxy-helper
 *.[1-9]
 *.a
@@ -99,14 +100,14 @@
 /pc-bios/optionrom/kvmvapic.img
 /pc-bios/s390-ccw/s390-ccw.elf
 /pc-bios/s390-ccw/s390-ccw.img
-/docs/qemu-ga-qapi.texi
-/docs/qemu-ga-ref.html
-/docs/qemu-ga-ref.info*
-/docs/qemu-ga-ref.txt
-/docs/qemu-qmp-qapi.texi
-/docs/qemu-qmp-ref.html
-/docs/qemu-qmp-ref.info*
-/docs/qemu-qmp-ref.txt
+/docs/interop/qemu-ga-qapi.texi
+/docs/interop/qemu-ga-ref.html
+/docs/interop/qemu-ga-ref.info*
+/docs/interop/qemu-ga-ref.txt
+/docs/interop/qemu-qmp-qapi.texi
+/docs/interop/qemu-qmp-ref.html
+/docs/interop/qemu-qmp-ref.info*
+/docs/interop/qemu-qmp-ref.txt
 /docs/version.texi
 *.tps
 .stgit-*
@@ -115,6 +116,8 @@ tags
 TAGS
 docker-src.*
 *~
+*.ast_raw
+*.depend_raw
 trace.h
 trace.c
 trace-ust.h
diff --git a/.gitmodules b/.gitmodules
index ca323b4..5b0c212 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -34,3 +34,6 @@
 [submodule "roms/skiboot"]
  path = roms/skiboot
  url = git://git.qemu.org/skiboot.git
+[submodule "roms/QemuMacDrivers"]
+ path = roms/QemuMacDrivers
+ url = git://git.qemu.org/QemuMacDrivers.git
diff --git a/.shippable.yml b/.shippable.yml
index 653bd75..dd4bbc8 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -1,15 +1,35 @@
 language: c
+git:
+   submodules: false
 env:
+  global:
+    - LC_ALL=C
   matrix:
+    - IMAGE=debian-amd64
+      TARGET_LIST=x86_64-softmmu,x86_64-linux-user
+    - IMAGE=debian-win32-cross
+      TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu
+    - IMAGE=debian-win64-cross
+      TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu
+    - IMAGE=debian-armel-cross
+      TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
     - IMAGE=debian-armhf-cross
-      TARGET_LIST=arm-softmmu,arm-linux-user
+      TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
     - IMAGE=debian-arm64-cross
       TARGET_LIST=aarch64-softmmu,aarch64-linux-user
     - IMAGE=debian-s390x-cross
       TARGET_LIST=s390x-softmmu,s390x-linux-user
+    - IMAGE=debian-mips-cross
+      TARGET_LIST=mips-softmmu,mipsel-linux-user
+    - IMAGE=debian-mips64el-cross
+      TARGET_LIST=mips64el-softmmu,mips64el-linux-user
+    - IMAGE=debian-powerpc-cross
+      TARGET_LIST=ppc-softmmu,ppcemb-softmmu,ppc-linux-user
+    - IMAGE=debian-ppc64el-cross
+      TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
 build:
   pre_ci:
-    - make docker-image-${IMAGE}
+    - make docker-image-${IMAGE} V=1
   pre_ci_boot:
     image_name: qemu
     image_tag: ${IMAGE}
@@ -17,5 +37,13 @@ build:
     options: "-e HOME=/root"
   ci:
     - unset CC
+    # some targets require newer up to date packages, for example TARGET_LIST matching
+    # aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu)
+    # see the configure script:
+    #    error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:"
+    #    "  (1) Preferred: Install the DTC (libfdt) devel package"
+    #    "  (2) Fetch the DTC submodule, using:"
+    #    "      git submodule update --init dtc"
+    - dpkg --compare-versions `dpkg-query --showformat='${Version}' --show libfdt-dev` ge 1.4.2 || git submodule update --init dtc
     - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}
-    - make -j2
+    - make -j$(($(getconf _NPROCESSORS_ONLN) + 1))
diff --git a/.travis.yml b/.travis.yml
index 9008a79..f583839 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,7 @@ notifications:
 env:
   global:
     - TEST_CMD="make check"
+    - MAKEFLAGS="-j3"
   matrix:
     - CONFIG=""
     - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
@@ -64,7 +65,7 @@ before_install:
 before_script:
   - ./configure ${CONFIG}
 script:
-  - make -j3 && ${TEST_CMD}
+  - make ${MAKEFLAGS} && ${TEST_CMD}
 matrix:
   include:
     # Test with CLang for compile portability
@@ -86,7 +87,7 @@ matrix:
     - env: CONFIG="--enable-trace-backends=ust"
            TEST_CMD=""
       compiler: gcc
-    - env: CONFIG="--with-coroutine=gthread"
+    - env: CONFIG="--disable-tcg"
            TEST_CMD=""
       compiler: gcc
     - env: CONFIG=""
@@ -191,7 +192,7 @@ matrix:
       compiler: none
       env:
         - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
-        - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread"
+        - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user"
         - TEST_CMD=""
       before_script:
         - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log
diff --git a/CODING_STYLE b/CODING_STYLE
index 2fa0c0b..12ba58e 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -123,3 +123,38 @@ We use traditional C-style /* */ comments and avoid // comments.
 
 Rationale: The // form is valid in C99, so this is purely a matter of
 consistency of style. The checkpatch script will warn you about this.
+
+8. trace-events style
+
+8.1 0x prefix
+
+In trace-events files, use a '0x' prefix to specify hex numbers, as in:
+
+some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64
+
+An exception is made for groups of numbers that are hexadecimal by
+convention and separated by the symbols '.', '/', ':', or ' ' (such as
+PCI bus id):
+
+another_trace(int cssid, int ssid, int dev_num) "bus id: %x.%x.%04x"
+
+However, you can use '0x' for such groups if you want. Anyway, be sure that
+it is obvious that numbers are in hex, ex.:
+
+data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x %02x"
+
+Rationale: hex numbers are hard to read in logs when there is no 0x prefix,
+especially when (occasionally) the representation doesn't contain any letters
+and especially in one line with other decimal numbers. Number groups are allowed
+to not use '0x' because for some things notations like %x.%x.%x are used not
+only in Qemu. Also dumping raw data bytes with '0x' is less readable.
+
+8.2 '#' printf flag
+
+Do not use printf flag '#', like '%#x'.
+
+Rationale: there are two ways to add a '0x' prefix to printed number: '0x%...'
+and '%#...'. For consistency the only one way should be used. Arguments for
+'0x%' are:
+ - it is more popular
+ - '%#' omits the 0x for the value 0 which makes output inconsistent
diff --git a/MAINTAINERS b/MAINTAINERS
index c60235e..ccee28b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12,6 +12,8 @@ consult qemu-devel and not any specific individual privately.
 Descriptions of section entries:
 
  M: Mail patches to: FullName <address@domain>
+ R: Designated reviewer: FullName <address@domain>
+   These reviewers should be CCed on patches.
  L: Mailing list that is relevant to this area
  W: Web-page with status/info
  Q: Patchwork web based patch tracking system site
@@ -82,14 +84,10 @@ M: Paolo Bonzini <[hidden email]>
 M: Peter Crosthwaite <[hidden email]>
 M: Richard Henderson <[hidden email]>
 S: Maintained
-F: cpu-exec.c
-F: cpu-exec-common.c
 F: cpus.c
-F: cputlb.c
 F: exec.c
 F: softmmu_template.h
-F: translate-all.*
-F: translate-common.c
+F: accel/tcg/
 F: include/exec/cpu*.h
 F: include/exec/exec-all.h
 F: include/exec/helper*.h
@@ -196,8 +194,8 @@ F: hw/nios2/
 F: disas/nios2.c
 
 OpenRISC
-M: Jia Liu <[hidden email]>
-S: Maintained
+M: Stafford Horne <[hidden email]>
+S: Odd Fixes
 F: target/openrisc/
 F: hw/openrisc/
 F: tests/tcg/openrisc/
@@ -275,8 +273,8 @@ Overall
 M: Paolo Bonzini <[hidden email]>
 L: [hidden email]
 S: Supported
-F: kvm-*
 F: */kvm.*
+F: accel/kvm/
 F: include/sysemu/kvm*.h
 
 ARM
@@ -297,7 +295,7 @@ F: target/ppc/kvm.c
 
 S390
 M: Christian Borntraeger <[hidden email]>
-M: Cornelia Huck <[hidden email]>
+M: Cornelia Huck <[hidden email]>
 M: Alexander Graf <[hidden email]>
 S: Maintained
 F: target/s390x/kvm.c
@@ -325,8 +323,8 @@ M: Stefano Stabellini <[hidden email]>
 M: Anthony Perard <[hidden email]>
 L: [hidden email]
 S: Supported
-F: xen-*
 F: */xen*
+F: hw/9pfs/xen-9p-backend.c
 F: hw/char/xen_console.c
 F: hw/display/xenfb.c
 F: hw/net/xen_nic.c
@@ -351,6 +349,12 @@ L: [hidden email]
 S: Maintained
 F: *posix*
 
+NETBSD
+L: [hidden email]
+M: Kamil Rytarowski <[hidden email]>
+S: Maintained
+K: ^Subject:.*(?i)NetBSD
+
 W32, W64
 L: [hidden email]
 M: Stefan Weil <[hidden email]>
@@ -371,7 +375,7 @@ F: hw/*/allwinner*
 F: include/hw/*/allwinner*
 F: hw/arm/cubieboard.c
 
-ARM PrimeCell
+ARM PrimeCell and CMSDK devices
 M: Peter Maydell <[hidden email]>
 L: [hidden email]
 S: Maintained
@@ -385,6 +389,10 @@ F: hw/intc/pl190.c
 F: hw/sd/pl181.c
 F: hw/timer/pl031.c
 F: include/hw/arm/primecell.h
+F: hw/timer/cmsdk-apb-timer.c
+F: include/hw/timer/cmsdk-apb-timer.h
+F: hw/char/cmsdk-apb-uart.c
+F: include/hw/char/cmsdk-apb-uart.h
 
 ARM cores
 M: Peter Maydell <[hidden email]>
@@ -446,6 +454,14 @@ S: Maintained
 F: hw/arm/integratorcp.c
 F: hw/misc/arm_integrator_debug.c
 
+MPS2
+M: Peter Maydell <[hidden email]>
+L: [hidden email]
+S: Maintained
+F: hw/arm/mps2.c
+F: hw/misc/mps2-scc.c
+F: include/hw/misc/mps2-scc.h
+
 Musicpal
 M: Jan Kiszka <[hidden email]>
 L: [hidden email]
@@ -645,7 +661,6 @@ F: hw/ppc/ppc440_bamboo.c
 
 e500
 M: Alexander Graf <[hidden email]>
-M: Scott Wood <[hidden email]>
 L: [hidden email]
 S: Supported
 F: hw/ppc/e500.[hc]
@@ -656,7 +671,6 @@ F: pc-bios/u-boot.e500
 
 mpc8544ds
 M: Alexander Graf <[hidden email]>
-M: Scott Wood <[hidden email]>
 L: [hidden email]
 S: Supported
 F: hw/ppc/mpc8544ds.c
@@ -771,7 +785,7 @@ F: include/hw/sparc/grlib.h
 S390 Machines
 -------------
 S390 Virtio-ccw
-M: Cornelia Huck <[hidden email]>
+M: Cornelia Huck <[hidden email]>
 M: Christian Borntraeger <[hidden email]>
 M: Alexander Graf <[hidden email]>
 S: Supported
@@ -933,7 +947,6 @@ F: include/hw/ppc/ppc4xx.h
 
 ppce500
 M: Alexander Graf <[hidden email]>
-M: Scott Wood <[hidden email]>
 L: [hidden email]
 S: Supported
 F: hw/ppc/e500*
@@ -999,6 +1012,14 @@ S: Supported
 F: hw/vfio/*
 F: include/hw/vfio/
 
+vfio-ccw
+M: Cornelia Huck <[hidden email]>
+S: Supported
+F: hw/vfio/ccw.c
+F: hw/s390x/s390-ccw.c
+F: include/hw/s390x/s390-ccw.h
+T: git git://github.com/cohuck/qemu.git s390-next
+
 vhost
 M: Michael S. Tsirkin <[hidden email]>
 S: Supported
@@ -1034,7 +1055,7 @@ F: tests/virtio-blk-test.c
 T: git git://github.com/stefanha/qemu.git block
 
 virtio-ccw
-M: Cornelia Huck <[hidden email]>
+M: Cornelia Huck <[hidden email]>
 M: Christian Borntraeger <[hidden email]>
 S: Supported
 F: hw/s390x/virtio-ccw.[hc]
@@ -1146,6 +1167,13 @@ F: docs/specs/vmgenid.txt
 F: tests/vmgenid-test.c
 F: stubs/vmgenid.c
 
+Unimplemented device
+M: Peter Maydell <[hidden email]>
+R: Philippe Mathieu-Daudé <[hidden email]>
+S: Maintained
+F: include/hw/misc/unimp.h
+F: hw/misc/unimp.c
+
 Subsystems
 ----------
 Audio
@@ -1170,6 +1198,7 @@ F: include/block/
 F: qemu-img*
 F: qemu-io*
 F: tests/qemu-iotests/
+F: util/qemu-progress.c
 T: git git://repo.or.cz/qemu/kevin.git block
 
 Block I/O path
@@ -1177,8 +1206,8 @@ M: Stefan Hajnoczi <[hidden email]>
 M: Fam Zheng <[hidden email]>
 L: [hidden email]
 S: Supported
-F: async.c
-F: aio-*.c
+F: util/async.c
+F: util/aio-*.c
 F: block/io.c
 F: migration/block*
 F: include/block/aio.h
@@ -1223,13 +1252,12 @@ M: Paolo Bonzini <[hidden email]>
 M: Marc-André Lureau <[hidden email]>
 S: Maintained
 F: chardev/
-F: backends/msmouse.c
-F: backends/testdev.c
+F: include/chardev/
 
 Character Devices (Braille)
 M: Samuel Thibault <[hidden email]>
 S: Maintained
-F: backends/baum.c
+F: chardev/baum.c
 
 Command line option argument parsing
 M: Markus Armbruster <[hidden email]>
@@ -1307,8 +1335,8 @@ Main loop
 M: Paolo Bonzini <[hidden email]>
 S: Maintained
 F: cpus.c
-F: main-loop.c
-F: qemu-timer.c
+F: util/main-loop.c
+F: util/qemu-timer.c
 F: vl.c
 
 Human Monitor (HMP)
@@ -1318,6 +1346,7 @@ F: monitor.c
 F: hmp.[ch]
 F: hmp-commands*.hx
 F: include/monitor/hmp-target.h
+F: tests/test-hmp.c
 
 Network device backends
 M: Jason Wang <[hidden email]>
@@ -1334,15 +1363,6 @@ W: http://info.iet.unipi.it/~luigi/netmap/
 S: Maintained
 F: net/netmap.c
 
-Network Block Device (NBD)
-M: Paolo Bonzini <[hidden email]>
-S: Odd Fixes
-F: block/nbd*
-F: nbd/
-F: include/block/nbd*
-F: qemu-nbd.c
-T: git git://github.com/bonzini/qemu.git nbd-next
-
 NUMA
 M: Eduardo Habkost <[hidden email]>
 S: Maintained
@@ -1395,9 +1415,9 @@ S: Supported
 F: qobject/
 F: include/qapi/qmp/
 X: include/qapi/qmp/dispatch.h
+F: scripts/coccinelle/qobject.cocci
 F: tests/check-qdict.c
-F: tests/check-qfloat.c
-F: tests/check-qint.c
+F: tests/check-qnum.c
 F: tests/check-qjson.c
 F: tests/check-qlist.c
 F: tests/check-qstring.c
@@ -1475,7 +1495,7 @@ F: tests/vmstate-static-checker-data/
 F: docs/migration.txt
 
 Seccomp
-M: Eduardo Otubo <[hidden email]>
+M: Eduardo Otubo <[hidden email]>
 S: Supported
 F: qemu-seccomp.c
 F: include/sysemu/seccomp.h
@@ -1486,6 +1506,7 @@ S: Maintained
 F: crypto/
 F: include/crypto/
 F: tests/test-crypto-*
+F: qemu.sasl
 
 Coroutines
 M: Stefan Hajnoczi <[hidden email]>
@@ -1548,6 +1569,18 @@ F: net/colo*
 F: net/filter-rewriter.c
 F: net/filter-mirror.c
 
+Record/replay
+M: Pavel Dovgalyuk <[hidden email]>
+R: Paolo Bonzini <[hidden email]>
+W: http://wiki.qemu.org/Features/record-replay
+S: Supported
+F: replay/*
+F: block/blkreplay.c
+F: net/filter-replay.c
+F: include/sysemu/replay.h
+F: docs/replay.txt
+F: stubs/replay.c
+
 Usermode Emulation
 ------------------
 Overall
@@ -1564,6 +1597,7 @@ F: default-configs/*-bsd-user.mak
 
 Linux user
 M: Riku Voipio <[hidden email]>
+R: Laurent Vivier <[hidden email]>
 S: Maintained
 F: linux-user/
 F: default-configs/*-linux-user.mak
@@ -1631,7 +1665,7 @@ TCI target
 M: Stefan Weil <[hidden email]>
 S: Maintained
 F: tcg/tci/
-F: tci.c
+F: tcg/tci.c
 F: disas/tci.c
 
 Block drivers
@@ -1682,6 +1716,18 @@ S: Supported
 F: block/iscsi.c
 F: block/iscsi-opts.c
 
+Network Block Device (NBD)
+M: Eric Blake <[hidden email]>
+M: Paolo Bonzini <[hidden email]>
+L: [hidden email]
+S: Maintained
+F: block/nbd*
+F: nbd/
+F: include/block/nbd*
+F: qemu-nbd.*
+F: blockdev-nbd.c
+T: git git://repo.or.cz/qemu/ericb.git nbd
+
 NFS
 M: Jeff Cody <[hidden email]>
 M: Peter Lieven <[hidden email]>
@@ -1817,8 +1863,8 @@ S: Supported
 F: tests/image-fuzzer/
 
 Replication
-M: Wen Congyang <[hidden email]>
-M: Changlong Xie <[hidden email]>
+M: Wen Congyang <[hidden email]>
+M: Xie Changlong <[hidden email]>
 S: Supported
 F: replication*
 F: block/replication.c
@@ -1829,12 +1875,14 @@ Build and test automation
 -------------------------
 M: Alex Bennée <[hidden email]>
 M: Fam Zheng <[hidden email]>
+R: Philippe Mathieu-Daudé <[hidden email]>
 L: [hidden email]
 S: Maintained
 F: .travis.yml
 F: .shippable.yml
 F: tests/docker/
 W: https://travis-ci.org/qemu/qemu
+W: https://app.shippable.com/github/qemu/qemu
 W: http://patchew.org/QEMU/
 
 Documentation
diff --git a/Makefile b/Makefile
index 6c359b2..81447b1 100644
--- a/Makefile
+++ b/Makefile
@@ -207,8 +207,8 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
 
 ifdef BUILD_DOCS
 DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
-DOCS+=docs/qemu-qmp-ref.html docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7
-DOCS+=docs/qemu-ga-ref.html docs/qemu-ga-ref.txt docs/qemu-ga-ref.7
+DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7
+DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7
 ifdef CONFIG_VIRTFS
 DOCS+=fsdev/virtfs-proxy-helper.1
 endif
@@ -269,6 +269,7 @@ dummy := $(call unnest-vars,, \
                 ivshmem-client-obj-y \
                 ivshmem-server-obj-y \
                 libvhost-user-obj-y \
+                vhost-user-scsi-obj-y \
                 qga-vss-dll-obj-y \
                 block-obj-y \
                 block-obj-m \
@@ -280,9 +281,7 @@ dummy := $(call unnest-vars,, \
                 common-obj-m \
                 trace-obj-y)
 
-ifneq ($(wildcard config-host.mak),)
 include $(SRC_PATH)/tests/Makefile.include
-endif
 
 all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all modules
 
@@ -346,7 +345,7 @@ dtc/%:
  mkdir -p $@
 
 $(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \
- $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) $(trace-obj-y)
+ $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY))
 
 ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
 # Only keep -O and -g cflags
@@ -366,11 +365,11 @@ Makefile: $(version-obj-y)
 # Build libraries
 
 libqemustub.a: $(stub-obj-y)
-libqemuutil.a: $(util-obj-y)
+libqemuutil.a: $(util-obj-y) $(trace-obj-y)
 
 ######################################################################
 
-COMMON_LDADDS = $(trace-obj-y) libqemuutil.a libqemustub.a
+COMMON_LDADDS = libqemuutil.a libqemustub.a
 
 qemu-img.o: qemu-img-cmds.h
 
@@ -442,7 +441,7 @@ $(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py)
  "GEN","$@")
 
 QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
-$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
+$(qga-obj-y): $(QGALIB_GEN)
 
 qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS)
  $(call LINK, $^)
@@ -469,10 +468,14 @@ ifneq ($(EXESUF),)
 qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI)
 endif
 
+ifdef CONFIG_IVSHMEM
 ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS)
  $(call LINK, $^)
 ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
  $(call LINK, $^)
+endif
+vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y)
+ $(call LINK, $^)
 
 module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
  $(call quiet-command,$(PYTHON) $< $@ \
@@ -519,11 +522,12 @@ distclean: clean
  rm -f qemu-doc.vr qemu-doc.txt
  rm -f config.log
  rm -f linux-headers/asm
- rm -f docs/qemu-ga-qapi.texi docs/qemu-qmp-qapi.texi docs/version.texi
- rm -f docs/qemu-qmp-ref.7 docs/qemu-ga-ref.7
- rm -f docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt
- rm -f docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf
- rm -f docs/qemu-qmp-ref.html docs/qemu-ga-ref.html
+ rm -f docs/version.texi
+ rm -f docs/interop/qemu-ga-qapi.texi docs/interop/qemu-qmp-qapi.texi
+ rm -f docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7
+ rm -f docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt
+ rm -f docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf
+ rm -f docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html
  for d in $(TARGET_DIRS); do \
  rm -rf $$d || exit 1 ; \
         done
@@ -549,10 +553,11 @@ efi-e1000e.rom efi-vmxnet3.rom \
 qemu-icon.bmp qemu_logo_no_text.svg \
 bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \
 multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \
-s390-ccw.img \
+s390-ccw.img s390-netboot.img \
 spapr-rtas.bin slof.bin skiboot.lid \
 palcode-clipper \
-u-boot.e500
+u-boot.e500 \
+qemu_vga.ndrv
 else
 BLOBS=
 endif
@@ -561,13 +566,13 @@ install-doc: $(DOCS)
  $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
  $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
  $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)"
 ifdef CONFIG_POSIX
  $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
  $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
  $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man7"
- $(INSTALL_DATA) docs/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7"
+ $(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7"
 ifneq ($(TOOLS),)
  $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1"
  $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8"
@@ -575,9 +580,9 @@ ifneq ($(TOOLS),)
 endif
 ifneq (,$(findstring qemu-ga,$(TOOLS)))
  $(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
- $(INSTALL_DATA) docs/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
+ $(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
 endif
 endif
 ifdef CONFIG_VIRTFS
@@ -665,28 +670,27 @@ ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \
 
 # documentation
 MAKEINFO=makeinfo
-MAKEINFOFLAGS=--no-split --number-sections -I docs
-TEXIFLAG=$(if $(V),,--quiet)
+MAKEINFOINCLUDES= -I docs -I $(<D) -I $(@D)
+MAKEINFOFLAGS=--no-split --number-sections $(MAKEINFOINCLUDES)
+TEXI2PODFLAGS=$(MAKEINFOINCLUDES) "-DVERSION=$(VERSION)"
+TEXI2PDFFLAGS=$(if $(V),,--quiet) -I $(SRC_PATH) $(MAKEINFOINCLUDES)
 
 docs/version.texi: $(SRC_PATH)/VERSION
  $(call quiet-command,echo "@set VERSION $(VERSION)" > $@,"GEN","$@")
 
-%.html: %.texi
+%.html: %.texi docs/version.texi
  $(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \
  --html $< -o $@,"GEN","$@")
 
-%.info: %.texi
+%.info: %.texi docs/version.texi
  $(call quiet-command,$(MAKEINFO) $(MAKEINFOFLAGS) $< -o $@,"GEN","$@")
 
-%.txt: %.texi
+%.txt: %.texi docs/version.texi
  $(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \
  --plaintext $< -o $@,"GEN","$@")
 
-%.pdf: %.texi
- $(call quiet-command,texi2pdf $(TEXIFLAG) -I $(SRC_PATH) -I docs $< -o $@,"GEN","$@")
-
-docs/qemu-ga-ref.html docs/qemu-ga-ref.info docs/qemu-ga-ref.txt docs/qemu-ga-ref.pdf docs/qemu-ga-ref.7.pod: docs/version.texi
-docs/qemu-qmp-ref.html docs/qemu-qmp-ref.info docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.pdf docs/qemu-qmp-ref.pod: docs/version.texi
+%.pdf: %.texi docs/version.texi
+ $(call quiet-command,texi2pdf $(TEXI2PDFFLAGS) $< -o $@,"GEN","$@")
 
 qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
  $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@")
@@ -700,12 +704,12 @@ qemu-monitor-info.texi: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxt
 qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
  $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@")
 
-docs/qemu-qmp-qapi.texi docs/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py)
+docs/interop/qemu-qmp-qapi.texi docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py)
 
-docs/qemu-qmp-qapi.texi: $(qapi-modules)
+docs/interop/qemu-qmp-qapi.texi: $(qapi-modules)
  $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
 
-docs/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json
+docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json
  $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
 
 qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi
@@ -715,21 +719,25 @@ fsdev/virtfs-proxy-helper.1: fsdev/virtfs-proxy-helper.texi
 qemu-nbd.8: qemu-nbd.texi qemu-option-trace.texi
 qemu-ga.8: qemu-ga.texi
 
-html: qemu-doc.html docs/qemu-qmp-ref.html docs/qemu-ga-ref.html
-info: qemu-doc.info docs/qemu-qmp-ref.info docs/qemu-ga-ref.info
-pdf: qemu-doc.pdf docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf
-txt: qemu-doc.txt docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt
+html: qemu-doc.html docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html
+info: qemu-doc.info docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info
+pdf: qemu-doc.pdf docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf
+txt: qemu-doc.txt docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt
 
 qemu-doc.html qemu-doc.info qemu-doc.pdf qemu-doc.txt: \
  qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-option-trace.texi \
  qemu-monitor.texi qemu-img-cmds.texi qemu-ga.texi \
  qemu-monitor-info.texi
 
-docs/qemu-ga-ref.dvi docs/qemu-ga-ref.html docs/qemu-ga-ref.info docs/qemu-ga-ref.pdf docs/qemu-ga-ref.txt docs/qemu-ga-ref.7: \
-docs/qemu-ga-ref.texi docs/qemu-ga-qapi.texi
+docs/interop/qemu-ga-ref.dvi docs/interop/qemu-ga-ref.html \
+    docs/interop/qemu-ga-ref.info docs/interop/qemu-ga-ref.pdf \
+    docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7: \
+ docs/interop/qemu-ga-ref.texi docs/interop/qemu-ga-qapi.texi
 
-docs/qemu-qmp-ref.dvi docs/qemu-qmp-ref.html docs/qemu-qmp-ref.info docs/qemu-qmp-ref.pdf docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7: \
-docs/qemu-qmp-ref.texi docs/qemu-qmp-qapi.texi
+docs/interop/qemu-qmp-ref.dvi docs/interop/qemu-qmp-ref.html \
+    docs/interop/qemu-qmp-ref.info docs/interop/qemu-qmp-ref.pdf \
+    docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7: \
+ docs/interop/qemu-qmp-ref.texi docs/interop/qemu-qmp-qapi.texi
 
 
 ifdef CONFIG_WIN32
@@ -790,9 +798,11 @@ endif # CONFIG_WIN
 
 # Add a dependency on the generated files, so that they are always
 # rebuilt before other object files
+ifneq ($(wildcard config-host.mak),)
 ifneq ($(filter-out $(UNCHECKED_GOALS),$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),,fail))
 Makefile: $(GENERATED_FILES)
 endif
+endif
 
 .SECONDARY: $(TRACE_HEADERS) $(TRACE_HEADERS:%=%-timestamp) \
  $(TRACE_SOURCES) $(TRACE_SOURCES:%=%-timestamp) \
diff --git a/Makefile.objs b/Makefile.objs
index 6167e7b..24a4ea0 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -40,7 +40,7 @@ io-obj-y = io/
 
 ifeq ($(CONFIG_SOFTMMU),y)
 common-obj-y = blockdev.o blockdev-nbd.o block/
-common-obj-y += iothread.o
+common-obj-y += bootdevice.o iothread.o
 common-obj-y += net/
 common-obj-y += qdev-monitor.o device-hotplug.o
 common-obj-$(CONFIG_WIN32) += os-win32.o
@@ -49,13 +49,9 @@ common-obj-$(CONFIG_POSIX) += os-posix.o
 common-obj-$(CONFIG_LINUX) += fsdev/
 
 common-obj-y += migration/
-common-obj-y += page_cache.o #aio.o
-
-common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
 
 common-obj-y += audio/
 common-obj-y += hw/
-common-obj-y += accel.o
 
 common-obj-y += replay/
 
@@ -71,6 +67,7 @@ common-obj-y += tpm.o
 common-obj-$(CONFIG_SLIRP) += slirp/
 
 common-obj-y += backends/
+common-obj-y += chardev/
 
 common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
 
@@ -110,9 +107,13 @@ qga-vss-dll-obj-y = qga/
 
 ######################################################################
 # contrib
-ivshmem-client-obj-y = contrib/ivshmem-client/
-ivshmem-server-obj-y = contrib/ivshmem-server/
+ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
+ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
 libvhost-user-obj-y = contrib/libvhost-user/
+vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
+vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
+vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
+vhost-user-scsi-obj-y += contrib/libvhost-user/libvhost-user.o
 
 ######################################################################
 trace-events-subdirs =
@@ -121,7 +122,7 @@ trace-events-subdirs += crypto
 trace-events-subdirs += io
 trace-events-subdirs += migration
 trace-events-subdirs += block
-trace-events-subdirs += backends
+trace-events-subdirs += chardev
 trace-events-subdirs += hw/block
 trace-events-subdirs += hw/block/dataplane
 trace-events-subdirs += hw/char
@@ -164,6 +165,9 @@ trace-events-subdirs += target/ppc
 trace-events-subdirs += qom
 trace-events-subdirs += linux-user
 trace-events-subdirs += qapi
+trace-events-subdirs += accel/tcg
+trace-events-subdirs += accel/kvm
+trace-events-subdirs += nbd
 
 trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
 
diff --git a/Makefile.target b/Makefile.target
index 7df2b8c..7f42c45 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -48,7 +48,10 @@ else
 TARGET_TYPE=system
 endif
 
-$(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all
+tracetool-y = $(SRC_PATH)/scripts/tracetool.py
+tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py")
+
+$(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all $(tracetool-y)
  $(call quiet-command,$(TRACETOOL) \
  --group=all \
  --format=stap \
@@ -58,7 +61,7 @@ $(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all
  --target-type=$(TARGET_TYPE) \
  $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp-installed")
 
-$(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all
+$(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all $(tracetool-y)
  $(call quiet-command,$(TRACETOOL) \
  --group=all \
  --format=stap \
@@ -68,7 +71,7 @@ $(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all
  --target-type=$(TARGET_TYPE) \
  $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp")
 
-$(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace-events-all
+$(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace-events-all $(tracetool-y)
  $(call quiet-command,$(TRACETOOL) \
  --group=all \
  --format=simpletrace-stap \
@@ -88,20 +91,17 @@ all: $(PROGS) stap
 
 #########################################################
 # cpu emulator library
-obj-y = exec.o translate-all.o cpu-exec.o
-obj-y += translate-common.o
-obj-y += cpu-exec-common.o
-obj-y += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o
-obj-$(CONFIG_TCG_INTERPRETER) += tci.o
-obj-y += tcg/tcg-common.o
+obj-y += exec.o
+obj-y += accel/
+obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o
+obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/tcg-runtime.o
+obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o
 obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o
 obj-y += fpu/softfloat.o
 obj-y += target/$(TARGET_BASE_ARCH)/
 obj-y += disas.o
-obj-y += tcg-runtime.o
 obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o
 obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
-obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
 
 obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decContext.o
 obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decNumber.o
@@ -140,21 +140,14 @@ endif #CONFIG_BSD_USER
 # System emulator target
 ifdef CONFIG_SOFTMMU
 obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o numa.o
-obj-y += qtest.o bootdevice.o
+obj-y += qtest.o
 obj-y += hw/
-obj-$(CONFIG_KVM) += kvm-all.o
-obj-y += memory.o cputlb.o
+obj-y += memory.o
 obj-y += memory_mapping.o
 obj-y += dump.o
-obj-y += migration/ram.o migration/savevm.o
+obj-y += migration/ram.o
 LIBS := $(libs_softmmu) $(LIBS)
 
-# xen support
-obj-$(CONFIG_XEN) += xen-common.o
-obj-$(CONFIG_XEN_I386) += xen-hvm.o xen-mapcache.o
-obj-$(call lnot,$(CONFIG_XEN)) += xen-common-stub.o
-obj-$(call lnot,$(CONFIG_XEN_I386)) += xen-hvm-stub.o
-
 # Hardware support
 ifeq ($(TARGET_NAME), sparc64)
 obj-y += hw/sparc64/
@@ -188,8 +181,7 @@ dummy := $(call unnest-vars,.., \
                qom-obj-y \
                io-obj-y \
                common-obj-y \
-               common-obj-m \
-               trace-obj-y)
+               common-obj-m)
 target-obj-y := $(target-obj-y-save)
 all-obj-y += $(common-obj-y)
 all-obj-y += $(target-obj-y)
@@ -201,7 +193,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
 
 $(QEMU_PROG_BUILD): config-devices.mak
 
-COMMON_LDADDS = $(trace-obj-y) ../libqemuutil.a ../libqemustub.a
+COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a
 
 # build either PROG or PROGW
 $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)
diff --git a/VERSION b/VERSION
index c8e38b6..10c2c0c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.9.0
+2.10.0
diff --git a/accel.c b/accel.c
deleted file mode 100644
index 664bb88..0000000
--- a/accel.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * QEMU System Emulator, accelerator interfaces
- *
- * Copyright (c) 2003-2008 Fabrice Bellard
- * Copyright (c) 2014 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 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 "sysemu/accel.h"
-#include "hw/boards.h"
-#include "qemu-common.h"
-#include "sysemu/arch_init.h"
-#include "sysemu/sysemu.h"
-#include "sysemu/kvm.h"
-#include "sysemu/qtest.h"
-#include "hw/xen/xen.h"
-#include "qom/object.h"
-
-int tcg_tb_size;
-static bool tcg_allowed = true;
-
-static int tcg_init(MachineState *ms)
-{
-    tcg_exec_init(tcg_tb_size * 1024 * 1024);
-    return 0;
-}
-
-static const TypeInfo accel_type = {
-    .name = TYPE_ACCEL,
-    .parent = TYPE_OBJECT,
-    .class_size = sizeof(AccelClass),
-    .instance_size = sizeof(AccelState),
-};
-
-/* Lookup AccelClass from opt_name. Returns NULL if not found */
-static AccelClass *accel_find(const char *opt_name)
-{
-    char *class_name = g_strdup_printf(ACCEL_CLASS_NAME("%s"), opt_name);
-    AccelClass *ac = ACCEL_CLASS(object_class_by_name(class_name));
-    g_free(class_name);
-    return ac;
-}
-
-static int accel_init_machine(AccelClass *acc, MachineState *ms)
-{
-    ObjectClass *oc = OBJECT_CLASS(acc);
-    const char *cname = object_class_get_name(oc);
-    AccelState *accel = ACCEL(object_new(cname));
-    int ret;
-    ms->accelerator = accel;
-    *(acc->allowed) = true;
-    ret = acc->init_machine(ms);
-    if (ret < 0) {
-        ms->accelerator = NULL;
-        *(acc->allowed) = false;
-        object_unref(OBJECT(accel));
-    }
-    return ret;
-}
-
-void configure_accelerator(MachineState *ms)
-{
-    const char *p;
-    char buf[10];
-    int ret;
-    bool accel_initialised = false;
-    bool init_failed = false;
-    AccelClass *acc = NULL;
-
-    p = qemu_opt_get(qemu_get_machine_opts(), "accel");
-    if (p == NULL) {
-        /* Use the default "accelerator", tcg */
-        p = "tcg";
-    }
-
-    while (!accel_initialised && *p != '\0') {
-        if (*p == ':') {
-            p++;
-        }
-        p = get_opt_name(buf, sizeof(buf), p, ':');
-        acc = accel_find(buf);
-        if (!acc) {
-            fprintf(stderr, "\"%s\" accelerator not found.\n", buf);
-            continue;
-        }
-        if (acc->available && !acc->available()) {
-            printf("%s not supported for this target\n",
-                   acc->name);
-            continue;
-        }
-        ret = accel_init_machine(acc, ms);
-        if (ret < 0) {
-            init_failed = true;
-            fprintf(stderr, "failed to initialize %s: %s\n",
-                    acc->name,
-                    strerror(-ret));
-        } else {
-            accel_initialised = true;
-        }
-    }
-
-    if (!accel_initialised) {
-        if (!init_failed) {
-            fprintf(stderr, "No accelerator found!\n");
-        }
-        exit(1);
-    }
-
-    if (init_failed) {
-        fprintf(stderr, "Back to %s accelerator.\n", acc->name);
-    }
-}
-
-
-static void tcg_accel_class_init(ObjectClass *oc, void *data)
-{
-    AccelClass *ac = ACCEL_CLASS(oc);
-    ac->name = "tcg";
-    ac->init_machine = tcg_init;
-    ac->allowed = &tcg_allowed;
-}
-
-#define TYPE_TCG_ACCEL ACCEL_CLASS_NAME("tcg")
-
-static const TypeInfo tcg_accel_type = {
-    .name = TYPE_TCG_ACCEL,
-    .parent = TYPE_ACCEL,
-    .class_init = tcg_accel_class_init,
-};
-
-static void register_accel_types(void)
-{
-    type_register_static(&accel_type);
-    type_register_static(&tcg_accel_type);
-}
-
-type_init(register_accel_types);
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
new file mode 100644
index 0000000..10666ed
--- /dev/null
+++ b/accel/Makefile.objs
@@ -0,0 +1,4 @@
+obj-$(CONFIG_SOFTMMU) += accel.o
+obj-y += kvm/
+obj-$(CONFIG_TCG) += tcg/
+obj-y += stubs/
diff --git a/accel/accel.c b/accel/accel.c
new file mode 100644
index 0000000..8ae40e1
--- /dev/null
+++ b/accel/accel.c
@@ -0,0 +1,134 @@
+/*
+ * QEMU System Emulator, accelerator interfaces
+ *
+ * Copyright (c) 2003-2008 Fabrice Bellard
+ * Copyright (c) 2014 Red Hat Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR


_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog