[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [qemu-xen master] Merge branch 'v2.11.0' into staging



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

commit 948168ebffedfcb5e20be8e078d7694a36b9f258
Merge: 0a0dc59d27527b78a195c2d838d28b7b49e5a639 
b79708a8ed1b3d18bee67baeaf33b3fa529493e2
Author:     Anthony PERARD <anthony.perard@xxxxxxxxxx>
AuthorDate: Mon Jan 8 17:44:17 2018 +0000
Commit:     Anthony PERARD <anthony.perard@xxxxxxxxxx>
CommitDate: Mon Jan 8 17:44:17 2018 +0000

    Merge branch 'v2.11.0' into staging
 .gitignore                                         |     6 +
 .gitmodules                                        |     9 +-
 .mailmap                                           |     3 +
 COPYING.PYTHON                                     |   270 +
 Changelog                                          |     2 +-
 MAINTAINERS                                        |   172 +-
 Makefile                                           |   144 +-
 Makefile.objs                                      |     9 +-
 Makefile.target                                    |    17 +-
 README                                             |    18 +-
 VERSION                                            |     2 +-
 accel/kvm/kvm-all.c                                |   289 +-
 accel/stubs/Makefile.objs                          |     1 +
 accel/stubs/hax-stub.c                             |    34 +
 accel/stubs/kvm-stub.c                             |     4 +-
 accel/stubs/tcg-stub.c                             |     8 +
 accel/tcg/Makefile.objs                            |     5 +
 accel/tcg/atomic_template.h                        |   245 +
 accel/tcg/cpu-exec.c                               |   296 +-
 accel/tcg/cputlb.c                                 |    91 +-
 accel/tcg/softmmu_template.h                       |   433 +
 accel/tcg/tcg-runtime.c                            |   168 +
 accel/tcg/tcg-runtime.h                            |   136 +
 accel/tcg/translate-all.c                          |   669 +-
 accel/tcg/translator.c                             |   138 +
 accel/tcg/user-exec-stub.c                         |    34 +
 accel/tcg/user-exec.c                              |   664 ++
 atomic_template.h                                  |   215 -
 audio/Makefile.objs                                |     6 +
 backends/cryptodev.c                               |     2 +-
 backends/hostmem-file.c                            |    29 +
 backends/hostmem.c                                 |     6 +-
 backends/tpm.c                                     |   129 +-
 block.c                                            |   490 +-
 block/Makefile.objs                                |     1 +
 block/backup.c                                     |    13 +-
 block/blkdebug.c                                   |    45 +-
 block/block-backend.c                              |   138 +-
 block/bochs.c                                      |    13 +-
 block/cloop.c                                      |    13 +-
 block/commit.c                                     |    79 +-
 block/crypto.c                                     |   130 +-
 block/dirty-bitmap.c                               |   134 +-
 block/dmg.c                                        |    14 +-
 block/file-posix.c                                 |    60 +-
 block/file-win32.c                                 |     7 +-
 block/gluster.c                                    |    11 +-
 block/io.c                                         |   577 +-
 block/iscsi.c                                      |    53 +-
 block/mirror.c                                     |   133 +-
 block/nbd-client.c                                 |   580 +-
 block/nbd-client.h                                 |     1 +
 block/nfs.c                                        |     9 +-
 block/parallels.c                                  |    39 +-
 block/qapi.c                                       |    16 +-
 block/qcow.c                                       |   174 +-
 block/qcow2-bitmap.c                               |    62 +-
 block/qcow2-cache.c                                |    49 +-
 block/qcow2-cluster.c                              |   100 +-
 block/qcow2-refcount.c                             |   200 +-
 block/qcow2.c                                      |   264 +-
 block/qcow2.h                                      |    12 +
 block/qed.c                                        |     8 +-
 block/quorum.c                                     |    27 +-
 block/raw-format.c                                 |     6 -
 block/rbd.c                                        |    16 +-
 block/replication.c                                |    27 +-
 block/sheepdog.c                                   |     4 +-
 block/snapshot.c                                   |    43 +-
 block/ssh.c                                        |     2 +-
 block/stream.c                                     |     2 +-
 block/throttle-groups.c                            |   768 +-
 block/throttle.c                                   |   255 +
 block/trace-events                                 |     2 +-
 block/vhdx-log.c                                   |     2 +-
 block/vhdx.c                                       |     7 -
 block/vpc.c                                        |     4 +-
 block/vvfat.c                                      |    46 +-
 blockdev.c                                         |    12 +-
 blockjob.c                                         |    94 +-
 bsd-user/main.c                                    |     7 +-
 capstone                                           |     1 +
 chardev/Makefile.objs                              |     1 +
 chardev/baum.c                                     |     1 +
 chardev/char-fd.c                                  |     5 +-
 chardev/char-fe.c                                  |     7 +-
 chardev/char-pty.c                                 |     5 +-
 chardev/char-socket.c                              |    26 +-
 chardev/char-udp.c                                 |     5 +-
 chardev/char.c                                     |    15 +-
 configure                                          |   422 +-
 contrib/libvhost-user/Makefile.objs                |     2 +-
 contrib/libvhost-user/libvhost-user-glib.c         |   154 +
 contrib/libvhost-user/libvhost-user-glib.h         |    32 +
 contrib/libvhost-user/libvhost-user.c              |    72 +-
 contrib/libvhost-user/libvhost-user.h              |    22 +-
 contrib/vhost-user-scsi/vhost-user-scsi.c          |   629 +-
 cpus.c                                             |    19 +-
 crypto/block-luks.c                                |    56 +-
 crypto/block-qcow.c                                |    13 +-
 crypto/block.c                                     |    30 +-
 crypto/blockpriv.h                                 |     5 +-
 crypto/cipher-afalg.c                              |     2 +-
 crypto/cipher-builtin.c                            |     8 +-
 crypto/cipher-gcrypt.c                             |     4 +-
 crypto/cipher-nettle.c                             |     8 +-
 crypto/cipher.c                                    |     5 +-
 crypto/hash.c                                      |    13 +-
 crypto/hmac-gcrypt.c                               |     2 +-
 crypto/hmac-glib.c                                 |     2 +-
 crypto/hmac-nettle.c                               |     2 +-
 crypto/hmac.c                                      |     4 +-
 crypto/pbkdf-gcrypt.c                              |     2 +-
 crypto/pbkdf-nettle.c                              |     2 +-
 crypto/secret.c                                    |     2 +-
 crypto/tlscreds.c                                  |     2 +-
 default-configs/arm-softmmu.mak                    |     3 +
 default-configs/i386-softmmu.mak                   |     2 +
 default-configs/or1k-softmmu.mak                   |     1 +
 default-configs/pci.mak                            |     3 +-
 default-configs/ppc-linux-user.mak                 |     1 -
 default-configs/ppc-softmmu.mak                    |     5 +-
 default-configs/ppc64-linux-user.mak               |     1 -
 default-configs/ppc64-softmmu.mak                  |     6 +-
 default-configs/ppc64abi32-linux-user.mak          |     1 -
 default-configs/ppc64le-linux-user.mak             |     1 -
 default-configs/ppcemb-softmmu.mak                 |     2 +-
 default-configs/s390x-softmmu.mak                  |     4 +-
 default-configs/sparc64-softmmu.mak                |     1 +
 default-configs/x86_64-softmmu.mak                 |     2 +
 disas.c                                            |   383 +-
 disas/Makefile.objs                                |     1 -
 disas/arm.c                                        |    21 +-
 disas/i386.c                                       |    29 +-
 disas/ia64.c                                       | 10600 -------------------
 docs/colo-proxy.txt                                |     3 +-
 docs/devel/atomics.txt                             |    14 +-
 docs/devel/build-system.txt                        |    18 +-
 docs/devel/loads-stores.rst                        |   396 +
 docs/devel/migration.txt                           |     2 +-
 docs/devel/qapi-code-gen.txt                       |    50 +-
 docs/interop/live-block-operations.rst             |    50 +-
 docs/interop/pr-helper.rst                         |    83 +
 docs/interop/qmp-intro.txt                         |     4 +-
 docs/memory-hotplug.txt                            |     2 +-
 docs/pcie.txt                                      |    53 +-
 docs/pcie_pci_bridge.txt                           |   114 +
 docs/pr-manager.rst                                |   111 +
 docs/qdev-device-use.txt                           |    12 +-
 docs/qemu-block-drivers.texi                       |   840 ++
 docs/rdma.txt                                      |     2 +-
 docs/specs/tpm.txt                                 |   202 +
 docs/specs/vmcoreinfo.txt                          |    49 +
 dump.c                                             |   194 +-
 exec.c                                             |   524 +-
 fsdev/Makefile.objs                                |     9 +-
 fsdev/virtfs-proxy-helper.c                        |     2 +
 hax-stub.c                                         |    34 -
 hmp-commands-info.hx                               |   156 +-
 hmp-commands.hx                                    |    12 +
 hmp.c                                              |   316 +-
 hmp.h                                              |     2 +
 hw/9pfs/9p-local.c                                 |    12 +-
 hw/9pfs/9p.c                                       |    12 +-
 hw/9pfs/9p.h                                       |     8 +-
 hw/9pfs/Makefile.objs                              |     2 +-
 hw/Makefile.objs                                   |     2 +-
 hw/acpi/bios-linker-loader.c                       |    10 +
 hw/acpi/core.c                                     |    10 +-
 hw/acpi/piix4.c                                    |     1 +
 hw/acpi/tco.c                                      |    11 +-
 hw/acpi/trace-events                               |     4 +
 hw/acpi/vmgenid.c                                  |    12 +-
 hw/alpha/dp264.c                                   |     4 +-
 hw/arm/Makefile.objs                               |     3 +-
 hw/arm/armv7m.c                                    |    69 +-
 hw/arm/aspeed.c                                    |    12 +
 hw/arm/aspeed_soc.c                                |    17 +-
 hw/arm/collie.c                                    |    11 +-
 hw/arm/cubieboard.c                                |     1 +
 hw/arm/digic_boards.c                              |     1 +
 hw/arm/exynos4210.c                                |    10 +-
 hw/arm/exynos4_boards.c                            |    14 +-
 hw/arm/fsl-imx25.c                                 |     6 +-
 hw/arm/fsl-imx31.c                                 |     6 +-
 hw/arm/fsl-imx6.c                                  |     3 +-
 hw/arm/gumstix.c                                   |     7 +-
 hw/arm/highbank.c                                  |    40 +-
 hw/arm/imx25_pdk.c                                 |     1 +
 hw/arm/integratorcp.c                              |    31 +-
 hw/arm/kzm.c                                       |     1 +
 hw/arm/mainstone.c                                 |    10 +-
 hw/arm/mps2.c                                      |    17 +-
 hw/arm/msf2-soc.c                                  |   249 +
 hw/arm/msf2-som.c                                  |   105 +
 hw/arm/musicpal.c                                  |    12 +-
 hw/arm/netduino2.c                                 |     3 +-
 hw/arm/nseries.c                                   |     6 +-
 hw/arm/omap1.c                                     |    11 +-
 hw/arm/omap2.c                                     |    57 +-
 hw/arm/omap_sx1.c                                  |     7 +-
 hw/arm/palm.c                                      |    36 +-
 hw/arm/pxa2xx.c                                    |    22 +-
 hw/arm/raspi.c                                     |     3 +
 hw/arm/realview.c                                  |    35 +-
 hw/arm/sabrelite.c                                 |     1 +
 hw/arm/spitz.c                                     |    16 +-
 hw/arm/stellaris.c                                 |    18 +-
 hw/arm/stm32f205_soc.c                             |     4 +-
 hw/arm/strongarm.c                                 |    19 +-
 hw/arm/tosa.c                                      |     5 +-
 hw/arm/versatilepb.c                               |    17 +-
 hw/arm/vexpress.c                                  |    39 +-
 hw/arm/virt.c                                      |    92 +-
 hw/arm/xilinx_zynq.c                               |    25 +-
 hw/arm/xlnx-ep108.c                                |   137 -
 hw/arm/xlnx-zcu102.c                               |   270 +
 hw/arm/xlnx-zynqmp.c                               |    38 +-
 hw/arm/z2.c                                        |    10 +-
 hw/audio/ac97.c                                    |     4 +
 hw/audio/es1370.c                                  |     4 +
 hw/audio/intel-hda.c                               |    62 +-
 hw/audio/pcspk.c                                   |     2 +-
 hw/audio/wm8750.c                                  |    10 +-
 hw/block/fdc.c                                     |    43 +-
 hw/block/m25p80.c                                  |     4 +-
 hw/block/nand.c                                    |     4 +-
 hw/block/nvme.c                                    |     8 +-
 hw/block/onenand.c                                 |     8 +-
 hw/block/virtio-blk.c                              |     2 +-
 hw/block/xen_disk.c                                |    34 +-
 hw/char/escc.c                                     |     2 +-
 hw/char/serial-pci.c                               |    12 +
 hw/char/serial.c                                   |    12 +-
 hw/char/spapr_vty.c                                |    18 +
 hw/char/terminal3270.c                             |    46 +-
 hw/char/virtio-console.c                           |    21 +
 hw/char/virtio-serial-bus.c                        |    15 +-
 hw/core/loader.c                                   |     4 +-
 hw/core/machine.c                                  |    33 +
 hw/core/qdev-properties.c                          |    17 +-
 hw/core/qdev.c                                     |    32 +-
 hw/cris/axis_dev88.c                               |     7 +-
 hw/display/cirrus_vga.c                            |    10 +-
 hw/display/qxl-render.c                            |    45 +-
 hw/display/qxl.c                                   |     8 +-
 hw/display/sm501.c                                 |     6 +-
 hw/display/trace-events                            |     1 +
 hw/display/vga-pci.c                               |     4 +
 hw/display/vga.c                                   |    36 +-
 hw/display/virtio-gpu.c                            |   107 +-
 hw/display/vmware_vga.c                            |     9 +-
 hw/display/xenfb.c                                 |     1 +
 hw/dma/sparc32_dma.c                               |   252 +-
 hw/dma/sun4m_iommu.c                               |   101 +-
 hw/dma/trace-events                                |     8 +-
 hw/dma/xilinx_axidma.c                             |    16 +-
 hw/gpio/omap_gpio.c                                |    26 +-
 hw/i2c/Makefile.objs                               |     1 +
 hw/i2c/core.c                                      |     4 +-
 hw/i2c/omap_i2c.c                                  |    44 +-
 hw/i2c/ppc4xx_i2c.c                                |   216 +
 hw/i2c/smbus_ich9.c                                |     4 +
 hw/i386/Makefile.objs                              |     1 -
 hw/i386/acpi-build.c                               |    45 +-
 hw/i386/amd_iommu.c                                |     4 +
 hw/i386/intel_iommu.c                              |    15 +
 hw/i386/kvm/Makefile.objs                          |     2 +-
 hw/i386/kvm/clock.c                                |     7 +-
 hw/i386/kvm/pci-assign.c                           |  1883 ----
 hw/i386/multiboot.c                                |     3 +-
 hw/i386/pc.c                                       |   107 +-
 hw/i386/pc_piix.c                                  |    28 +-
 hw/i386/pc_q35.c                                   |    23 +-
 hw/i386/pci-assign-load-rom.c                      |    88 -
 hw/i386/xen/xen-hvm.c                              |     2 +-
 hw/i386/xen/xen-mapcache.c                         |     5 +-
 hw/i386/xen/xen_platform.c                         |     4 +
 hw/i386/xen/xen_pvdevice.c                         |     4 +
 hw/ide/Makefile.objs                               |     1 +
 hw/ide/ahci-allwinner.c                            |   127 +
 hw/ide/ahci.c                                      |   330 +-
 hw/ide/ahci_internal.h                             |    44 +-
 hw/ide/atapi.c                                     |    69 +-
 hw/ide/cmd646.c                                    |    10 +-
 hw/ide/core.c                                      |   199 +-
 hw/ide/ich.c                                       |     4 +
 hw/ide/macio.c                                     |   210 +-
 hw/ide/pci.c                                       |    25 +-
 hw/ide/piix.c                                      |    11 +-
 hw/ide/qdev.c                                      |    87 +-
 hw/ide/trace-events                                |   111 +
 hw/ide/via.c                                       |    10 +-
 hw/input/ps2.c                                     |   215 +-
 hw/input/trace-events                              |     3 +-
 hw/input/tsc210x.c                                 |     4 +-
 hw/input/virtio-input-hid.c                        |   123 +-
 hw/intc/Makefile.objs                              |     1 +
 hw/intc/apic_common.c                              |     4 +-
 hw/intc/arm_gic_common.c                           |     4 +-
 hw/intc/arm_gicv3_common.c                         |     4 +-
 hw/intc/arm_gicv3_its_common.c                     |     4 +-
 hw/intc/arm_gicv3_its_kvm.c                        |    31 +-
 hw/intc/armv7m_nvic.c                              |  1412 ++-
 hw/intc/i8259_common.c                             |     4 +-
 hw/intc/ioapic.c                                   |    17 +-
 hw/intc/ioapic_common.c                            |     4 +-
 hw/intc/ompic.c                                    |   179 +
 hw/intc/openpic.c                                  |    35 +
 hw/intc/openpic_kvm.c                              |     2 +-
 hw/intc/s390_flic_kvm.c                            |     7 +-
 hw/intc/trace-events                               |    18 +-
 hw/intc/xics.c                                     |    31 +-
 hw/intc/xics_kvm.c                                 |    19 +
 hw/ipack/tpci200.c                                 |     4 +
 hw/isa/i82378.c                                    |     4 +
 hw/isa/lpc_ich9.c                                  |     5 +-
 hw/isa/pc87312.c                                   |     2 +
 hw/isa/piix4.c                                     |     4 +
 hw/isa/vt82c686.c                                  |    16 +
 hw/lm32/lm32_boards.c                              |    22 +-
 hw/lm32/milkymist.c                                |    11 +-
 hw/m68k/an5206.c                                   |    15 +-
 hw/m68k/mcf5206.c                                  |     7 +-
 hw/m68k/mcf5208.c                                  |    20 +-
 hw/mem/pc-dimm.c                                   |     5 +
 hw/mips/Makefile.objs                              |     2 +-
 hw/mips/boston.c                                   |    14 +-
 hw/mips/cps.c                                      |     8 +-
 hw/mips/cputimer.c                                 |   165 -
 hw/mips/gt64xxx_pci.c                              |     4 +
 hw/mips/mips_fulong2e.c                            |    11 +-
 hw/mips/mips_jazz.c                                |    12 +-
 hw/mips/mips_malta.c                               |    44 +-
 hw/mips/mips_mipssim.c                             |    19 +-
 hw/mips/mips_r4k.c                                 |    25 +-
 hw/misc/Makefile.objs                              |     2 +
 hw/misc/applesmc.c                                 |     2 +-
 hw/misc/aspeed_scu.c                               |     5 +-
 hw/misc/auxbus.c                                   |    11 +
 hw/misc/edu.c                                      |     5 +
 hw/misc/ivshmem.c                                  |     6 +-
 hw/misc/macio/mac_dbdma.c                          |   242 +-
 hw/misc/macio/macio.c                              |    25 +-
 hw/misc/msf2-sysreg.c                              |   160 +
 hw/misc/pci-testdev.c                              |     4 +
 hw/misc/trace-events                               |     5 +
 hw/misc/vmcoreinfo.c                               |    97 +
 hw/moxie/moxiesim.c                                |    11 +-
 hw/net/Makefile.objs                               |     2 +
 hw/net/e1000.c                                     |    14 +-
 hw/net/e1000_regs.h                                |     2 +-
 hw/net/e1000e.c                                    |     8 +-
 hw/net/e1000e_core.c                               |     2 +-
 hw/net/e1000x_common.h                             |     2 +-
 hw/net/eepro100.c                                  |    29 +-
 hw/net/lance.c                                     |    11 +-
 hw/net/ne2000.c                                    |     4 +
 hw/net/net_rx_pkt.c                                |     2 +-
 hw/net/net_tx_pkt.c                                |     2 +-
 hw/net/pcnet-pci.c                                 |     4 +
 hw/net/rocker/rocker.c                             |    98 +-
 hw/net/rocker/rocker_desc.c                        |    10 -
 hw/net/rocker/rocker_fp.c                          |     4 -
 hw/net/rocker/rocker_of_dpa.c                      |    20 -
 hw/net/rocker/rocker_world.c                       |    12 +-
 hw/net/rtl8139.c                                   |    61 +-
 hw/net/sungem.c                                    |  1451 +++
 hw/net/sunhme.c                                    |   982 ++
 hw/net/trace-events                                |    73 +
 hw/net/virtio-net.c                                |    19 +-
 hw/net/vmware_utils.h                              |     6 +
 hw/net/vmxnet3.c                                   |    58 +-
 hw/net/vmxnet3.h                                   |   230 +-
 hw/net/xilinx_axienet.c                            |    16 +-
 hw/nios2/10m50_devboard.c                          |     2 +-
 hw/nvram/fw_cfg.c                                  |    40 +-
 hw/nvram/spapr_nvram.c                             |     2 +
 hw/openrisc/cputimer.c                             |    64 +-
 hw/openrisc/openrisc_sim.c                         |    92 +-
 hw/pci-bridge/Makefile.objs                        |     2 +-
 hw/pci-bridge/dec.c                                |     8 +
 hw/pci-bridge/gen_pcie_root_port.c                 |    43 +
 hw/pci-bridge/i82801b11.c                          |     4 +
 hw/pci-bridge/ioh3420.c                            |     4 +-
 hw/pci-bridge/pci_bridge_dev.c                     |     1 +
 hw/pci-bridge/pci_expander_bridge.c                |     8 +
 hw/pci-bridge/pcie_pci_bridge.c                    |   205 +
 hw/pci-bridge/pcie_root_port.c                     |     4 +
 hw/pci-bridge/xio3130_downstream.c                 |     5 +
 hw/pci-bridge/xio3130_upstream.c                   |     4 +
 hw/pci-host/apb.c                                  |   113 +-
 hw/pci-host/bonito.c                               |     4 +
 hw/pci-host/gpex.c                                 |    32 +
 hw/pci-host/grackle.c                              |     4 +
 hw/pci-host/piix.c                                 |    46 +-
 hw/pci-host/ppce500.c                              |     4 +
 hw/pci-host/prep.c                                 |     4 +
 hw/pci-host/q35.c                                  |    48 +-
 hw/pci-host/uninorth.c                             |    16 +
 hw/pci-host/versatile.c                            |     4 +
 hw/pci-host/xilinx-pcie.c                          |     4 +
 hw/pci/msix.c                                      |     4 +-
 hw/pci/pci-stub.c                                  |    14 +
 hw/pci/pci.c                                       |    56 +-
 hw/pci/pci_bridge.c                                |    49 +-
 hw/pci/pcie_host.c                                 |     2 +-
 hw/ppc/e500.c                                      |    51 +-
 hw/ppc/e500plat.c                                  |     1 +
 hw/ppc/mac.h                                       |    10 +-
 hw/ppc/mac_newworld.c                              |    33 +-
 hw/ppc/mac_oldworld.c                              |    37 +-
 hw/ppc/mpc8544ds.c                                 |     2 +
 hw/ppc/pnv.c                                       |   140 +-
 hw/ppc/pnv_core.c                                  |    67 +-
 hw/ppc/ppc.c                                       |    50 +-
 hw/ppc/ppc405.h                                    |     3 +
 hw/ppc/ppc405_uc.c                                 |   533 +-
 hw/ppc/ppc440_bamboo.c                             |    11 +-
 hw/ppc/ppc4xx_devs.c                               |   236 +-
 hw/ppc/ppc4xx_pci.c                                |     4 +
 hw/ppc/prep.c                                      |    20 +-
 hw/ppc/spapr.c                                     |   398 +-
 hw/ppc/spapr_cpu_core.c                            |   227 +-
 hw/ppc/spapr_drc.c                                 |    44 +-
 hw/ppc/spapr_events.c                              |    11 +
 hw/ppc/spapr_hcall.c                               |    95 +-
 hw/ppc/spapr_iommu.c                               |    61 +-
 hw/ppc/spapr_pci.c                                 |   180 +-
 hw/ppc/spapr_rtas.c                                |     4 +-
 hw/ppc/virtex_ml507.c                              |    15 +-
 hw/s390x/3270-ccw.c                                |     5 +-
 hw/s390x/Makefile.objs                             |     4 +-
 hw/s390x/css.c                                     |   409 +-
 hw/s390x/event-facility.c                          |    35 +-
 hw/s390x/s390-ccw.c                                |    11 +-
 hw/s390x/s390-pci-bus.c                            |    53 +-
 hw/s390x/s390-pci-bus.h                            |    14 +-
 hw/s390x/s390-pci-inst.c                           |    28 +-
 hw/s390x/s390-pci-stub.c                           |    77 +
 hw/s390x/s390-skeys-kvm.c                          |     4 +
 hw/s390x/s390-skeys.c                              |     4 +
 hw/s390x/s390-stattrib-kvm.c                       |     5 +
 hw/s390x/s390-stattrib.c                           |     6 +-
 hw/s390x/s390-virtio-ccw.c                         |   298 +-
 hw/s390x/s390-virtio-hcall.c                       |     2 +-
 hw/s390x/s390-virtio-hcall.h                       |    23 +
 hw/s390x/s390-virtio.c                             |   206 -
 hw/s390x/s390-virtio.h                             |    33 -
 hw/s390x/sclp.c                                    |    81 +-
 hw/s390x/sclpcpu.c                                 |     7 +-
 hw/s390x/sclpquiesce.c                             |     7 +-
 hw/s390x/virtio-ccw.c                              |   310 +-
 hw/s390x/virtio-ccw.h                              |    32 +
 hw/scsi/esp-pci.c                                  |     4 +
 hw/scsi/esp.c                                      |    21 +-
 hw/scsi/lsi53c895a.c                               |     8 +-
 hw/scsi/megasas.c                                  |    12 +-
 hw/scsi/mptendian.c                                |     2 +-
 hw/scsi/mptsas.c                                   |    12 +-
 hw/scsi/scsi-bus.c                                 |   411 +-
 hw/scsi/scsi-disk.c                                |    71 +-
 hw/scsi/scsi-generic.c                             |    50 +-
 hw/scsi/spapr_vscsi.c                              |     2 +-
 hw/scsi/vhost-scsi.c                               |     2 +
 hw/scsi/vhost-user-scsi.c                          |     2 +
 hw/scsi/virtio-scsi-dataplane.c                    |     2 +-
 hw/scsi/virtio-scsi.c                              |    10 +-
 hw/scsi/vmw_pvscsi.c                               |     8 +-
 hw/sd/sd.c                                         |    12 +-
 hw/sd/sdhci.c                                      |     4 +
 hw/sh4/r2d.c                                       |    12 +-
 hw/sh4/sh_pci.c                                    |     4 +
 hw/sh4/shix.c                                      |    11 +-
 hw/sparc/leon3.c                                   |    12 +-
 hw/sparc/sun4m.c                                   |   115 +-
 hw/sparc64/niagara.c                               |     4 +-
 hw/sparc64/sparc64.c                               |    12 +-
 hw/sparc64/sun4u.c                                 |    92 +-
 hw/ssi/Makefile.objs                               |     1 +
 hw/ssi/mss-spi.c                                   |   414 +
 hw/timer/Makefile.objs                             |     1 +
 hw/timer/cadence_ttc.c                             |     4 +-
 hw/timer/hpet.c                                    |     4 +-
 hw/timer/i8254_common.c                            |     8 +-
 hw/timer/mc146818rtc.c                             |     4 +-
 hw/timer/mss-timer.c                               |   289 +
 hw/timer/omap_gptimer.c                            |    49 +-
 hw/timer/omap_synctimer.c                          |    35 +-
 hw/timer/pl031.c                                   |     4 +-
 hw/timer/twl92230.c                                |     4 +-
 hw/tpm/Makefile.objs                               |     1 +
 hw/tpm/tpm_emulator.c                              |   585 +
 hw/tpm/tpm_int.h                                   |    36 +-
 hw/tpm/tpm_ioctl.h                                 |   246 +
 hw/tpm/tpm_passthrough.c                           |   289 +-
 hw/tpm/tpm_tis.c                                   |   477 +-
 hw/tpm/tpm_tis.h                                   |    70 -
 hw/tpm/tpm_util.c                                  |    36 +-
 hw/tpm/tpm_util.h                                  |     4 +
 hw/tricore/tricore_testboard.c                     |    10 +-
 hw/unicore32/puv3.c                                |    12 +-
 hw/usb/Makefile.objs                               |    20 +-
 hw/usb/bus.c                                       |     4 +-
 hw/usb/ccid-card-passthru.c                        |     2 +-
 hw/usb/dev-hub.c                                   |     8 +-
 hw/usb/dev-smartcard-reader.c                      |    27 +-
 hw/usb/dev-uas.c                                   |     2 +-
 hw/usb/hcd-ehci-pci.c                              |     4 +
 hw/usb/hcd-ehci-sysbus.c                           |    25 +
 hw/usb/hcd-ehci.c                                  |     9 +-
 hw/usb/hcd-ehci.h                                  |     1 +
 hw/usb/hcd-ohci.c                                  |    19 +-
 hw/usb/hcd-uhci.c                                  |     4 +
 hw/usb/hcd-xhci.c                                  |     9 +-
 hw/usb/redirect.c                                  |     4 +-
 hw/vfio/ccw.c                                      |    29 +-
 hw/vfio/pci-quirks.c                               |   118 +
 hw/vfio/pci.c                                      |    22 +-
 hw/vfio/pci.h                                      |     4 +
 hw/vfio/spapr.c                                    |     2 +-
 hw/virtio/vhost-vsock.c                            |     4 +-
 hw/virtio/vhost.c                                  |    17 +-
 hw/virtio/virtio-balloon.c                         |     3 +-
 hw/virtio/virtio-pci.c                             |   188 +-
 hw/virtio/virtio-pci.h                             |    17 +-
 hw/virtio/virtio.c                                 |    50 +-
 hw/watchdog/watchdog.c                             |    65 +-
 hw/watchdog/wdt_aspeed.c                           |    97 +-
 hw/watchdog/wdt_diag288.c                          |     6 +-
 hw/watchdog/wdt_i6300esb.c                         |     4 +
 hw/xen/Makefile.objs                               |     1 +
 hw/xen/xen_backend.c                               |    11 +
 hw/xen/xen_pt.c                                    |     5 +
 hw/xen/xen_pt_load_rom.c                           |    88 +
 hw/xtensa/sim.c                                    |    13 +-
 hw/xtensa/xtfpga.c                                 |    16 +-
 include/block/block.h                              |    36 +-
 include/block/block_int.h                          |    95 +-
 include/block/blockjob.h                           |     8 +-
 include/block/blockjob_int.h                       |     6 +-
 include/block/dirty-bitmap.h                       |    43 +-
 include/block/nbd.h                                |   135 +-
 include/block/scsi.h                               |   316 -
 include/block/snapshot.h                           |     6 +-
 include/block/throttle-groups.h                    |    52 +-
 include/chardev/char.h                             |    13 +-
 include/crypto/block.h                             |    29 +-
 include/disas/bfd.h                                |    12 +-
 include/disas/capstone.h                           |    38 +
 include/disas/disas.h                              |     4 +-
 include/elf.h                                      |     3 +-
 include/exec/cpu-all.h                             |     5 +-
 include/exec/cpu-defs.h                            |     1 +
 include/exec/cpu_ldst.h                            |     2 +
 include/exec/cpu_ldst_useronly_template.h          |    14 +-
 include/exec/cputlb.h                              |     3 +-
 include/exec/exec-all.h                            |   182 +-
 include/exec/gen-icount.h                          |    27 +-
 include/exec/helper-gen.h                          |    22 +-
 include/exec/helper-head.h                         |    16 +-
 include/exec/log.h                                 |     4 +-
 include/exec/memattrs.h                            |    10 +
 include/exec/memory-internal.h                     |    78 +-
 include/exec/memory.h                              |    85 +-
 include/exec/ram_addr.h                            |    10 +
 include/exec/tb-context.h                          |     6 +-
 include/exec/tb-hash-xx.h                          |     9 +-
 include/exec/tb-hash.h                             |     4 +-
 include/exec/tb-lookup.h                           |    49 +
 include/exec/translator.h                          |   144 +
 include/glib-compat.h                              |     9 +
 include/hw/acpi/bios-linker-loader.h               |     2 +
 include/hw/acpi/vmgenid.h                          |     1 -
 include/hw/arm/arm.h                               |     2 +-
 include/hw/arm/armv7m.h                            |     8 +-
 include/hw/arm/armv7m_nvic.h                       |    62 -
 include/hw/arm/aspeed_soc.h                        |     2 +-
 include/hw/arm/msf2-soc.h                          |    67 +
 include/hw/arm/stm32f205_soc.h                     |     2 +-
 include/hw/arm/xlnx-zynqmp.h                       |     2 +
 include/hw/boards.h                                |    28 +
 include/hw/compat.h                                |    15 +-
 include/hw/elf_ops.h                               |    72 +-
 include/hw/i2c/ppc4xx_i2c.h                        |    61 +
 include/hw/i386/apic-msidef.h                      |     2 +-
 include/hw/i386/pc.h                               |    18 +-
 include/hw/ide/internal.h                          |    23 +-
 include/hw/intc/armv7m_nvic.h                      |    90 +
 include/hw/loader.h                                |     2 +-
 include/hw/mem/pc-dimm.h                           |     1 +
 include/hw/mips/cps.h                              |     2 +-
 include/hw/misc/aspeed_scu.h                       |     3 +
 include/hw/misc/msf2-sysreg.h                      |    77 +
 include/hw/misc/vmcoreinfo.h                       |    46 +
 include/hw/net/lance.h                             |    45 +
 include/hw/net/mii.h                               |     4 +
 include/hw/nvram/fw_cfg.h                          |    10 +-
 include/hw/or-irq.h                                |     1 -
 include/hw/pci-host/gpex.h                         |     3 +
 include/hw/pci-host/q35.h                          |     1 +
 include/hw/pci/pci-assign.h                        |    27 -
 include/hw/pci/pci.h                               |     9 +
 include/hw/pci/pci_bridge.h                        |    25 +
 include/hw/pci/pci_bus.h                           |     1 +
 include/hw/pci/pci_ids.h                           |     2 +
 include/hw/pci/pcie_port.h                         |     1 +
 include/hw/ppc/mac_dbdma.h                         |    11 +-
 include/hw/ppc/openpic.h                           |     1 +
 include/hw/ppc/pnv.h                               |    12 +-
 include/hw/ppc/pnv_core.h                          |     4 +-
 include/hw/ppc/pnv_xscom.h                         |     2 +-
 include/hw/ppc/ppc.h                               |     2 -
 include/hw/ppc/ppc4xx.h                            |     3 +
 include/hw/ppc/spapr.h                             |     7 +-
 include/hw/ppc/spapr_cpu_core.h                    |     7 +-
 include/hw/ppc/spapr_drc.h                         |     1 +
 include/hw/ppc/spapr_ovec.h                        |     3 +-
 include/hw/ppc/xics.h                              |     2 +
 include/hw/qdev-core.h                             |     3 +-
 include/hw/s390x/3270-ccw.h                        |     5 +-
 include/hw/s390x/css.h                             |   119 +-
 include/hw/s390x/event-facility.h                  |    20 +-
 include/hw/s390x/ioinst.h                          |    12 +-
 include/hw/s390x/s390-ccw.h                        |     2 +-
 include/hw/s390x/s390-virtio-ccw.h                 |     5 +-
 include/hw/s390x/sclp.h                            |    19 +-
 include/hw/scsi/esp.h                              |    14 +
 include/hw/scsi/scsi.h                             |    94 +-
 include/hw/sparc/sparc32_dma.h                     |    55 +
 include/hw/sparc/sparc64.h                         |     3 +-
 include/hw/sparc/sun4m.h                           |    35 +-
 include/hw/ssi/mss-spi.h                           |    58 +
 include/hw/timer/mss-timer.h                       |    64 +
 include/hw/virtio/virtio-input.h                   |     1 +
 include/hw/virtio/virtio-scsi.h                    |     2 +-
 include/hw/virtio/virtio-serial.h                  |     3 +
 include/hw/virtio/virtio.h                         |     3 +-
 include/hw/watchdog/wdt_aspeed.h                   |     2 +
 include/hw/xen/xen_backend.h                       |     1 +
 include/io/channel-websock.h                       |     3 +-
 include/io/channel.h                               |   145 +-
 include/migration/register.h                       |     1 +
 include/migration/vmstate.h                        |     6 +-
 include/net/checksum.h                             |     6 +
 include/qapi/qmp/qbool.h                           |     1 +
 include/qapi/qmp/qdict.h                           |     6 +-
 include/qapi/qmp/qlist.h                           |     4 +
 include/qapi/qmp/qlit.h                            |    54 +
 include/qapi/qmp/qnull.h                           |    32 +
 include/qapi/qmp/qnum.h                            |    22 +
 include/qapi/qmp/qobject.h                         |    21 +-
 include/qapi/qmp/qstring.h                         |     1 +
 include/qapi/qmp/types.h                           |     1 +
 include/qapi/util.h                                |    10 +-
 include/qapi/visitor.h                             |     2 +-
 include/qemu-common.h                              |     4 +-
 include/qemu/atomic.h                              |     8 +
 include/qemu/bitmap.h                              |    17 +
 include/qemu/coroutine_int.h                       |    13 +-
 include/qemu/futex.h                               |     5 +
 include/qemu/hbitmap.h                             |     8 +-
 include/qemu/host-utils.h                          |    36 +-
 include/qemu/iov.h                                 |     6 -
 include/qemu/osdep.h                               |    60 +-
 include/qemu/sockets.h                             |    15 +-
 include/qemu/thread-posix.h                        |     4 +-
 include/qemu/throttle-options.h                    |    60 +-
 include/qemu/throttle.h                            |    11 +-
 include/qemu/typedefs.h                            |     3 +
 include/qom/cpu.h                                  |    73 +-
 include/qom/object.h                               |    65 +-
 include/qom/object_interfaces.h                    |    13 +-
 include/scsi/constants.h                           |   314 +
 include/scsi/pr-manager.h                          |    56 +
 include/scsi/utils.h                               |   128 +
 include/standard-headers/asm-s390/kvm_virtio.h     |    64 -
 include/standard-headers/asm-x86/hyperv.h          |    19 +-
 include/standard-headers/linux/pci_regs.h          |    42 +-
 include/standard-headers/linux/virtio_ring.h       |     4 +-
 include/sysemu/block-backend.h                     |    20 +-
 include/sysemu/dump.h                              |     2 +
 include/sysemu/iothread.h                          |    13 +
 include/sysemu/kvm.h                               |     2 +-
 include/sysemu/numa.h                              |     7 +-
 include/sysemu/seccomp.h                           |     8 +-
 include/sysemu/sysemu.h                            |     2 +-
 include/sysemu/tpm.h                               |     1 +
 include/sysemu/tpm_backend.h                       |    95 +-
 include/sysemu/tpm_backend_int.h                   |    41 -
 include/sysemu/watchdog.h                          |    12 +-
 include/ui/console.h                               |    64 +-
 include/ui/egl-helpers.h                           |    12 +-
 include/ui/gtk.h                                   |     2 +-
 include/ui/input.h                                 |    12 +-
 include/ui/sdl2.h                                  |     2 +-
 include/ui/shader.h                                |    14 +-
 include/ui/spice-display.h                         |     2 +-
 io/channel-socket.c                                |     2 +-
 io/channel-websock.c                               |   559 +-
 io/channel.c                                       |   134 +
 io/trace-events                                    |     9 +-
 iothread.c                                         |    85 +-
 libdecnumber/Makefile.objs                         |     5 +
 libdecnumber/decNumber.c                           |     2 +-
 linux-headers/asm-s390/kvm.h                       |     6 +
 linux-headers/linux/kvm.h                          |     3 +-
 linux-headers/linux/userfaultfd.h                  |    16 +-
 linux-user/arm/target_cpu.h                        |     4 +
 linux-user/elfload.c                               |    13 +-
 linux-user/hppa/syscall_nr.h                       |     2 +-
 linux-user/hppa/target_cpu.h                       |     4 +
 linux-user/ioctls.h                                |     5 +
 linux-user/main.c                                  |    68 +-
 linux-user/signal.c                                |    47 +-
 linux-user/sparc/target_syscall.h                  |     2 +-
 linux-user/strace.c                                |     4 +
 linux-user/syscall.c                               |   108 +-
 linux-user/syscall_defs.h                          |    90 +-
 memory.c                                           |   416 +-
 migration/Makefile.objs                            |     1 +
 migration/block.c                                  |    13 +-
 migration/channel.c                                |    18 +-
 migration/colo-comm.c                              |     4 +-
 migration/colo-failover.c                          |     4 +-
 migration/colo.c                                   |    14 +-
 migration/exec.c                                   |     2 +-
 migration/fd.c                                     |     2 +-
 migration/global_state.c                           |    10 +-
 migration/migration.c                              |   350 +-
 migration/migration.h                              |    21 +-
 migration/page_cache.c                             |    93 +-
 migration/page_cache.h                             |    18 +-
 migration/postcopy-ram.c                           |   154 +-
 migration/postcopy-ram.h                           |     6 +-
 migration/ram.c                                    |   499 +-
 migration/ram.h                                    |    12 +-
 migration/savevm.c                                 |   110 +-
 migration/socket.c                                 |    10 +-
 migration/tls.c                                    |     1 -
 migration/trace-events                             |     3 +-
 migration/vmstate-types.c                          |    11 +-
 migration/vmstate.c                                |    43 +-
 monitor.c                                          |    95 +-
 nbd/client.c                                       |   264 +-
 nbd/common.c                                       |   129 +-
 nbd/nbd-internal.h                                 |    93 +-
 nbd/server.c                                       |   365 +-
 nbd/trace-events                                   |    17 +-
 net/Makefile.objs                                  |     2 +
 net/colo-compare.c                                 |   244 +-
 net/colo.c                                         |    18 +-
 net/colo.h                                         |     1 +
 net/filter-mirror.c                                |     6 +
 net/filter-rewriter.c                              |     6 +-
 net/filter.c                                       |     2 +-
 net/hub.c                                          |    10 +-
 net/net.c                                          |    41 +-
 net/slirp.c                                        |    13 +-
 net/socket.c                                       |   162 +-
 numa.c                                             |    60 +-
 os-posix.c                                         |     1 -
 pc-bios/README                                     |     4 +-
 pc-bios/bios-256k.bin                              |   Bin 262144 -> 262144 
bytes
 pc-bios/bios.bin                                   |   Bin 131072 -> 131072 
bytes
 pc-bios/keymaps/Makefile                           |    56 +
 pc-bios/keymaps/ar                                 |   819 +-
 pc-bios/keymaps/bepo                               |  1108 +-
 pc-bios/keymaps/cz                                 |   853 +-
 pc-bios/keymaps/da                                 |   732 +-
 pc-bios/keymaps/de                                 |   767 +-
 pc-bios/keymaps/de-ch                              |   921 +-
 pc-bios/keymaps/en-gb                              |   724 +-
 pc-bios/keymaps/en-us                              |   718 +-
 pc-bios/keymaps/es                                 |   744 +-
 pc-bios/keymaps/et                                 |   818 +-
 pc-bios/keymaps/fi                                 |   814 +-
 pc-bios/keymaps/fo                                 |   879 +-
 pc-bios/keymaps/fr                                 |   706 +-
 pc-bios/keymaps/fr-be                              |   724 +-
 pc-bios/keymaps/fr-ca                              |   802 +-
 pc-bios/keymaps/fr-ch                              |   800 +-
 pc-bios/keymaps/hr                                 |   752 +-
 pc-bios/keymaps/hu                                 |   883 +-
 pc-bios/keymaps/is                                 |   802 +-
 pc-bios/keymaps/it                                 |   757 +-
 pc-bios/keymaps/ja                                 |   792 +-
 pc-bios/keymaps/lt                                 |   844 +-
 pc-bios/keymaps/lv                                 |   766 +-
 pc-bios/keymaps/mk                                 |   814 +-
 pc-bios/keymaps/nl                                 |   794 +-
 pc-bios/keymaps/no                                 |   758 +-
 pc-bios/keymaps/pl                                 |   789 +-
 pc-bios/keymaps/pt                                 |   737 +-
 pc-bios/keymaps/pt-br                              |   775 +-
 pc-bios/keymaps/ru                                 |   835 +-
 pc-bios/keymaps/th                                 |   878 +-
 pc-bios/keymaps/tr                                 |   819 +-
 pc-bios/openbios-ppc                               |   Bin 754936 -> 754936 
bytes
 pc-bios/openbios-sparc32                           |   Bin 382048 -> 382048 
bytes
 pc-bios/openbios-sparc64                           |   Bin 1593408 -> 1593408 
bytes
 pc-bios/s390-ccw.img                               |   Bin 30520 -> 26416 bytes
 pc-bios/s390-ccw/netboot.mak                       |     2 +-
 pc-bios/s390-ccw/sclp.c                            |    24 +-
 pc-bios/s390-ccw/virtio-scsi.c                     |     3 +-
 pc-bios/s390-netboot.img                           |   Bin 83864 -> 83864 bytes
 pc-bios/vgabios-cirrus.bin                         |   Bin 38400 -> 38400 bytes
 pc-bios/vgabios-qxl.bin                            |   Bin 38912 -> 38912 bytes
 pc-bios/vgabios-stdvga.bin                         |   Bin 38912 -> 38912 bytes
 pc-bios/vgabios-virtio.bin                         |   Bin 38912 -> 38912 bytes
 pc-bios/vgabios-vmware.bin                         |   Bin 38912 -> 38912 bytes
 pc-bios/vgabios.bin                                |   Bin 38400 -> 38400 bytes
 pixman                                             |     1 -
 qapi-schema.json                                   |  5631 ++--------
 qapi/block-core.json                               |    99 +-
 qapi/block.json                                    |    73 +-
 qapi/char.json                                     |   538 +
 qapi/common.json                                   |   132 +-
 qapi/crypto.json                                   |     2 +-
 qapi/event.json                                    |   646 --
 qapi/introspect.json                               |     6 +-
 qapi/migration.json                                |  1166 ++
 qapi/net.json                                      |   706 ++
 qapi/qapi-clone-visitor.c                          |     1 +
 qapi/qapi-util.c                                   |    16 +-
 qapi/qapi-visit-core.c                             |    34 +-
 qapi/qmp-dispatch.c                                |     2 +-
 qapi/run-state.json                                |   352 +
 qapi/sockets.json                                  |   147 +
 qapi/string-input-visitor.c                        |     1 +
 qapi/tpm.json                                      |   152 +
 qapi/trace.json                                    |     2 +-
 qapi/transaction.json                              |   158 +
 qapi/ui.json                                       |   984 ++
 qdev-monitor.c                                     |     1 -
 qemu-doc.texi                                      |   812 +-
 qemu-img-cmds.hx                                   |     4 +-
 qemu-img.c                                         |   416 +-
 qemu-img.texi                                      |    24 +-
 qemu-io-cmds.c                                     |    25 +-
 qemu-io.c                                          |    15 +-
 qemu-keymap.c                                      |   258 +
 qemu-nbd.c                                         |     4 +-
 qemu-options.hx                                    |    81 +-
 qemu-seccomp.c                                     |   303 +-
 qemu.nsi                                           |     2 +-
 qga/commands-posix.c                               |    74 +-
 qga/commands-win32.c                               |   108 +-
 qga/qapi-schema.json                               |    38 +-
 qga/vss-win32.c                                    |     3 +-
 qga/vss-win32/install.cpp                          |    13 +-
 qga/vss-win32/requester.cpp                        |    12 +
 qmp.c                                              |    13 +
 qobject/Makefile.objs                              |     2 +-
 qobject/qbool.c                                    |     8 +
 qobject/qdict.c                                    |    29 +
 qobject/qlist.c                                    |    32 +
 qobject/qlit.c                                     |    84 +
 qobject/qnull.c                                    |    11 +-
 qobject/qnum.c                                     |    54 +
 qobject/qobject.c                                  |    29 +
 qobject/qstring.c                                  |     9 +
 qom/cpu.c                                          |    94 +-
 qom/object.c                                       |    36 +-
 qom/object_interfaces.c                            |    11 +-
 qtest.c                                            |    82 +-
 replay/replay-snapshot.c                           |     4 +-
 roms/config.seabios-128k                           |     4 +
 roms/openbios                                      |     2 +-
 roms/seabios                                       |     2 +-
 scripts/archive-source.sh                          |    73 +
 scripts/argparse.py                                |  2406 +++++
 scripts/checkpatch.pl                              |   146 +-
 scripts/coccinelle/qobject.cocci                   |     6 +
 scripts/create_config                              |     2 +-
 scripts/device-crash-test                          |     5 +-
 scripts/dump-guest-memory.py                       |    63 +
 scripts/get_maintainer.pl                          |     2 +-
 scripts/git-submodule.sh                           |    82 +
 scripts/make-release                               |     4 +
 scripts/qapi-event.py                              |     1 +
 scripts/qapi-types.py                              |     4 +
 scripts/qapi-visit.py                              |     2 +-
 scripts/qapi.py                                    |    24 +-
 scripts/qemu.py                                    |   174 +-
 scripts/qmp/qemu-ga-client                         |     2 +-
 scripts/qmp/qmp-shell                              |     4 +-
 scripts/qmp/qmp.py                                 |    65 +-
 scripts/qtest.py                                   |    13 +-
 scripts/update-linux-headers.sh                    |     5 +-
 scsi/Makefile.objs                                 |     3 +
 scsi/pr-helper.h                                   |    41 +
 scsi/pr-manager-helper.c                           |   302 +
 scsi/pr-manager.c                                  |   109 +
 scsi/qemu-pr-helper.c                              |  1086 ++
 scsi/trace-events                                  |     3 +
 scsi/utils.c                                       |   548 +
 slirp/if.c                                         |    69 +-
 slirp/slirp.c                                      |     8 +-
 slirp/slirp.h                                      |     1 -
 slirp/tcp_subr.c                                   |    11 +-
 softmmu_template.h                                 |   433 -
 stubs/Makefile.objs                                |     3 +-
 stubs/qmp_pc_dimm.c                                |    13 +
 stubs/qmp_pc_dimm_device_list.c                    |     8 -
 stubs/tpm.c                                        |    33 +
 target/alpha/cpu.c                                 |   136 +-
 target/alpha/cpu.h                                 |    13 +-
 target/alpha/helper.c                              |     8 +
 target/alpha/mem_helper.c                          |    19 +-
 target/alpha/translate.c                           |   359 +-
 target/arm/arch_dump.c                             |    11 +-
 target/arm/cpu.c                                   |   214 +-
 target/arm/cpu.h                                   |   262 +-
 target/arm/helper-a64.c                            |    46 +-
 target/arm/helper-a64.h                            |     4 +
 target/arm/helper.c                                |  1764 ++-
 target/arm/helper.h                                |     5 +-
 target/arm/internals.h                             |    87 +-
 target/arm/kvm.c                                   |     6 +-
 target/arm/kvm32.c                                 |     8 +-
 target/arm/kvm64.c                                 |    63 +-
 target/arm/kvm_arm.h                               |     9 +-
 target/arm/machine.c                               |   171 +-
 target/arm/op_helper.c                             |   203 +-
 target/arm/psci.c                                  |     2 +-
 target/arm/translate-a64.c                         |   590 +-
 target/arm/translate.c                             |  1001 +-
 target/arm/translate.h                             |    41 +-
 target/cris/cpu.c                                  |   106 +-
 target/cris/cpu.h                                  |     6 +-
 target/cris/translate.c                            |    25 +-
 target/cris/translate_v10.c                        |     2 -
 target/hppa/cpu.c                                  |    14 +-
 target/hppa/cpu.h                                  |     4 +-
 target/hppa/helper.h                               |     2 +
 target/hppa/op_helper.c                            |    32 +-
 target/hppa/translate.c                            |   922 +-
 target/i386/arch_dump.c                            |    41 +-
 target/i386/arch_memory_mapping.c                  |     1 -
 target/i386/cpu.c                                  |   121 +-
 target/i386/cpu.h                                  |    24 +-
 target/i386/hax-mem.c                              |     6 +-
 target/i386/hyperv-proto.h                         |   260 +
 target/i386/hyperv.c                               |     6 +-
 target/i386/kvm.c                                  |   195 +-
 target/i386/machine.c                              |    22 +-
 target/i386/monitor.c                              |    18 +-
 target/i386/ops_sse.h                              |    47 +-
 target/i386/svm_helper.c                           |     1 -
 target/i386/translate.c                            |   596 +-
 target/lm32/cpu.c                                  |    85 +-
 target/lm32/cpu.h                                  |     6 +-
 target/lm32/helper.c                               |     5 -
 target/lm32/translate.c                            |    26 +-
 target/m68k/cpu.c                                  |    88 +-
 target/m68k/cpu.h                                  |     6 +-
 target/m68k/fpu_helper.c                           |    44 +-
 target/m68k/helper.c                               |    20 -
 target/m68k/helper.h                               |     1 +
 target/m68k/op_helper.c                            |    33 +-
 target/m68k/translate.c                            |    34 +-
 target/microblaze/cpu.c                            |    13 +-
 target/microblaze/cpu.h                            |     3 +-
 target/microblaze/translate.c                      |    29 +-
 target/mips/Makefile.objs                          |     2 +-
 target/mips/cp0_timer.c                            |   165 +
 target/mips/cpu-qom.h                              |     1 +
 target/mips/cpu.c                                  |    55 +-
 target/mips/cpu.h                                  |   363 +-
 target/mips/dsp_helper.c                           |    56 +-
 target/mips/gdbstub.c                              |     1 +
 target/mips/helper.c                               |     1 +
 target/mips/internal.h                             |   422 +
 target/mips/kvm.c                                  |    11 +-
 target/mips/machine.c                              |     1 +
 target/mips/mips-defs.h                            |     6 +-
 target/mips/msa_helper.c                           |     1 +
 target/mips/op_helper.c                            |     1 +
 target/mips/translate.c                            |    86 +-
 target/mips/translate_init.c                       |    70 +-
 target/moxie/cpu.c                                 |    75 +-
 target/moxie/cpu.h                                 |     6 +-
 target/moxie/translate.c                           |    11 +-
 target/nios2/cpu.c                                 |    16 +-
 target/nios2/cpu.h                                 |     9 +-
 target/nios2/translate.c                           |    17 +-
 target/openrisc/cpu.c                              |    86 +-
 target/openrisc/cpu.h                              |    11 +-
 target/openrisc/machine.c                          |     1 -
 target/openrisc/sys_helper.c                       |     9 +-
 target/openrisc/translate.c                        |    17 +-
 target/ppc/Makefile.objs                           |     1 +
 target/ppc/STATUS                                  |   550 -
 target/ppc/arch_dump.c                             |    12 +-
 target/ppc/compat.c                                |     2 +-
 target/ppc/cpu-models.c                            |  1026 +-
 target/ppc/cpu-models.h                            |   263 +-
 target/ppc/cpu-qom.h                               |     1 +
 target/ppc/cpu.h                                   |    56 +-
 target/ppc/excp_helper.c                           |     7 +-
 target/ppc/helper_regs.h                           |    17 +-
 target/ppc/int_helper.c                            |    16 +-
 target/ppc/kvm.c                                   |   148 +-
 target/ppc/kvm_ppc.h                               |    30 +-
 target/ppc/machine.c                               |    12 +-
 target/ppc/mem_helper.c                            |     2 +-
 target/ppc/mmu_helper.c                            |    16 +-
 target/ppc/translate.c                             |    39 +-
 target/ppc/translate_init.c                        |   630 +-
 target/s390x/Makefile.objs                         |     4 +-
 target/s390x/arch_dump.c                           |     3 +-
 target/s390x/cc_helper.c                           |     1 +
 target/s390x/cpu-qom.h                             |     9 +-
 target/s390x/cpu.c                                 |   221 +-
 target/s390x/cpu.h                                 |   814 +-
 target/s390x/cpu_features.c                        |     2 +-
 target/s390x/cpu_models.c                          |    90 +-
 target/s390x/cpu_models.h                          |     8 +-
 target/s390x/crypto_helper.c                       |    65 +
 target/s390x/diag.c                                |    11 +-
 target/s390x/excp_helper.c                         |   166 +-
 target/s390x/fpu_helper.c                          |     1 +
 target/s390x/gdbstub.c                             |     1 +
 target/s390x/helper.c                              |   256 +-
 target/s390x/helper.h                              |     9 +-
 target/s390x/insn-data.def                         |    17 +-
 target/s390x/int_helper.c                          |     1 +
 target/s390x/internal.h                            |   425 +
 target/s390x/interrupt.c                           |   174 +-
 target/s390x/ioinst.c                              |   153 +-
 target/s390x/kvm-stub.c                            |   124 +
 target/s390x/kvm.c                                 |   602 +-
 target/s390x/kvm_s390x.h                           |    50 +
 target/s390x/machine.c                             |     8 +-
 target/s390x/mem_helper.c                          |   151 +-
 target/s390x/misc_helper.c                         |   153 +-
 target/s390x/mmu_helper.c                          |   113 +-
 target/s390x/sigp.c                                |   508 +
 target/s390x/trace-events                          |     4 +-
 target/s390x/translate.c                           |   145 +-
 target/sh4/cpu-qom.h                               |     8 +-
 target/sh4/cpu.c                                   |   120 +-
 target/sh4/cpu.h                                   |    12 +-
 target/sh4/translate.c                             |    25 +-
 target/sparc/cpu-qom.h                             |     2 +
 target/sparc/cpu.c                                 |   388 +-
 target/sparc/cpu.h                                 |    20 +-
 target/sparc/int32_helper.c                        |     2 +-
 target/sparc/int64_helper.c                        |     2 +-
 target/sparc/ldst_helper.c                         |    14 +-
 target/sparc/machine.c                             |     4 +-
 target/sparc/mmu_helper.c                          |    10 +-
 target/sparc/translate.c                           |    40 +-
 target/sparc/win_helper.c                          |     4 +-
 target/tilegx/cpu.c                                |    18 +-
 target/tilegx/cpu.h                                |     4 +-
 target/tilegx/translate.c                          |     5 +-
 target/tricore/cpu.c                               |    77 +-
 target/tricore/cpu.h                               |     6 +-
 target/tricore/helper.c                            |     5 -
 target/tricore/translate.c                         |    13 +-
 target/unicore32/cpu.c                             |    72 +-
 target/unicore32/cpu.h                             |     5 +-
 target/unicore32/helper.c                          |    11 +-
 target/unicore32/translate.c                       |    19 +-
 target/xtensa/cpu.c                                |    16 +-
 target/xtensa/cpu.h                                |     8 +-
 target/xtensa/helper.c                             |    24 +-
 target/xtensa/op_helper.c                          |     4 +-
 target/xtensa/translate.c                          |    37 +-
 tcg/aarch64/tcg-target.h                           |    10 +
 tcg/aarch64/tcg-target.inc.c                       |   397 +-
 tcg/arm/tcg-target.h                               |    11 +
 tcg/arm/tcg-target.inc.c                           |   931 +-
 tcg/i386/tcg-target.h                              |    14 +
 tcg/i386/tcg-target.inc.c                          |    52 +-
 tcg/ia64/tcg-target.h                              |   198 -
 tcg/ia64/tcg-target.inc.c                          |  2482 -----
 tcg/mips/tcg-target.h                              |     9 +
 tcg/mips/tcg-target.inc.c                          |   382 +-
 tcg/optimize.c                                     |   654 +-
 tcg/ppc/tcg-target.h                               |     9 +
 tcg/ppc/tcg-target.inc.c                           |   709 +-
 tcg/s390/tcg-target.h                              |    19 +
 tcg/s390/tcg-target.inc.c                          |  1057 +-
 tcg/sparc/tcg-target.h                             |     7 +
 tcg/sparc/tcg-target.inc.c                         |   531 +-
 tcg/tcg-be-ldst.h                                  |    97 -
 tcg/tcg-be-null.h                                  |    44 -
 tcg/tcg-ldst.inc.c                                 |    78 +
 tcg/tcg-op.c                                       |   208 +-
 tcg/tcg-op.h                                       |   144 +-
 tcg/tcg-pool.inc.c                                 |    85 +
 tcg/tcg-runtime.c                                  |   234 -
 tcg/tcg-runtime.h                                  |   136 -
 tcg/tcg.c                                          |  1445 ++-
 tcg/tcg.h                                          |   325 +-
 tcg/tci.c                                          |   552 +-
 tcg/tci/tcg-target.h                               |    14 +
 tcg/tci/tcg-target.inc.c                           |    15 +-
 tests/.gitignore                                   |     3 +
 tests/Makefile.include                             |    55 +-
 tests/acpi-test-data/pc/DSDT                       |   Bin 5098 -> 5144 bytes
 tests/acpi-test-data/pc/DSDT.bridge                |   Bin 6957 -> 7003 bytes
 tests/acpi-test-data/pc/DSDT.cphp                  |   Bin 5561 -> 5607 bytes
 tests/acpi-test-data/pc/DSDT.ipmikcs               |   Bin 5170 -> 5216 bytes
 tests/acpi-test-data/pc/DSDT.memhp                 |   Bin 6463 -> 6509 bytes
 tests/acpi-test-data/q35/DSDT                      |   Bin 7782 -> 7828 bytes
 tests/acpi-test-data/q35/DSDT.bridge               |   Bin 7799 -> 7845 bytes
 tests/acpi-test-data/q35/DSDT.cphp                 |   Bin 8245 -> 8291 bytes
 tests/acpi-test-data/q35/DSDT.ipmibt               |   Bin 7857 -> 7903 bytes
 tests/acpi-test-data/q35/DSDT.memhp                |   Bin 9147 -> 9193 bytes
 tests/acpi-utils.h                                 |    27 +-
 tests/ahci-test.c                                  |     4 +-
 tests/benchmark-crypto-cipher.c                    |     4 +-
 tests/benchmark-crypto-hash.c                      |     4 +-
 tests/benchmark-crypto-hmac.c                      |     4 +-
 tests/bios-tables-test.c                           |    42 +-
 tests/boot-order-test.c                            |    11 +-
 tests/boot-sector.c                                |    65 +-
 tests/boot-serial-test.c                           |    12 +-
 tests/check-qjson.c                                |   150 +-
 tests/check-qlit.c                                 |    74 +
 tests/check-qnull.c                                |     2 +-
 tests/check-qobject.c                              |   328 +
 tests/check-qom-proplist.c                         |    14 +-
 tests/crypto-tls-x509-helpers.c                    |     3 +-
 tests/docker/Makefile.include                      |    35 +-
 tests/docker/common.rc                             |    28 +-
 tests/docker/docker.py                             |    31 +-
 tests/docker/dockerfiles/centos6.docker            |     1 +
 tests/docker/dockerfiles/centos7.docker            |     1 +
 tests/docker/dockerfiles/debian-ports.docker       |     1 +
 tests/docker/dockerfiles/debian8-mxe.docker        |     1 +
 tests/docker/dockerfiles/debian8.docker            |     1 +
 tests/docker/dockerfiles/debian9.docker            |     1 +
 tests/docker/dockerfiles/fedora.docker             |     3 +-
 tests/docker/dockerfiles/min-glib.docker           |     2 +-
 tests/docker/dockerfiles/travis.docker             |     6 +-
 tests/docker/dockerfiles/ubuntu.docker             |    13 +-
 tests/docker/run                                   |    22 +-
 tests/docker/test-block                            |    21 +
 tests/docker/test-build                            |     1 +
 tests/docker/test-clang                            |     1 +
 tests/docker/test-full                             |    82 +-
 tests/docker/test-mingw                            |     1 +
 tests/docker/test-quick                            |     1 +
 tests/drive_del-test.c                             |    25 +-
 tests/endianness-test.c                            |    33 +-
 tests/fw_cfg-test.c                                |     4 +-
 tests/io-channel-helpers.c                         |   102 +-
 tests/ipmi-bt-test.c                               |    11 +-
 tests/keys/README                                  |     6 +
 tests/keys/id_rsa                                  |    27 +
 tests/keys/id_rsa.pub                              |     1 +
 tests/libqos/ahci.c                                |     2 +-
 tests/libqos/libqos.c                              |     2 +-
 tests/libqos/malloc.c                              |     6 +-
 tests/libqos/pci.c                                 |    26 +-
 tests/libqos/usb.c                                 |    30 +-
 tests/libqos/virtio.c                              |    17 +
 tests/libqos/virtio.h                              |     3 +
 tests/libqtest.c                                   |   129 +-
 tests/libqtest.h                                   |    52 +-
 tests/m25p80-test.c                                |     9 +-
 tests/migration-test.c                             |   592 ++
 tests/migration/guestperf/engine.py                |     6 +-
 tests/migration/guestperf/shell.py                 |    21 +-
 tests/numa-test.c                                  |    21 +-
 tests/pc-cpu-test.c                                |     2 +-
 tests/pnv-xscom-test.c                             |    16 +-
 tests/postcopy-test.c                              |   537 -
 tests/prom-env-test.c                              |    27 +-
 tests/ptimer-test-stubs.c                          |     4 +
 tests/pxe-test.c                                   |    38 +-
 .../qapi-schema/alternate-conflict-bool-string.err |     1 +
 .../alternate-conflict-bool-string.exit            |     1 +
 .../alternate-conflict-bool-string.json            |     4 +
 .../qapi-schema/alternate-conflict-bool-string.out |     0
 .../qapi-schema/alternate-conflict-num-string.err  |     1 +
 .../qapi-schema/alternate-conflict-num-string.exit |     1 +
 .../qapi-schema/alternate-conflict-num-string.json |     4 +
 .../qapi-schema/alternate-conflict-num-string.out  |     0
 tests/qemu-iotests/020                             |    27 +
 tests/qemu-iotests/020.out                         |    17 +
 tests/qemu-iotests/030                             |    12 +-
 tests/qemu-iotests/039.out                         |    10 +-
 tests/qemu-iotests/040                             |     8 +-
 tests/qemu-iotests/051                             |    12 +-
 tests/qemu-iotests/051.out                         |     2 +-
 tests/qemu-iotests/051.pc.out                      |    12 +-
 tests/qemu-iotests/055                             |    25 +-
 tests/qemu-iotests/058                             |     8 +-
 tests/qemu-iotests/060                             |   197 +
 tests/qemu-iotests/060.out                         |   230 +
 tests/qemu-iotests/061.out                         |     4 +-
 tests/qemu-iotests/067                             |     4 +-
 tests/qemu-iotests/067.out                         |     2 +-
 tests/qemu-iotests/068                             |     2 +-
 tests/qemu-iotests/068.out                         |     4 +
 tests/qemu-iotests/074.out                         |     2 -
 tests/qemu-iotests/075                             |    18 +-
 tests/qemu-iotests/077                             |     3 +-
 tests/qemu-iotests/077.out                         |    16 -
 tests/qemu-iotests/078                             |    14 +-
 tests/qemu-iotests/083                             |   138 +-
 tests/qemu-iotests/083.out                         |   164 +-
 tests/qemu-iotests/087                             |    11 +-
 tests/qemu-iotests/093                             |    62 +
 tests/qemu-iotests/093.out                         |     4 +-
 tests/qemu-iotests/102                             |     4 +-
 tests/qemu-iotests/106                             |     2 +-
 tests/qemu-iotests/125                             |     7 +-
 tests/qemu-iotests/125.out                         |   480 +-
 tests/qemu-iotests/127                             |    97 +
 tests/qemu-iotests/127.out                         |    14 +
 tests/qemu-iotests/133                             |     9 +
 tests/qemu-iotests/133.out                         |     5 +
 tests/qemu-iotests/136                             |    14 +-
 tests/qemu-iotests/137.out                         |     2 +-
 tests/qemu-iotests/139                             |    12 +-
 tests/qemu-iotests/140                             |     4 +-
 tests/qemu-iotests/147                             |     1 +
 tests/qemu-iotests/163                             |   170 +
 tests/qemu-iotests/163.out                         |     5 +
 tests/qemu-iotests/165                             |     2 +-
 tests/qemu-iotests/172                             |     2 +-
 tests/qemu-iotests/172.out                         |     8 -
 tests/qemu-iotests/176                             |    56 +-
 tests/qemu-iotests/176.out                         |   216 +-
 tests/qemu-iotests/177                             |    12 +-
 tests/qemu-iotests/177.out                         |    19 +-
 tests/qemu-iotests/181                             |     2 +
 tests/qemu-iotests/181.out                         |     1 -
 tests/qemu-iotests/182                             |    15 +-
 tests/qemu-iotests/184                             |   206 +
 tests/qemu-iotests/184.out                         |   302 +
 tests/qemu-iotests/186                             |     6 +-
 tests/qemu-iotests/187.out                         |     2 +-
 tests/qemu-iotests/191                             |   154 +
 tests/qemu-iotests/191.out                         |   827 ++
 tests/qemu-iotests/192                             |    23 +-
 tests/qemu-iotests/194                             |    95 +-
 tests/qemu-iotests/194.out                         |    11 +-
 tests/qemu-iotests/195                             |    93 +
 tests/qemu-iotests/195.out                         |    78 +
 tests/qemu-iotests/196                             |    66 +
 tests/qemu-iotests/196.out                         |     5 +
 tests/qemu-iotests/197                             |   109 +
 tests/qemu-iotests/197.out                         |    26 +
 tests/qemu-iotests/198                             |   104 +
 tests/qemu-iotests/198.out                         |   126 +
 tests/qemu-iotests/200                             |    99 +
 tests/qemu-iotests/200.out                         |    14 +
 tests/qemu-iotests/check                           |   587 +-
 tests/qemu-iotests/common                          |   459 -
 tests/qemu-iotests/common.config                   |   206 +-
 tests/qemu-iotests/common.filter                   |    15 +-
 tests/qemu-iotests/common.qemu                     |    23 +-
 tests/qemu-iotests/common.rc                       |   207 +-
 tests/qemu-iotests/group                           |     9 +
 tests/qemu-iotests/iotests.py                      |    35 +-
 tests/qemu-iotests/nbd-fault-injector.py           |     8 +-
 tests/qht-bench.c                                  |     2 +-
 tests/qmp-test.c                                   |   181 +-
 tests/tco-test.c                                   |    10 +-
 tests/test-aio-multithread.c                       |     5 +-
 tests/test-blockjob-txn.c                          |     2 +-
 tests/test-crypto-block.c                          |     3 +-
 tests/test-filter-mirror.c                         |    24 +-
 tests/test-filter-redirector.c                     |    76 +-
 tests/test-hbitmap.c                               |    10 +-
 tests/test-hmp.c                                   |    11 +-
 tests/test-io-channel-tls.c                        |     6 +-
 tests/test-iov.c                                   |    13 +-
 tests/test-netfilter.c                             |    11 +-
 tests/test-qapi-util.c                             |    18 +-
 tests/test-qga.c                                   |    90 -
 tests/test-qobject-input-visitor.c                 |     8 +-
 tests/test-qobject-output-visitor.c                |     2 +-
 tests/test-string-input-visitor.c                  |     4 +-
 tests/test-string-output-visitor.c                 |     4 +-
 tests/test-throttle.c                              |   191 +-
 tests/test-vmstate.c                               |    13 +-
 tests/usb-hcd-uhci-test.c                          |    26 +-
 tests/usb-hcd-xhci-test.c                          |    51 +-
 tests/vhost-user-bridge.c                          |     1 +
 tests/vhost-user-test.c                            |    17 +-
 tests/virtio-balloon-test.c                        |     8 +-
 tests/virtio-blk-test.c                            |     5 +-
 tests/virtio-console-test.c                        |    19 +-
 tests/virtio-scsi-test.c                           |    26 +-
 tests/virtio-serial-test.c                         |    35 +-
 tests/vm/Makefile.include                          |    42 +
 tests/vm/README                                    |    89 +
 tests/vm/basevm.py                                 |   262 +
 tests/vm/freebsd                                   |    42 +
 tests/vm/netbsd                                    |    42 +
 tests/vm/openbsd                                   |    43 +
 tests/vm/ubuntu.i386                               |    89 +
 tests/vmgenid-test.c                               |    53 +-
 tpm.c                                              |   145 +-
 trace-events                                       |     3 +
 trace/control-target.c                             |    18 +-
 trace/control.c                                    |     4 +-
 trace/simple.c                                     |     3 +-
 ui/Makefile.objs                                   |     1 +
 ui/cocoa.m                                         |   135 +-
 ui/console-gl.c                                    |    47 +-
 ui/console.c                                       |    37 +-
 ui/curses.c                                        |    27 +-
 ui/cursor.c                                        |     2 +-
 ui/egl-headless.c                                  |    65 +-
 ui/egl-helpers.c                                   |    99 +-
 ui/gtk-egl.c                                       |     6 +-
 ui/gtk-gl-area.c                                   |     9 +-
 ui/input-keymap.c                                  |   326 +-
 ui/input-legacy.c                                  |    11 +-
 ui/input.c                                         |    52 +-
 ui/keycodemapdb                                    |     1 +
 ui/keymaps.c                                       |    10 +-
 ui/qemu-pixman.c                                   |     4 -
 ui/sdl2-gl.c                                       |     8 +-
 ui/sdl2.c                                          |    49 +-
 ui/shader.c                                        |    57 +-
 ui/shader/texture-blit-flip.vert                   |    10 +
 ui/spice-display.c                                 |     4 +-
 ui/trace-events                                    |    21 +
 ui/vnc-auth-sasl.c                                 |   113 +-
 ui/vnc-auth-vencrypt.c                             |    26 +-
 ui/vnc-enc-tight.c                                 |     2 +-
 ui/vnc-ws.c                                        |    12 +-
 ui/vnc.c                                           |    67 +-
 user-exec-stub.c                                   |    34 -
 user-exec.c                                        |   575 -
 util/Makefile.objs                                 |     1 +
 util/aio-posix.c                                   |    16 +-
 util/async.c                                       |    15 +-
 util/bitmap.c                                      |    47 +
 util/bitops.c                                      |     6 +-
 util/cacheinfo.c                                   |    11 +-
 util/cutils.c                                      |     3 +-
 util/hbitmap.c                                     |     8 +-
 util/keyval.c                                      |     1 -
 util/main-loop.c                                   |    54 +-
 util/osdep.c                                       |    41 +
 util/oslib-posix.c                                 |    28 +-
 util/pagesize.c                                    |    18 +
 util/qemu-config.c                                 |    15 +-
 util/qemu-coroutine-sleep.c                        |    12 +
 util/qemu-coroutine.c                              |    14 +
 util/qemu-sockets.c                                |   354 +-
 util/qemu-thread-posix.c                           |    10 +-
 util/stats64.c                                     |     4 +-
 util/throttle.c                                    |   238 +-
 version.rc                                         |     2 +-
 vl.c                                               |   190 +-
 1358 files changed, 89932 insertions(+), 52550 deletions(-)

diff --git a/.gitignore b/.gitignore
index cf65316..588769b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,8 @@
 /trace/generated-tcg-tracers.h
 /ui/shader/texture-blit-frag.h
 /ui/shader/texture-blit-vert.h
+/ui/shader/texture-blit-flip-vert.h
+/ui/input-keymap-*.c
 *-timestamp
 /*-softmmu
 /*-darwin-user
@@ -44,14 +46,17 @@
 /qemu-io
 /qemu-ga
 /qemu-bridge-helper
+/qemu-keymap
 /qemu-monitor.texi
 /qemu-monitor-info.texi
 /qemu-version.h
 /qemu-version.h.tmp
 /module_block.h
+/scsi/qemu-pr-helper
 /vscclient
 /vhost-user-scsi
 /fsdev/virtfs-proxy-helper
+*.tmp
 *.[1-9]
 *.a
 *.aux
@@ -111,6 +116,7 @@
 /docs/version.texi
 *.tps
 .stgit-*
+.git-submodule-status
 cscope.*
 tags
 TAGS
diff --git a/.gitmodules b/.gitmodules
index 5b0c212..1500579 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,9 +22,6 @@
 [submodule "roms/sgabios"]
        path = roms/sgabios
        url = git://git.qemu-project.org/sgabios.git
-[submodule "pixman"]
-       path = pixman
-       url = git://anongit.freedesktop.org/pixman
 [submodule "dtc"]
        path = dtc
        url = git://git.qemu-project.org/dtc.git
@@ -37,3 +34,9 @@
 [submodule "roms/QemuMacDrivers"]
        path = roms/QemuMacDrivers
        url = git://git.qemu.org/QemuMacDrivers.git
+[submodule "ui/keycodemapdb"]
+       path = ui/keycodemapdb
+       url = git://git.qemu.org/keycodemapdb.git
+[submodule "capstone"]
+       path = capstone
+       url = git://git.qemu.org/capstone.git
diff --git a/.mailmap b/.mailmap
index 28defa1..ee81ac8 100644
--- a/.mailmap
+++ b/.mailmap
@@ -8,8 +8,11 @@ Aurelien Jarno <aurelien@xxxxxxxxxxx> aurel32 
<aurel32@c046a42c-6fe2-441c-8c8c-7
 Blue Swirl <blauwirbel@xxxxxxxxx> blueswir1 
<blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
 Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> edgar_igl 
<edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>
 Fabrice Bellard <fabrice@xxxxxxxxxxx> bellard 
<bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
+James Hogan <jhogan@xxxxxxxxxx> <james.hogan@xxxxxxxxxx>
 Jocelyn Mayer <l_indien@xxxxxxxx> j_mayer 
<j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>
 Paul Brook <paul@xxxxxxxxxxxxxxxx> pbrook 
<pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
+Paul Burton <paul.burton@xxxxxxxx> <paul.burton@xxxxxxxxxx>
+Paul Burton <paul.burton@xxxxxxxx> <paul@xxxxxxxxxxxxxxxxx>
 Thiemo Seufer <ths@xxxxxxxxxxxx> ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
 malc <av1474@xxxxxxxx> malc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
 # There is also a:
diff --git a/COPYING.PYTHON b/COPYING.PYTHON
new file mode 100644
index 0000000..4d3f1ef
--- /dev/null
+++ b/COPYING.PYTHON
@@ -0,0 +1,270 @@
+A. HISTORY OF THE SOFTWARE
+==========================
+
+Python was created in the early 1990s by Guido van Rossum at Stichting
+Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
+as a successor of a language called ABC.  Guido remains Python's
+principal author, although it includes many contributions from others.
+
+In 1995, Guido continued his work on Python at the Corporation for
+National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
+in Reston, Virginia where he released several versions of the
+software.
+
+In May 2000, Guido and the Python core development team moved to
+BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
+year, the PythonLabs team moved to Digital Creations (now Zope
+Corporation, see http://www.zope.com).  In 2001, the Python Software
+Foundation (PSF, see http://www.python.org/psf/) was formed, a
+non-profit organization created specifically to own Python-related
+Intellectual Property.  Zope Corporation is a sponsoring member of
+the PSF.
+
+All Python releases are Open Source (see http://www.opensource.org for
+the Open Source Definition).  Historically, most, but not all, Python
+releases have also been GPL-compatible; the table below summarizes
+the various releases.
+
+    Release         Derived     Year        Owner       GPL-
+                    from                                compatible? (1)
+
+    0.9.0 thru 1.2              1991-1995   CWI         yes
+    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
+    1.6             1.5.2       2000        CNRI        no
+    2.0             1.6         2000        BeOpen.com  no
+    1.6.1           1.6         2001        CNRI        yes (2)
+    2.1             2.0+1.6.1   2001        PSF         no
+    2.0.1           2.0+1.6.1   2001        PSF         yes
+    2.1.1           2.1+2.0.1   2001        PSF         yes
+    2.2             2.1.1       2001        PSF         yes
+    2.1.2           2.1.1       2002        PSF         yes
+    2.1.3           2.1.2       2002        PSF         yes
+    2.2.1           2.2         2002        PSF         yes
+    2.2.2           2.2.1       2002        PSF         yes
+    2.2.3           2.2.2       2003        PSF         yes
+    2.3             2.2.2       2002-2003   PSF         yes
+    2.3.1           2.3         2002-2003   PSF         yes
+    2.3.2           2.3.1       2002-2003   PSF         yes
+    2.3.3           2.3.2       2002-2003   PSF         yes
+    2.3.4           2.3.3       2004        PSF         yes
+    2.3.5           2.3.4       2005        PSF         yes
+    2.4             2.3         2004        PSF         yes
+    2.4.1           2.4         2005        PSF         yes
+    2.4.2           2.4.1       2005        PSF         yes
+    2.4.3           2.4.2       2006        PSF         yes
+    2.5             2.4         2006        PSF         yes
+    2.7             2.6         2010        PSF         yes
+
+Footnotes:
+
+(1) GPL-compatible doesn't mean that we're distributing Python under
+    the GPL.  All Python licenses, unlike the GPL, let you distribute
+    a modified version without making your changes open source.  The
+    GPL-compatible licenses make it possible to combine Python with
+    other software that is released under the GPL; the others don't.
+
+(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
+    because its license has a choice of law clause.  According to
+    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
+    is "not incompatible" with the GPL.
+
+Thanks to the many outside volunteers who have worked under Guido's
+direction to make these releases possible.
+
+
+B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
+===============================================================
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
+Reserved" are retained in Python alone or in any derivative version 
+prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee.  This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+-------------------------------------------
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions.  Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee.  This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party.  As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
+---------------------------------------
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee.  Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement.  This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013.  This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL: http://hdl.handle.net/1895.22/1013";.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee.  This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+        ACCEPT
+
+
+CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+--------------------------------------------------
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands.  All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/Changelog b/Changelog
index 1249b8a..4a90bb9 100644
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,6 @@
 This file documents changes for QEMU releases 0.12 and earlier.
 For changelog information for later releases, see
-http://wiki.qemu-project.org/ChangeLog or look at the git history for
+https://wiki.qemu.org/ChangeLog or look at the git history for
 more detailed information.
 
 
diff --git a/MAINTAINERS b/MAINTAINERS
index ccee28b..0255113 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -61,7 +61,7 @@ F: */
 
 Responsible Disclosure, Reporting Security Issues
 ------------------------------
-W: http://wiki.qemu.org/SecurityProcess
+W: https://wiki.qemu.org/SecurityProcess
 M: Michael S. Tsirkin <mst@xxxxxxxxxx>
 L: secalert@xxxxxxxxxx
 
@@ -86,7 +86,6 @@ M: Richard Henderson <rth@xxxxxxxxxxx>
 S: Maintained
 F: cpus.c
 F: exec.c
-F: softmmu_template.h
 F: accel/tcg/
 F: include/exec/cpu*.h
 F: include/exec/exec-all.h
@@ -163,7 +162,7 @@ F: disas/microblaze.c
 
 MIPS
 M: Aurelien Jarno <aurelien@xxxxxxxxxxx>
-M: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
+M: Yongbok Kim <yongbok.kim@xxxxxxxx>
 S: Maintained
 F: target/mips/
 F: hw/mips/
@@ -217,6 +216,7 @@ S: Maintained
 F: target/s390x/
 F: hw/s390x/
 F: disas/s390.c
+L: qemu-s390x@xxxxxxxxxx
 
 SH4
 M: Aurelien Jarno <aurelien@xxxxxxxxxxx>
@@ -250,6 +250,7 @@ S: Maintained
 F: target/i386/
 F: hw/i386/
 F: disas/i386.c
+T: git git://github.com/ehabkost/qemu.git x86-next
 
 Xtensa
 M: Max Filippov <jcmvbkbc@xxxxxxxxx>
@@ -284,7 +285,7 @@ S: Maintained
 F: target/arm/kvm.c
 
 MIPS
-M: James Hogan <james.hogan@xxxxxxxxxx>
+M: James Hogan <jhogan@xxxxxxxxxx>
 S: Maintained
 F: target/mips/kvm.c
 
@@ -299,14 +300,18 @@ M: Cornelia Huck <cohuck@xxxxxxxxxx>
 M: Alexander Graf <agraf@xxxxxxx>
 S: Maintained
 F: target/s390x/kvm.c
+F: target/s390x/kvm_s390x.h
+F: target/s390x/kvm-stub.c
 F: target/s390x/ioinst.[ch]
 F: target/s390x/machine.c
+F: target/s390x/sigp.c
 F: hw/intc/s390_flic.c
 F: hw/intc/s390_flic_kvm.c
 F: include/hw/s390x/s390_flic.h
 F: gdb-xml/s390*.xml
 T: git git://github.com/cohuck/qemu.git s390-next
 T: git git://github.com/borntraeger/qemu.git s390-next
+L: qemu-s390x@xxxxxxxxxx
 
 X86
 M: Paolo Bonzini <pbonzini@xxxxxxxxxx>
@@ -380,6 +385,7 @@ M: Peter Maydell <peter.maydell@xxxxxxxxxx>
 L: qemu-arm@xxxxxxxxxx
 S: Maintained
 F: hw/char/pl011.c
+F: include/hw/char/pl011.h
 F: hw/display/pl110*
 F: hw/dma/pl080.c
 F: hw/dma/pl330.c
@@ -403,13 +409,15 @@ F: hw/intc/gic_internal.h
 F: hw/misc/a9scu.c
 F: hw/misc/arm11scu.c
 F: hw/timer/a9gtimer*
-F: hw/timer/arm_*
-F: include/hw/arm/arm.h
+F: hw/timer/arm*
+F: include/hw/arm/arm*.h
 F: include/hw/intc/arm*
 F: include/hw/misc/a9scu.h
 F: include/hw/misc/arm11scu.h
 F: include/hw/timer/a9gtimer.h
 F: include/hw/timer/arm_mptimer.h
+F: include/hw/timer/armv7m_systick.h
+F: tests/test-arm-mptimer.c
 
 Exynos
 M: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
@@ -512,6 +520,7 @@ M: Peter Maydell <peter.maydell@xxxxxxxxxx>
 L: qemu-arm@xxxxxxxxxx
 S: Maintained
 F: hw/*/versatile*
+F: hw/misc/arm_sysctl.c
 
 Xilinx Zynq
 M: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
@@ -548,12 +557,30 @@ F: hw/char/stm32f2xx_usart.c
 F: hw/timer/stm32f2xx_timer.c
 F: hw/adc/*
 F: hw/ssi/stm32f2xx_spi.c
+F: include/hw/*/stm32*.h
 
 Netduino 2
 M: Alistair Francis <alistair@xxxxxxxxxxxxx>
 S: Maintained
 F: hw/arm/netduino2.c
 
+SmartFusion2
+M: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>
+S: Maintained
+F: hw/arm/msf2-soc.c
+F: hw/misc/msf2-sysreg.c
+F: hw/timer/mss-timer.c
+F: hw/ssi/mss-spi.c
+F: include/hw/arm/msf2-soc.h
+F: include/hw/misc/msf2-sysreg.h
+F: include/hw/timer/mss-timer.h
+F: include/hw/ssi/mss-spi.h
+
+Emcraft M2S-FG484
+M: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>
+S: Maintained
+F: hw/arm/msf2-som.c
+
 CRIS Machines
 -------------
 Axis Dev88
@@ -616,7 +643,7 @@ S: Maintained
 F: hw/mips/mips_malta.c
 
 Mipssim
-M: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
+M: Yongbok Kim <yongbok.kim@xxxxxxxx>
 S: Odd Fixes
 F: hw/mips/mips_mipssim.c
 F: hw/net/mipsnet.c
@@ -627,12 +654,12 @@ S: Maintained
 F: hw/mips/mips_r4k.c
 
 Fulong 2E
-M: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
+M: Yongbok Kim <yongbok.kim@xxxxxxxx>
 S: Odd Fixes
 F: hw/mips/mips_fulong2e.c
 
 Boston
-M: Paul Burton <paul.burton@xxxxxxxxxx>
+M: Paul Burton <paul.burton@xxxxxxxx>
 S: Maintained
 F: hw/core/loader-fit.c
 F: hw/mips/boston.c
@@ -771,7 +798,7 @@ F: pc-bios/openbios-sparc64
 Sun4v
 M: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
 S: Maintained
-F: hw/sparc64/sun4v.c
+F: hw/sparc64/niagara.c
 F: hw/timer/sun4v-rtc.c
 F: include/hw/timer/sun4v-rtc.h
 
@@ -790,6 +817,7 @@ M: Christian Borntraeger <borntraeger@xxxxxxxxxx>
 M: Alexander Graf <agraf@xxxxxxx>
 S: Supported
 F: hw/char/sclp*.[hc]
+F: hw/char/terminal3270.c
 F: hw/s390x/
 F: include/hw/s390x/
 F: pc-bios/s390-ccw/
@@ -799,6 +827,7 @@ F: pc-bios/s390-ccw.img
 F: default-configs/s390x-softmmu.mak
 T: git git://github.com/cohuck/qemu.git s390-next
 T: git git://github.com/borntraeger/qemu.git s390-next
+L: qemu-s390x@xxxxxxxxxx
 
 UniCore32 Machines
 -------------
@@ -858,6 +887,7 @@ S: Supported
 F: hw/core/machine.c
 F: hw/core/null-machine.c
 F: include/hw/boards.h
+T: git git://github.com/ehabkost/qemu.git machine-next
 
 Xtensa Machines
 ---------------
@@ -923,6 +953,9 @@ F: include/hw/pci/*
 F: hw/misc/pci-testdev.c
 F: hw/pci/*
 F: hw/pci-bridge/*
+F: docs/pci*
+F: docs/specs/*pci*
+F: default-configs/pci.mak
 
 ACPI/SMBIOS
 M: Michael S. Tsirkin <mst@xxxxxxxxxx>
@@ -973,16 +1006,15 @@ F: hw/scsi/*
 F: tests/virtio-scsi-test.c
 T: git git://github.com/bonzini/qemu.git scsi-next
 
-LSI53C895A
-S: Orphan
-F: hw/scsi/lsi53c895a.c
-
 SSI
 M: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>
+M: Alistair Francis <alistair.francis@xxxxxxxxxx>
 S: Maintained
 F: hw/ssi/*
 F: hw/block/m25p80.c
+F: include/hw/ssi/ssi.h
 X: hw/ssi/xilinx_*
+F: tests/m25p80-test.c
 
 Xilinx SPI
 M: Alistair Francis <alistair.francis@xxxxxxxxxx>
@@ -999,6 +1031,7 @@ F: docs/usb2.txt
 F: docs/usb-storage.txt
 F: include/hw/usb.h
 F: include/hw/usb/
+F: default-configs/usb.mak
 
 USB (serial adapter)
 M: Gerd Hoffmann <kraxel@xxxxxxxxxx>
@@ -1019,11 +1052,13 @@ 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
+L: qemu-s390x@xxxxxxxxxx
 
 vhost
 M: Michael S. Tsirkin <mst@xxxxxxxxxx>
 S: Supported
 F: hw/*/*vhost*
+F: docs/interop/vhost-user.txt
 
 virtio
 M: Michael S. Tsirkin <mst@xxxxxxxxxx>
@@ -1061,6 +1096,7 @@ S: Supported
 F: hw/s390x/virtio-ccw.[hc]
 T: git git://github.com/cohuck/qemu.git s390-next
 T: git git://github.com/borntraeger/qemu.git s390-next
+L: qemu-s390x@xxxxxxxxxx
 
 virtio-input
 M: Gerd Hoffmann <kraxel@xxxxxxxxxx>
@@ -1101,11 +1137,12 @@ F: hw/block/nvme*
 F: tests/nvme-test.c
 
 megasas
-M: Hannes Reinecke <hare@xxxxxxx>
+M: Hannes Reinecke <hare@xxxxxxxx>
 L: qemu-block@xxxxxxxxxx
 S: Supported
 F: hw/scsi/megasas.c
 F: hw/scsi/mfi.h
+F: tests/megasas-test.c
 
 Network packet abstractions
 M: Dmitry Fleytman <dmitry@xxxxxxxxxx>
@@ -1120,6 +1157,7 @@ M: Dmitry Fleytman <dmitry@xxxxxxxxxx>
 S: Maintained
 F: hw/net/vmxnet*
 F: hw/scsi/vmw_pvscsi*
+F: tests/vmxnet3-test.c
 
 Rocker
 M: Jiri Pirko <jiri@xxxxxxxxxxx>
@@ -1129,7 +1167,7 @@ F: tests/rocker/
 F: docs/specs/rocker.txt
 
 NVDIMM
-M: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
+M: Xiao Guangrong <xiaoguangrong.eric@xxxxxxxxx>
 S: Maintained
 F: hw/acpi/nvdimm.c
 F: hw/mem/nvdimm.c
@@ -1145,11 +1183,17 @@ M: Dmitry Fleytman <dmitry@xxxxxxxxxx>
 S: Maintained
 F: hw/net/e1000e*
 
+eepro100
+M: Stefan Weil <sw@xxxxxxxxxxx>
+S: Maintained
+F: hw/net/eepro100.c
+
 Generic Loader
 M: Alistair Francis <alistair.francis@xxxxxxxxxx>
 S: Maintained
 F: hw/core/generic-loader.c
 F: include/hw/core/generic-loader.h
+F: docs/generic-loader.txt
 
 CHRP NVRAM
 M: Thomas Huth <thuth@xxxxxxxxxx>
@@ -1211,8 +1255,16 @@ F: util/aio-*.c
 F: block/io.c
 F: migration/block*
 F: include/block/aio.h
+F: scripts/qemugdb/aio.py
 T: git git://github.com/stefanha/qemu.git block
 
+Block SCSI subsystem
+M: Paolo Bonzini <pbonzini@xxxxxxxxxx>
+L: qemu-block@xxxxxxxxxx
+S: Supported
+F: include/scsi/*
+F: scsi/*
+
 Block Jobs
 M: Jeff Cody <jcody@xxxxxxxxxx>
 L: qemu-block@xxxxxxxxxx
@@ -1231,6 +1283,7 @@ S: Supported
 F: blockdev.c
 F: block/qapi.c
 F: qapi/block*.json
+F: qapi/transaction.json
 T: git git://repo.or.cz/qemu/armbru.git block-next
 
 Dirty Bitmaps
@@ -1243,7 +1296,7 @@ F: block/dirty-bitmap.c
 F: include/qemu/hbitmap.h
 F: include/block/dirty-bitmap.h
 F: tests/test-hbitmap.c
-F: docs/bitmaps.md
+F: docs/interop/bitmaps.rst
 T: git git://github.com/famz/qemu.git bitmaps
 T: git git://github.com/jnsnow/qemu.git bitmaps
 
@@ -1253,6 +1306,7 @@ M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
 S: Maintained
 F: chardev/
 F: include/chardev/
+F: qapi/char.json
 
 Character Devices (Braille)
 M: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
@@ -1286,6 +1340,17 @@ S: Maintained
 F: device_tree.c
 F: include/sysemu/device_tree.h
 
+Dump
+S: Supported
+M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
+F: dump.c
+F: hw/misc/vmcoreinfo.c
+F: include/hw/misc/vmcoreinfo.h
+F: include/sysemu/dump-arch.h
+F: include/sysemu/dump.h
+F: scripts/dump-guest-memory.py
+F: stubs/dump.c
+
 Error reporting
 M: Markus Armbruster <armbru@xxxxxxxxxx>
 S: Supported
@@ -1319,12 +1384,14 @@ F: include/ui/spice-display.h
 F: ui/spice-*.c
 F: audio/spiceaudio.c
 F: hw/display/qxl*
+F: qapi/ui.json
 
 Graphics
 M: Gerd Hoffmann <kraxel@xxxxxxxxxx>
 S: Odd Fixes
 F: ui/
 F: include/ui/
+F: qapi/ui.json
 
 Cocoa graphics
 M: Peter Maydell <peter.maydell@xxxxxxxxxx>
@@ -1338,6 +1405,7 @@ F: cpus.c
 F: util/main-loop.c
 F: util/qemu-timer.c
 F: vl.c
+F: qapi/run-state.json
 
 Human Monitor (HMP)
 M: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
@@ -1354,6 +1422,7 @@ S: Maintained
 F: net/
 F: include/net/
 T: git git://github.com/jasowang/qemu.git net
+F: qapi/net.json
 
 Netmap network backend
 M: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
@@ -1368,7 +1437,7 @@ M: Eduardo Habkost <ehabkost@xxxxxxxxxx>
 S: Maintained
 F: numa.c
 F: include/sysemu/numa.h
-T: git git://github.com/ehabkost/qemu.git numa
+T: git git://github.com/ehabkost/qemu.git machine-next
 
 Host Memory Backends
 M: Eduardo Habkost <ehabkost@xxxxxxxxxx>
@@ -1376,6 +1445,7 @@ M: Igor Mammedov <imammedo@xxxxxxxxxx>
 S: Maintained
 F: backends/hostmem*.c
 F: include/sysemu/hostmem.h
+T: git git://github.com/ehabkost/qemu.git machine-next
 
 Cryptodev Backends
 M: Gonglei <arei.gonglei@xxxxxxxxxx>
@@ -1383,6 +1453,14 @@ S: Maintained
 F: include/sysemu/cryptodev*.h
 F: backends/cryptodev*.c
 
+Python scripts
+M: Eduardo Habkost <ehabkost@xxxxxxxxxx>
+M: Cleber Rosa <crosa@xxxxxxxxxx>
+S: Odd fixes
+F: scripts/qmp/*
+F: scripts/*.py
+F: tests/*.py
+
 QAPI
 M: Markus Armbruster <armbru@xxxxxxxxxx>
 M: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
@@ -1398,7 +1476,7 @@ F: tests/test-qapi-*.c
 F: tests/test-qmp-*.c
 F: tests/test-visitor-serialization.c
 F: scripts/qapi*
-F: docs/qapi*
+F: docs/devel/qapi*
 T: git git://repo.or.cz/qemu/armbru.git qapi-next
 
 QAPI Schema
@@ -1427,6 +1505,10 @@ QEMU Guest Agent
 M: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
 S: Maintained
 F: qga/
+F: qemu-ga.texi
+F: scripts/qemu-guest-agent/
+F: tests/test-qga.c
+F: docs/interop/qemu-ga-ref.texi
 T: git git://github.com/mdroth/qemu.git qga
 
 QOM
@@ -1446,7 +1528,7 @@ M: Markus Armbruster <armbru@xxxxxxxxxx>
 S: Supported
 F: qmp.c
 F: monitor.c
-F: docs/*qmp-*
+F: docs/devel/*qmp-*
 F: scripts/qmp/
 F: tests/qmp-test.c
 T: git git://repo.or.cz/qemu/armbru.git qapi-next
@@ -1477,9 +1559,20 @@ S: Maintained
 F: trace/
 F: scripts/tracetool.py
 F: scripts/tracetool/
-F: docs/tracing.txt
+F: docs/devel/tracing.txt
 T: git git://github.com/stefanha/qemu.git tracing
 
+TPM
+M: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
+S: Maintained
+F: tpm.c
+F: stubs/tpm.c
+F: hw/tpm/*
+F: include/hw/acpi/tpm.h
+F: include/sysemu/tpm*
+F: qapi/tpm.json
+F: backends/tpm.c
+
 Checkpatch
 S: Odd Fixes
 F: scripts/checkpatch.pl
@@ -1492,7 +1585,9 @@ F: include/migration/
 F: migration/
 F: scripts/vmstate-static-checker.py
 F: tests/vmstate-static-checker-data/
-F: docs/migration.txt
+F: tests/migration-test.c
+F: docs/devel/migration.txt
+F: qapi/migration.json
 
 Seccomp
 M: Eduardo Otubo <otubo@xxxxxxxxxx>
@@ -1506,6 +1601,7 @@ S: Maintained
 F: crypto/
 F: include/crypto/
 F: tests/test-crypto-*
+F: tests/benchmark-crypto-*
 F: qemu.sasl
 
 Coroutines
@@ -1535,14 +1631,17 @@ M: Paolo Bonzini <pbonzini@xxxxxxxxxx>
 S: Maintained
 F: include/qemu/sockets.h
 F: util/qemu-sockets.c
+F: qapi/sockets.json
 
 Throttling infrastructure
 M: Alberto Garcia <berto@xxxxxxxxxx>
 S: Supported
 F: block/throttle-groups.c
 F: include/block/throttle-groups.h
-F: include/qemu/throttle.h
+F: include/qemu/throttle*.h
 F: util/throttle.c
+F: docs/throttle.txt
+F: tests/test-throttle.c
 L: qemu-block@xxxxxxxxxx
 
 UUID
@@ -1561,7 +1660,7 @@ F: include/migration/failover.h
 F: docs/COLO-FT.txt
 
 COLO Proxy
-M: Zhang Chen <zhangchen.fnst@xxxxxxxxxxxxxx>
+M: Zhang Chen <zhangckid@xxxxxxxxx>
 M: Li Zhijian <lizhijian@xxxxxxxxxxxxxx>
 S: Supported
 F: docs/colo-proxy.txt
@@ -1572,7 +1671,7 @@ F: net/filter-mirror.c
 Record/replay
 M: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx>
 R: Paolo Bonzini <pbonzini@xxxxxxxxxx>
-W: http://wiki.qemu.org/Features/record-replay
+W: https://wiki.qemu.org/Features/record-replay
 S: Supported
 F: replay/*
 F: block/blkreplay.c
@@ -1587,8 +1686,7 @@ Overall
 M: Riku Voipio <riku.voipio@xxxxxx>
 S: Maintained
 F: thunk.c
-F: user-exec.c
-F: user-exec-stub.c
+F: accel/tcg/user-exec*.c
 
 BSD user
 S: Orphan
@@ -1631,12 +1729,6 @@ S: Maintained
 F: tcg/i386/
 F: disas/i386.c
 
-IA64 target
-M: Aurelien Jarno <aurelien@xxxxxxxxxxx>
-S: Maintained
-F: tcg/ia64/
-F: disas/ia64.c
-
 MIPS target
 M: Aurelien Jarno <aurelien@xxxxxxxxxxx>
 S: Maintained
@@ -1655,6 +1747,7 @@ M: Richard Henderson <rth@xxxxxxxxxxx>
 S: Maintained
 F: tcg/s390/
 F: disas/s390.c
+L: qemu-s390x@xxxxxxxxxx
 
 SPARC target
 S: Odd Fixes
@@ -1805,7 +1898,7 @@ M: Denis V. Lunev <den@xxxxxxxxxx>
 L: qemu-block@xxxxxxxxxx
 S: Supported
 F: block/parallels.c
-F: docs/specs/parallels.txt
+F: docs/interop/parallels.txt
 
 qed
 M: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
@@ -1830,6 +1923,7 @@ M: Max Reitz <mreitz@xxxxxxxxxx>
 L: qemu-block@xxxxxxxxxx
 S: Supported
 F: block/qcow2*
+F: docs/interop/qcow2.txt
 
 qcow
 M: Kevin Wolf <kwolf@xxxxxxxxxx>
@@ -1873,6 +1967,7 @@ F: docs/block-replication.txt
 
 Build and test automation
 -------------------------
+Build and test automation
 M: Alex Bennée <alex.bennee@xxxxxxxxxx>
 M: Fam Zheng <famz@xxxxxxxxxx>
 R: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx>
@@ -1881,6 +1976,7 @@ S: Maintained
 F: .travis.yml
 F: .shippable.yml
 F: tests/docker/
+F: tests/vm/
 W: https://travis-ci.org/qemu/qemu
 W: https://app.shippable.com/github/qemu/qemu
 W: http://patchew.org/QEMU/
@@ -1890,5 +1986,11 @@ Documentation
 Build system architecture
 M: Daniel P. Berrange <berrange@xxxxxxxxxx>
 S: Odd Fixes
-F: docs/build-system.txt
+F: docs/devel/build-system.txt
 
+Build System
+------------
+GIT submodules
+M: Daniel P. Berrange <berrange@xxxxxxxxxx>
+S: Odd Fixes
+F: scripts/git-submodule.sh
diff --git a/Makefile b/Makefile
index 81447b1..ab0354c 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR)
 # Before including a proper config-host.mak, assume we are in the source tree
 SRC_PATH=.
 
-UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-%
+UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help
 
 # All following code might depend on configuration variables
 ifneq ($(wildcard config-host.mak),)
@@ -14,6 +14,36 @@ ifneq ($(wildcard config-host.mak),)
 all:
 include config-host.mak
 
+git-submodule-update:
+
+.PHONY: git-submodule-update
+
+git_module_status := $(shell \
+  cd '$(SRC_PATH)' && \
+  GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \
+  echo $$?; \
+)
+
+ifeq (1,$(git_module_status))
+ifeq (no,$(GIT_UPDATE))
+git-submodule-update:
+       $(call quiet-command, \
+            echo && \
+            echo "GIT submodule checkout is out of date. Please run" && \
+            echo "  scripts/git-submodule.sh update $(GIT_SUBMODULES)" && \
+            echo "from the source directory checkout $(SRC_PATH)" && \
+            echo && \
+            exit 1)
+else
+git-submodule-update:
+       $(call quiet-command, \
+          (cd $(SRC_PATH) && GIT="$(GIT)" ./scripts/git-submodule.sh update 
$(GIT_SUBMODULES)), \
+          "GIT","$(GIT_SUBMODULES)")
+endif
+endif
+
+.git-submodule-status: git-submodule-update config-host.mak
+
 # Check that we're not trying to do an out-of-tree build from
 # a tree that's been used for an in-tree build.
 ifneq ($(realpath $(SRC_PATH)),$(realpath .))
@@ -84,6 +114,7 @@ endif
 GENERATED_FILES += $(TRACE_HEADERS)
 GENERATED_FILES += $(TRACE_SOURCES)
 GENERATED_FILES += $(BUILD_DIR)/trace-events-all
+GENERATED_FILES += .git-submodule-status
 
 trace-group-name = $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g')
 
@@ -191,13 +222,38 @@ trace-dtrace-root.h: trace-dtrace-root.dtrace
 
 trace-dtrace-root.o: trace-dtrace-root.dtrace
 
+KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen
+KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv
+
+KEYCODEMAP_FILES = \
+                ui/input-keymap-linux-to-qcode.c \
+                ui/input-keymap-qcode-to-qnum.c \
+                ui/input-keymap-qnum-to-qcode.c \
+                $(NULL)
+
+GENERATED_FILES += $(KEYCODEMAP_FILES)
+
+ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) 
$(SRC_PATH)/ui/Makefile.objs
+       $(call quiet-command,\
+           src=$$(echo $@ | sed -E -e 
"s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\1,") && \
+           dst=$$(echo $@ | sed -E -e 
"s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\2,") && \
+           test -e $(KEYCODEMAP_GEN) && \
+           $(PYTHON) $(KEYCODEMAP_GEN) \
+                 --lang glib2 \
+                 --varname qemu_input_map_$${src}_to_$${dst} \
+                 code-map $(KEYCODEMAP_CSV) $${src} $${dst} \
+               > $@ || rm -f $@, "GEN", "$@")
+
+$(KEYCODEMAP_GEN): .git-submodule-status
+$(KEYCODEMAP_CSV): .git-submodule-status
+
 # Don't try to regenerate Makefile or configure
 # We don't generate any of them
 Makefile: ;
 configure: ;
 
 .PHONY: all clean cscope distclean html info install install-doc \
-       pdf txt recurse-all speed test dist msi FORCE
+       pdf txt recurse-all dist msi FORCE
 
 $(call set-vpath, $(SRC_PATH))
 
@@ -209,6 +265,7 @@ ifdef BUILD_DOCS
 DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
 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
+DOCS+=docs/qemu-block-drivers.7
 ifdef CONFIG_VIRTFS
 DOCS+=fsdev/virtfs-proxy-helper.1
 endif
@@ -325,26 +382,32 @@ $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
 subdir-%:
        $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" 
TARGET_DIR="$*/" all,)
 
-subdir-pixman: pixman/Makefile
-       $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" 
all,)
-
-pixman/Makefile: $(SRC_PATH)/pixman/configure
-       (cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" 
$(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared 
--enable-static)
-
-$(SRC_PATH)/pixman/configure:
-       (cd $(SRC_PATH)/pixman; autoreconf -v --install)
-
 DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" 
LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt
 DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS)
 DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt
 
-subdir-dtc:dtc/libfdt dtc/tests
+subdir-dtc: .git-submodule-status dtc/libfdt dtc/tests
        $(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) 
CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(LDFLAGS)" 
ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) 
libfdt/libfdt.a,)
 
-dtc/%:
+dtc/%: .git-submodule-status
        mkdir -p $@
 
-$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \
+# Overriding CFLAGS causes us to lose defines added in the sub-makefile.
+# Not overriding CFLAGS leads to mis-matches between compilation modes.
+# Therefore we replicate some of the logic in the sub-makefile.
+# Remove all the extra -Warning flags that QEMU uses that Capstone doesn't;
+# no need to annoy QEMU developers with such things.
+CAP_CFLAGS = $(patsubst -W%,,$(CFLAGS) $(QEMU_CFLAGS))
+CAP_CFLAGS += -DCAPSTONE_USE_SYS_DYN_MEM
+CAP_CFLAGS += -DCAPSTONE_HAS_ARM
+CAP_CFLAGS += -DCAPSTONE_HAS_ARM64
+CAP_CFLAGS += -DCAPSTONE_HAS_POWERPC
+CAP_CFLAGS += -DCAPSTONE_HAS_X86
+
+subdir-capstone: .git-submodule-status
+       $(call quiet-command,$(MAKE) -C $(SRC_PATH)/capstone CAPSTONE_SHARED=no 
BUILDDIR="$(BUILD_DIR)/capstone" CC="$(CC)" AR="$(AR)" LD="$(LD)" 
RANLIB="$(RANLIB)" CFLAGS="$(CAP_CFLAGS)" $(SUBDIR_MAKEFLAGS) 
$(BUILD_DIR)/capstone/$(LIBCAPSTONE))
+
+$(SUBDIR_RULES): libqemuutil.a $(common-obj-y) $(chardev-obj-y) \
        $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY))
 
 ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
@@ -364,12 +427,12 @@ Makefile: $(version-obj-y)
 ######################################################################
 # Build libraries
 
-libqemustub.a: $(stub-obj-y)
-libqemuutil.a: $(util-obj-y) $(trace-obj-y)
+libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y)
+libvhost-user.a: $(libvhost-user-obj-y)
 
 ######################################################################
 
-COMMON_LDADDS = libqemuutil.a libqemustub.a
+COMMON_LDADDS = libqemuutil.a
 
 qemu-img.o: qemu-img-cmds.h
 
@@ -379,15 +442,25 @@ qemu-io$(EXESUF): qemu-io.o $(block-obj-y) 
$(crypto-obj-y) $(io-obj-y) $(qom-obj
 
 qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o $(COMMON_LDADDS)
 
+qemu-keymap$(EXESUF): qemu-keymap.o ui/input-keymap.o $(COMMON_LDADDS)
+
 fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o 
fsdev/9p-marshal.o fsdev/9p-iov-marshal.o $(COMMON_LDADDS)
 fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
 
+scsi/qemu-pr-helper$(EXESUF): scsi/qemu-pr-helper.o scsi/utils.o 
$(crypto-obj-y) $(io-obj-y) $(qom-obj-y) $(COMMON_LDADDS)
+ifdef CONFIG_MPATH
+scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmultipath -lmpathpersist
+endif
+
 qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
        $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > 
$@,"GEN","$@")
 
 qemu-ga$(EXESUF): LIBS = $(LIBS_QGA)
 qemu-ga$(EXESUF): QEMU_CFLAGS += -I qga/qapi-generated
 
+qemu-keymap$(EXESUF): LIBS += $(XKBCOMMON_LIBS)
+qemu-keymap$(EXESUF): QEMU_CFLAGS += $(XKBCOMMON_CFLAGS)
+
 gen-out-type = $(subst .,-,$(suffix $@))
 
 qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py
@@ -410,9 +483,18 @@ $(SRC_PATH)/qga/qapi-schema.json 
$(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
 
 qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
                $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
-               $(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \
-               $(SRC_PATH)/qapi/crypto.json $(SRC_PATH)/qapi/rocker.json \
-               $(SRC_PATH)/qapi/trace.json
+               $(SRC_PATH)/qapi/char.json \
+               $(SRC_PATH)/qapi/crypto.json \
+               $(SRC_PATH)/qapi/introspect.json \
+               $(SRC_PATH)/qapi/migration.json \
+               $(SRC_PATH)/qapi/net.json \
+               $(SRC_PATH)/qapi/rocker.json \
+               $(SRC_PATH)/qapi/run-state.json \
+               $(SRC_PATH)/qapi/sockets.json \
+               $(SRC_PATH)/qapi/tpm.json \
+               $(SRC_PATH)/qapi/trace.json \
+               $(SRC_PATH)/qapi/transaction.json \
+               $(SRC_PATH)/qapi/ui.json
 
 qapi-types.c qapi-types.h :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
@@ -474,7 +556,7 @@ ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) 
$(COMMON_LDADDS)
 ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
        $(call LINK, $^)
 endif
-vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y)
+vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a
        $(call LINK, $^)
 
 module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
@@ -489,7 +571,7 @@ clean:
        rm -f *.msi
        find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name 
'*.[oda]' \) -type f -exec rm {} +
        rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* 
*.pod *~ */*~
-       rm -f fsdev/*.pod
+       rm -f fsdev/*.pod scsi/*.pod
        rm -f qemu-img-cmds.h
        rm -f ui/shader/*-vert.h ui/shader/*-frag.h
        @# May not be present in GENERATED_FILES
@@ -528,11 +610,11 @@ distclean: clean
        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
+       rm -f docs/qemu-block-drivers.7
        for d in $(TARGET_DIRS); do \
        rm -rf $$d || exit 1 ; \
         done
        rm -Rf .sdk
-       if test -f pixman/config.log; then $(MAKE) -C pixman distclean; fi
        if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
 
 KEYMAPS=da     en-gb  et  fr     fr-ch  is  lt  modifiers  no  pt-br  sv \
@@ -573,6 +655,7 @@ ifdef CONFIG_POSIX
        $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
        $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man7"
        $(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7"
+       $(INSTALL_DATA) docs/qemu-block-drivers.7 "$(DESTDIR)$(mandir)/man7"
 ifneq ($(TOOLS),)
        $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1"
        $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8"
@@ -633,10 +716,6 @@ endif
        $(MAKE) $(SUBDIR_MAKEFLAGS) TARGET_DIR=$$d/ -C $$d $@ || exit 1 ; \
         done
 
-# various test targets
-test speed: all
-       $(MAKE) -C tests/tcg $@
-
 .PHONY: ctags
 ctags:
        rm -f tags
@@ -665,8 +744,10 @@ ui/shader/%-frag.h: $(SRC_PATH)/ui/shader/%.frag 
$(SRC_PATH)/scripts/shaderinclu
                perl $(SRC_PATH)/scripts/shaderinclude.pl $< > $@,\
                "FRAG","$@")
 
-ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \
-       ui/shader/texture-blit-vert.h ui/shader/texture-blit-frag.h
+ui/shader.o: $(SRC_PATH)/ui/shader.c \
+       ui/shader/texture-blit-vert.h \
+       ui/shader/texture-blit-flip-vert.h \
+       ui/shader/texture-blit-frag.h
 
 # documentation
 MAKEINFO=makeinfo
@@ -718,6 +799,7 @@ qemu-img.1: qemu-img.texi qemu-option-trace.texi 
qemu-img-cmds.texi
 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
+docs/qemu-block-drivers.7: docs/qemu-block-drivers.texi
 
 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
@@ -727,7 +809,7 @@ 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
+       qemu-monitor-info.texi docs/qemu-block-drivers.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 \
@@ -813,6 +895,7 @@ endif
 -include $(wildcard *.d tests/*.d)
 
 include $(SRC_PATH)/tests/docker/Makefile.include
+include $(SRC_PATH)/tests/vm/Makefile.include
 
 .PHONY: help
 help:
@@ -836,6 +919,7 @@ help:
        @echo  'Test targets:'
        @echo  '  check           - Run all tests (check-help for details)'
        @echo  '  docker          - Help about targets running tests inside 
Docker containers'
+       @echo  '  vm-test         - Help about targets running tests inside VM'
        @echo  ''
        @echo  'Documentation targets:'
        @echo  '  html info pdf txt'
diff --git a/Makefile.objs b/Makefile.objs
index 24a4ea0..285c6f3 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -11,7 +11,7 @@ chardev-obj-y = chardev/
 
 block-obj-y += nbd/
 block-obj-y += block.o blockjob.o
-block-obj-y += block/
+block-obj-y += block/ scsi/
 block-obj-y += qemu-io-cmds.o
 block-obj-$(CONFIG_REPLICATION) += replication.o
 
@@ -62,7 +62,7 @@ bt-host.o-cflags := $(BLUEZ_CFLAGS)
 common-obj-y += dma-helpers.o
 common-obj-y += vl.o
 vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
-common-obj-y += tpm.o
+common-obj-$(CONFIG_TPM) += tpm.o
 
 common-obj-$(CONFIG_SLIRP) += slirp/
 
@@ -70,6 +70,8 @@ common-obj-y += backends/
 common-obj-y += chardev/
 
 common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
+qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
+qemu-seccomp.o-libs := $(SECCOMP_LIBS)
 
 common-obj-$(CONFIG_FDT) += device_tree.o
 
@@ -113,7 +115,6 @@ 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 =
@@ -153,6 +154,7 @@ trace-events-subdirs += hw/acpi
 trace-events-subdirs += hw/arm
 trace-events-subdirs += hw/alpha
 trace-events-subdirs += hw/xen
+trace-events-subdirs += hw/ide
 trace-events-subdirs += ui
 trace-events-subdirs += audio
 trace-events-subdirs += net
@@ -168,6 +170,7 @@ trace-events-subdirs += qapi
 trace-events-subdirs += accel/tcg
 trace-events-subdirs += accel/kvm
 trace-events-subdirs += nbd
+trace-events-subdirs += scsi
 
 trace-events-files = $(SRC_PATH)/trace-events 
$(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
 
diff --git a/Makefile.target b/Makefile.target
index 7f42c45..f9a9da7 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -22,7 +22,7 @@ QEMU_PROG_BUILD = $(QEMU_PROG)
 else
 # system emulator name
 QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
-ifneq (,$(findstring -mwindows,$(libs_softmmu)))
+ifneq (,$(findstring -mwindows,$(SDL_LIBS)))
 # Terminate program name with a 'w' because the linker builds a windows 
executable.
 QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF)
 $(QEMU_PROG): $(QEMU_PROGW)
@@ -94,20 +94,13 @@ all: $(PROGS) stap
 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) += tcg/tcg-common.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-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o
-obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
-
-obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decContext.o
-obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decNumber.o
-obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal32.o
-obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal64.o
-obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal128.o
 
 #########################################################
 # Linux user emulator target
@@ -119,7 +112,7 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
              -I$(SRC_PATH)/linux-user
 
 obj-y += linux-user/
-obj-y += gdbstub.o thunk.o user-exec.o user-exec-stub.o
+obj-y += gdbstub.o thunk.o
 
 endif #CONFIG_LINUX_USER
 
@@ -132,7 +125,7 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user 
-I$(SRC_PATH)/bsd-user/$(TARGET_ABI_DIR) \
                         -I$(SRC_PATH)/bsd-user/$(HOST_VARIANT_DIR)
 
 obj-y += bsd-user/
-obj-y += gdbstub.o user-exec.o user-exec-stub.o
+obj-y += gdbstub.o
 
 endif #CONFIG_BSD_USER
 
@@ -193,7 +186,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
 
 $(QEMU_PROG_BUILD): config-devices.mak
 
-COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a
+COMMON_LDADDS = ../libqemuutil.a
 
 # build either PROG or PROGW
 $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)
diff --git a/README b/README
index cb60d05..b92a07a 100644
--- a/README
+++ b/README
@@ -44,9 +44,9 @@ of other UNIX targets. The simple steps to build QEMU are:
 
 Additional information can also be found online via the QEMU website:
 
-  http://qemu-project.org/Hosts/Linux
-  http://qemu-project.org/Hosts/Mac
-  http://qemu-project.org/Hosts/W32
+  https://qemu.org/Hosts/Linux
+  https://qemu.org/Hosts/Mac
+  https://qemu.org/Hosts/W32
 
 
 Submitting patches
@@ -54,7 +54,7 @@ Submitting patches
 
 The QEMU source code is maintained under the GIT version control system.
 
-   git clone git://git.qemu-project.org/qemu.git
+   git clone git://git.qemu.org/qemu.git
 
 When submitting patches, the preferred approach is to use 'git
 format-patch' and/or 'git send-email' to format & send the mail to the
@@ -65,8 +65,8 @@ guidelines set out in the HACKING and CODING_STYLE files.
 Additional information on submitting patches can be found online via
 the QEMU website
 
-  http://qemu-project.org/Contribute/SubmitAPatch
-  http://qemu-project.org/Contribute/TrivialPatches
+  https://qemu.org/Contribute/SubmitAPatch
+  https://qemu.org/Contribute/TrivialPatches
 
 
 Bug reporting
@@ -85,7 +85,7 @@ reported via launchpad.
 
 For additional information on bug reporting consult:
 
-  http://qemu-project.org/Contribute/ReportABug
+  https://qemu.org/Contribute/ReportABug
 
 
 Contact
@@ -95,12 +95,12 @@ The QEMU community can be contacted in a number of ways, 
with the two
 main methods being email and IRC
 
  - qemu-devel@xxxxxxxxxx
-   http://lists.nongnu.org/mailman/listinfo/qemu-devel
+   https://lists.nongnu.org/mailman/listinfo/qemu-devel
  - #qemu on irc.oftc.net
 
 Information on additional methods of contacting the community can be
 found online via the QEMU website:
 
-  http://qemu-project.org/Contribute/StartHere
+  https://qemu.org/Contribute/StartHere
 
 -- End
diff --git a/VERSION b/VERSION
index 8bbb6e4..46b81d8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.10.1
+2.11.0
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 46ce479..f290f48 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -79,7 +79,6 @@ struct KVMState
     int coalesced_mmio;
     struct kvm_coalesced_mmio_ring *coalesced_mmio_ring;
     bool coalesced_flush_in_progress;
-    int broken_set_mem_region;
     int vcpu_events;
     int robust_singlestep;
     int debugregs;
@@ -88,6 +87,7 @@ struct KVMState
 #endif
     int many_ioeventfds;
     int intx_set_mask;
+    bool sync_mmu;
     /* The man page (and posix) say ioctl numbers are signed int, but
      * they're not.  Linux, glibc and *BSD all treat ioctl numbers as
      * unsigned, and treating them as signed here can break things */
@@ -127,6 +127,7 @@ static bool kvm_immediate_exit;
 static const KVMCapabilityInfo kvm_required_capabilites[] = {
     KVM_CAP_INFO(USER_MEMORY),
     KVM_CAP_INFO(DESTROY_MEMORY_REGION_WORKS),
+    KVM_CAP_INFO(JOIN_MEMORY_REGIONS_WORKS),
     KVM_CAP_LAST_INFO
 };
 
@@ -172,7 +173,7 @@ static KVMSlot *kvm_alloc_slot(KVMMemoryListener *kml)
 
 static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml,
                                          hwaddr start_addr,
-                                         hwaddr end_addr)
+                                         hwaddr size)
 {
     KVMState *s = kvm_state;
     int i;
@@ -180,8 +181,7 @@ static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener 
*kml,
     for (i = 0; i < s->nr_slots; i++) {
         KVMSlot *mem = &kml->slots[i];
 
-        if (start_addr == mem->start_addr &&
-            end_addr == mem->start_addr + mem->memory_size) {
+        if (start_addr == mem->start_addr && size == mem->memory_size) {
             return mem;
         }
     }
@@ -190,31 +190,27 @@ static KVMSlot 
*kvm_lookup_matching_slot(KVMMemoryListener *kml,
 }
 
 /*
- * Find overlapping slot with lowest start address
+ * Calculate and align the start address and the size of the section.
+ * Return the size. If the size is 0, the aligned section is empty.
  */
-static KVMSlot *kvm_lookup_overlapping_slot(KVMMemoryListener *kml,
-                                            hwaddr start_addr,
-                                            hwaddr end_addr)
+static hwaddr kvm_align_section(MemoryRegionSection *section,
+                                hwaddr *start)
 {
-    KVMState *s = kvm_state;
-    KVMSlot *found = NULL;
-    int i;
-
-    for (i = 0; i < s->nr_slots; i++) {
-        KVMSlot *mem = &kml->slots[i];
-
-        if (mem->memory_size == 0 ||
-            (found && found->start_addr < mem->start_addr)) {
-            continue;
-        }
+    hwaddr size = int128_get64(section->size);
+    hwaddr delta, aligned;
 
-        if (end_addr > mem->start_addr &&
-            start_addr < mem->start_addr + mem->memory_size) {
-            found = mem;
-        }
+    /* kvm works in page size chunks, but the function may be called
+       with sub-page size and unaligned start address. Pad the start
+       address to next and truncate size to previous page boundary. */
+    aligned = ROUND_UP(section->offset_within_address_space,
+                       qemu_real_host_page_size);
+    delta = aligned - section->offset_within_address_space;
+    *start = aligned;
+    if (delta > size) {
+        return 0;
     }
 
-    return found;
+    return (size - delta) & qemu_real_host_page_mask;
 }
 
 int kvm_physical_memory_addr_from_host(KVMState *s, void *ram,
@@ -382,15 +378,21 @@ static int kvm_slot_update_flags(KVMMemoryListener *kml, 
KVMSlot *mem,
 static int kvm_section_update_flags(KVMMemoryListener *kml,
                                     MemoryRegionSection *section)
 {
-    hwaddr phys_addr = section->offset_within_address_space;
-    ram_addr_t size = int128_get64(section->size);
-    KVMSlot *mem = kvm_lookup_matching_slot(kml, phys_addr, phys_addr + size);
+    hwaddr start_addr, size;
+    KVMSlot *mem;
 
-    if (mem == NULL)  {
+    size = kvm_align_section(section, &start_addr);
+    if (!size) {
         return 0;
-    } else {
-        return kvm_slot_update_flags(kml, mem, section->mr);
     }
+
+    mem = kvm_lookup_matching_slot(kml, start_addr, size);
+    if (!mem) {
+        /* We don't have a slot if we want to trap every access. */
+        return 0;
+    }
+
+    return kvm_slot_update_flags(kml, mem, section->mr);
 }
 
 static void kvm_log_start(MemoryListener *listener,
@@ -454,18 +456,16 @@ static int 
kvm_physical_sync_dirty_bitmap(KVMMemoryListener *kml,
                                           MemoryRegionSection *section)
 {
     KVMState *s = kvm_state;
-    unsigned long size, allocated_size = 0;
     struct kvm_dirty_log d = {};
     KVMSlot *mem;
-    int ret = 0;
-    hwaddr start_addr = section->offset_within_address_space;
-    hwaddr end_addr = start_addr + int128_get64(section->size);
+    hwaddr start_addr, size;
 
-    d.dirty_bitmap = NULL;
-    while (start_addr < end_addr) {
-        mem = kvm_lookup_overlapping_slot(kml, start_addr, end_addr);
-        if (mem == NULL) {
-            break;
+    size = kvm_align_section(section, &start_addr);
+    if (size) {
+        mem = kvm_lookup_matching_slot(kml, start_addr, size);
+        if (!mem) {
+            /* We don't have a slot if we want to trap every access. */
+            return 0;
         }
 
         /* XXX bad kernel interface alert

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.