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

[qemu-xen master] Merge remote-tracking branch 'remotes/xtensa/tags/20200625-xtensa' into staging



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

commit 5acc270a355120ce967ca1f1eeca0abbdb9303c8
Merge: 63d211993b73ca9ac2bc618afeb61a698e9f5198 
8a3a81478dcc592518069125a6ad271fe5511b95
Author:     Peter Maydell <peter.maydell@xxxxxxxxxx>
AuthorDate: Thu Jun 25 21:20:44 2020 +0100
Commit:     Peter Maydell <peter.maydell@xxxxxxxxxx>
CommitDate: Thu Jun 25 21:20:45 2020 +0100

    Merge remote-tracking branch 'remotes/xtensa/tags/20200625-xtensa' into 
staging
    
    target/xtensa fixes for 5.1:
    
    - fix access to special registers missing in the core configuration;
    - fix simcall opcode behavior for new hardware;
    - drop gen_io_end call from xtensa translator.
    
    # gpg: Signature made Thu 25 Jun 2020 09:08:58 BST
    # gpg:                using RSA key 2B67854B98E5327DCDEB17D851F9CC91F83FA044
    # gpg:                issuer "jcmvbkbc@xxxxxxxxx"
    # gpg: Good signature from "Max Filippov <filippov@xxxxxxxxxxx>" [unknown]
    # gpg:                 aka "Max Filippov <max.filippov@xxxxxxxxxxxxxxxxxx>" 
[full]
    # gpg:                 aka "Max Filippov <jcmvbkbc@xxxxxxxxx>" [full]
    # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F 
A044
    
    * remotes/xtensa/tags/20200625-xtensa:
      target/xtensa: drop gen_io_end call
      target/xtensa: fix simcall for newer hardware
      target/xtensa: fetch HW version from configuration overlay
      target/xtensa: work around missing SR definitions
    
    Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
 .cirrus.yml                                        |   12 +-
 .gitignore                                         |   17 +-
 .gitlab-ci-edk2.yml                                |   49 -
 .gitlab-ci-opensbi.yml                             |   63 -
 .gitlab-ci.d/edk2.yml                              |   49 +
 .gitlab-ci.d/opensbi.yml                           |   63 +
 .gitlab-ci.yml                                     |   67 +-
 .mailmap                                           |    6 +-
 .travis.yml                                        |   65 +-
 MAINTAINERS                                        |  165 +-
 Makefile                                           |   35 +-
 Makefile.objs                                      |    5 +-
 accel/Makefile.objs                                |    1 +
 accel/kvm/kvm-all.c                                |  139 +-
 accel/kvm/trace-events                             |    1 +
 accel/stubs/Makefile.objs                          |    1 +
 accel/stubs/xen-stub.c                             |   53 +
 accel/tcg/cputlb.c                                 |  408 +-
 accel/tcg/tcg-all.c                                |    7 +-
 accel/tcg/tcg-runtime-gvec.c                       |  144 +
 accel/tcg/tcg-runtime.h                            |   15 +
 accel/tcg/trace-events                             |    8 +-
 accel/tcg/translate-all.c                          |   71 +-
 accel/tcg/user-exec.c                              |  299 +-
 accel/xen/Makefile.objs                            |    1 +
 accel/xen/xen-all.c                                |  227 +
 arch_init.c                                        |    1 -
 audio/Makefile.objs                                |    5 +
 audio/audio.c                                      |    5 +-
 audio/audio.h                                      |    4 +-
 audio/audio_template.h                             |    2 +
 audio/jackaudio.c                                  |  670 +++
 audio/mixeng.c                                     |    9 +-
 audio/wavcapture.c                                 |    2 +-
 authz/list.c                                       |    5 +-
 authz/listfile.c                                   |    6 +-
 authz/pamacct.c                                    |    3 +-
 authz/simple.c                                     |    3 +-
 backends/Kconfig                                   |    1 +
 backends/Makefile.objs                             |    2 +-
 backends/cryptodev-vhost-user.c                    |    3 +-
 backends/cryptodev.c                               |    2 +-
 backends/dbus-vmstate.c                            |    6 +-
 backends/hostmem-file.c                            |   11 +-
 backends/hostmem-memfd.c                           |   17 +-
 backends/hostmem.c                                 |   41 +-
 backends/rng-egd.c                                 |    3 +-
 backends/rng-random.c                              |    3 +-
 backends/rng.c                                     |    3 +-
 backends/tpm.c                                     |  208 -
 backends/tpm/Kconfig                               |   14 +
 backends/tpm/Makefile.objs                         |    4 +
 backends/tpm/tpm_backend.c                         |  208 +
 backends/tpm/tpm_emulator.c                        |  997 ++++
 backends/tpm/tpm_int.h                             |   88 +
 backends/tpm/tpm_ioctl.h                           |  271 ++
 backends/tpm/tpm_passthrough.c                     |  405 ++
 backends/tpm/tpm_util.c                            |  380 ++
 backends/tpm/trace-events                          |   33 +
 backends/vhost-user.c                              |    2 +-
 block.c                                            |  643 +--
 block/Makefile.objs                                |    1 +
 block/backup-top.c                                 |   25 +-
 block/backup.c                                     |   18 +-
 block/blkdebug.c                                   |   10 +-
 block/blklogwrites.c                               |   16 +-
 block/blkreplay.c                                  |    8 +-
 block/blkverify.c                                  |   10 +-
 block/block-backend.c                              |   57 +-
 block/block-copy.c                                 |  291 +-
 block/bochs.c                                      |    7 +-
 block/cloop.c                                      |    7 +-
 block/commit.c                                     |   24 +-
 block/copy-on-read.c                               |    7 +-
 block/crypto.c                                     |   49 +-
 block/dirty-bitmap.c                               |   22 +
 block/dmg.c                                        |    7 +-
 block/file-posix.c                                 |   15 +-
 block/file-win32.c                                 |    6 +-
 block/filter-compress.c                            |    7 +-
 block/gluster.c                                    |   15 +-
 block/io.c                                         |  259 +-
 block/io_uring.c                                   |   11 +-
 block/iscsi.c                                      |    9 +-
 block/mirror.c                                     |   27 +-
 block/monitor/Makefile.objs                        |    1 +
 block/monitor/bitmap-qmp-cmds.c                    |  321 ++
 block/nbd.c                                        |   27 +-
 block/nfs.c                                        |   61 +-
 block/nvme.c                                       |    4 +-
 block/parallels.c                                  |   44 +-
 block/qcow.c                                       |   19 +-
 block/qcow2-bitmap.c                               |   44 +
 block/qcow2-cluster.c                              |    2 +-
 block/qcow2-refcount.c                             |    4 +-
 block/qcow2-snapshot.c                             |   20 +-
 block/qcow2-threads.c                              |  240 +-
 block/qcow2.c                                      |  287 +-
 block/qcow2.h                                      |   23 +-
 block/qed.c                                        |   19 +-
 block/quorum.c                                     |    8 +-
 block/raw-format.c                                 |  142 +-
 block/rbd.c                                        |    5 +-
 block/replication.c                                |   23 +-
 block/sheepdog.c                                   |   27 +-
 block/ssh.c                                        |    7 +-
 block/throttle-groups.c                            |    6 +-
 block/throttle.c                                   |    7 +-
 block/vdi.c                                        |   17 +-
 block/vhdx-log.c                                   |    2 +-
 block/vhdx.c                                       |  113 +-
 block/vmdk.c                                       |   87 +-
 block/vpc.c                                        |   17 +-
 block/vvfat.c                                      |   27 +-
 blockdev.c                                         |  354 +-
 blockjob.c                                         |   14 +-
 bootdevice.c                                       |   10 +-
 bsd-user/main.c                                    |   12 +-
 chardev/char-serial.c                              |    2 +-
 chardev/char-socket.c                              |   24 +-
 chardev/char.c                                     |   21 +-
 configure                                          |  242 +-
 contrib/libvhost-user/libvhost-user.c              |  351 +-
 contrib/libvhost-user/libvhost-user.h              |   24 +-
 contrib/vhost-user-blk/vhost-user-blk.c            |    4 +-
 cpus-common.c                                      |   49 +-
 cpus.c                                             |   40 +-
 crypto/Makefile.objs                               |    5 +-
 crypto/cipher-builtin.c                            |   10 +-
 crypto/init.c                                      |    2 +-
 crypto/random-none.c                               |   38 +
 crypto/secret.c                                    |  356 +-
 crypto/secret_common.c                             |  403 ++
 crypto/secret_keyring.c                            |  148 +
 crypto/tlscreds.c                                  |   12 +-
 crypto/tlscredsanon.c                              |    3 +-
 crypto/tlscredspsk.c                               |    6 +-
 crypto/tlscredsx509.c                              |    9 +-
 default-configs/arm-softmmu.mak                    |    1 +
 default-configs/mips64el-softmmu.mak               |    2 +-
 default-configs/riscv32-softmmu.mak                |    1 +
 default-configs/riscv64-softmmu.mak                |   11 +-
 default-configs/rx-softmmu.mak                     |    1 +
 default-configs/unicore32-softmmu.mak              |    1 +
 device_tree.c                                      |    4 +-
 disas.c                                            |   50 +-
 dma-helpers.c                                      |   22 +
 docs/devel/clocks.rst                              |  391 ++
 docs/devel/index.rst                               |    1 +
 docs/devel/loads-stores.rst                        |   39 +-
 docs/devel/migration.rst                           |   20 +
 docs/devel/qapi-code-gen.txt                       |    4 +-
 docs/devel/testing.rst                             |  107 +
 docs/interop/qcow2.txt                             |    4 +
 docs/interop/vhost-user.rst                        |   44 +
 docs/qdev-device-use.txt                           |   17 +-
 docs/specs/acpi_hest_ghes.rst                      |  110 +
 docs/specs/acpi_hw_reduced_hotplug.rst             |    3 +-
 docs/specs/index.rst                               |    1 +
 docs/specs/tpm.rst                                 |   16 +-
 docs/system/arm/aspeed.rst                         |   85 +
 docs/system/arm/integratorcp.rst                   |    4 +-
 docs/system/arm/mps2.rst                           |   29 +
 docs/system/arm/musca.rst                          |   31 +
 docs/system/arm/vexpress.rst                       |   60 +
 docs/system/deprecated.rst                         |  152 +-
 docs/system/s390x/3270.rst                         |   32 +
 docs/system/s390x/css.rst                          |   86 +
 docs/system/s390x/protvirt.rst                     |   60 +
 docs/system/s390x/vfio-ap.rst                      |    8 +-
 docs/system/s390x/vfio-ccw.rst                     |   77 +
 docs/system/target-arm.rst                         |   21 +-
 docs/system/target-mips.rst                        |    2 +-
 docs/system/target-rx.rst                          |   36 +
 docs/system/target-s390x.rst                       |    8 +
 docs/system/targets.rst                            |    1 +
 docs/tools/qemu-img.rst                            |   87 +-
 docs/xbzrle.txt                                    |    8 +-
 dtc                                                |    2 +-
 exec.c                                             |   46 +-
 fpu/softfloat-specialize.inc.c                     |   32 +-
 fpu/softfloat.c                                    | 1515 ++----
 gdb-xml/arm-m-profile.xml                          |   27 +
 gdb-xml/m68k-core.xml                              |   29 +
 gdbstub.c                                          |  119 +-
 hmp-commands-info.hx                               |    7 +-
 hmp-commands.hx                                    |   21 +-
 hw/9pfs/9p-util.h                                  |   13 +
 hw/9pfs/9p.c                                       |   38 +-
 hw/9pfs/9p.h                                       |   12 +-
 hw/9pfs/virtio-9p-device.c                         |   15 +-
 hw/9pfs/xen-9p-backend.c                           |   43 +-
 hw/Kconfig                                         |    1 +
 hw/Makefile.objs                                   |    2 +-
 hw/acpi/Kconfig                                    |    4 +
 hw/acpi/Makefile.objs                              |    5 +-
 hw/acpi/aml-build-stub.c                           |   79 +
 hw/acpi/aml-build.c                                |   64 +-
 hw/acpi/cpu.c                                      |    2 +-
 hw/acpi/generic_event_device.c                     |   79 +-
 hw/acpi/ghes.c                                     |  448 ++
 hw/acpi/ich9.c                                     |   25 +-
 hw/acpi/nvdimm.c                                   |  105 +-
 hw/acpi/pcihp.c                                    |    9 +-
 hw/acpi/piix4.c                                    |   44 +-
 hw/adc/stm32f2xx_adc.c                             |    4 +-
 hw/alpha/typhoon.c                                 |    4 +-
 hw/arm/Kconfig                                     |   14 +-
 hw/arm/allwinner-a10.c                             |   52 +-
 hw/arm/allwinner-h3.c                              |   69 +-
 hw/arm/armsse.c                                    |  174 +-
 hw/arm/armv7m.c                                    |   20 +-
 hw/arm/aspeed.c                                    |  231 +-
 hw/arm/aspeed_ast2600.c                            |  152 +-
 hw/arm/aspeed_soc.c                                |  109 +-
 hw/arm/bcm2835_peripherals.c                       |  127 +-
 hw/arm/bcm2836.c                                   |   33 +-
 hw/arm/cubieboard.c                                |   11 +-
 hw/arm/digic.c                                     |   16 +-
 hw/arm/digic_boards.c                              |    2 +-
 hw/arm/exynos4210.c                                |   50 +-
 hw/arm/exynos4_boards.c                            |   11 +-
 hw/arm/fsl-imx25.c                                 |   76 +-
 hw/arm/fsl-imx31.c                                 |   45 +-
 hw/arm/fsl-imx6.c                                  |   89 +-
 hw/arm/fsl-imx6ul.c                                |  115 +-
 hw/arm/fsl-imx7.c                                  |  135 +-
 hw/arm/highbank.c                                  |   28 +-
 hw/arm/imx25_pdk.c                                 |   12 +-
 hw/arm/integratorcp.c                              |   29 +-
 hw/arm/kzm.c                                       |    5 +-
 hw/arm/mcimx6ul-evk.c                              |   11 +-
 hw/arm/mcimx7d-sabre.c                             |   11 +-
 hw/arm/microbit.c                                  |   22 +-
 hw/arm/mps2-tz.c                                   |  102 +-
 hw/arm/mps2.c                                      |   93 +-
 hw/arm/msf2-soc.c                                  |   48 +-
 hw/arm/msf2-som.c                                  |   16 +-
 hw/arm/musca.c                                     |   60 +-
 hw/arm/musicpal.c                                  |   20 +-
 hw/arm/netduino2.c                                 |    4 +-
 hw/arm/netduinoplus2.c                             |    4 +-
 hw/arm/nrf51_soc.c                                 |   42 +-
 hw/arm/nseries.c                                   |   12 +-
 hw/arm/omap1.c                                     |   16 +-
 hw/arm/omap2.c                                     |   16 +-
 hw/arm/orangepi.c                                  |   11 +-
 hw/arm/pxa2xx.c                                    |   74 +-
 hw/arm/pxa2xx_gpio.c                               |   12 +-
 hw/arm/pxa2xx_pic.c                                |    5 +-
 hw/arm/raspi.c                                     |   15 +-
 hw/arm/realview.c                                  |   25 +-
 hw/arm/sabrelite.c                                 |   19 +-
 hw/arm/sbsa-ref.c                                  |   33 +-
 hw/arm/spitz.c                                     |    4 +-
 hw/arm/stellaris.c                                 |   12 +-
 hw/arm/stm32f205_soc.c                             |   34 +-
 hw/arm/stm32f405_soc.c                             |   66 +-
 hw/arm/strongarm.c                                 |    9 +-
 hw/arm/versatilepb.c                               |   21 +-
 hw/arm/vexpress.c                                  |   34 +-
 hw/arm/virt-acpi-build.c                           |   66 +
 hw/arm/virt.c                                      |  232 +-
 hw/arm/xilinx_zynq.c                               |  104 +-
 hw/arm/xlnx-versal-virt.c                          |   85 +-
 hw/arm/xlnx-versal.c                               |  130 +-
 hw/arm/xlnx-zcu102.c                               |   85 +-
 hw/arm/xlnx-zynqmp.c                               |  101 +-
 hw/audio/ac97.c                                    |    4 +-
 hw/audio/adlib.c                                   |    5 +-
 hw/audio/es1370.c                                  |    7 +-
 hw/audio/gus.c                                     |    8 +-
 hw/audio/gusemu_hal.c                              |    2 +-
 hw/audio/gusemu_mixer.c                            |    2 +-
 hw/audio/intel-hda.c                               |    6 +-
 hw/audio/marvell_88w8618.c                         |    2 +-
 hw/audio/pcspk.c                                   |    2 +-
 hw/block/Makefile.objs                             |    2 +-
 hw/block/block.c                                   |   40 +-
 hw/block/dataplane/virtio-blk.c                    |    8 +
 hw/block/fdc.c                                     |  214 +-
 hw/block/nand.c                                    |    6 +-
 hw/block/nvme.c                                    |  583 ++-
 hw/block/nvme.h                                    |   36 +-
 hw/block/pflash_cfi01.c                            |   83 +-
 hw/block/pflash_cfi02.c                            |   18 +-
 hw/block/swim.c                                    |    5 +-
 hw/block/trace-events                              |  176 +-
 hw/block/vhost-user-blk.c                          |   47 +-
 hw/block/virtio-blk.c                              |   43 +-
 hw/block/xen-block.c                               |   18 +-
 hw/char/Kconfig                                    |    3 +
 hw/char/Makefile.objs                              |    2 +
 hw/char/cadence_uart.c                             |   73 +-
 hw/char/exynos4210_uart.c                          |    5 +-
 hw/char/ibex_uart.c                                |  492 ++
 hw/char/mcf_uart.c                                 |    5 +-
 hw/char/parallel-isa.c                             |    5 +-
 hw/char/parallel.c                                 |   22 +
 hw/char/renesas_sci.c                              |  350 ++
 hw/char/serial-isa.c                               |   31 +-
 hw/char/serial-pci-multi.c                         |    8 +-
 hw/char/serial-pci.c                               |    7 +-
 hw/char/serial.c                                   |   16 +-
 hw/char/spapr_vty.c                                |    4 +-
 hw/char/trace-events                               |    3 +
 hw/char/virtio-console.c                           |    2 +-
 hw/char/virtio-serial-bus.c                        |    8 +-
 hw/char/xilinx_uartlite.c                          |    5 +-
 hw/core/Makefile.objs                              |    3 +-
 hw/core/bus.c                                      |   47 +-
 hw/core/clock-vmstate.c                            |   25 +
 hw/core/clock.c                                    |  130 +
 hw/core/cpu.c                                      |    7 +-
 hw/core/empty_slot.c                               |  102 -
 hw/core/generic-loader.c                           |    2 +-
 hw/core/machine-hmp-cmds.c                         |    2 +-
 hw/core/machine-qmp-cmds.c                         |   16 +-
 hw/core/machine.c                                  |   96 +-
 hw/core/numa.c                                     |    5 +
 hw/core/qdev-clock.c                               |  185 +
 hw/core/qdev-properties-system.c                   |  151 +-
 hw/core/qdev-properties.c                          |  113 +-
 hw/core/qdev.c                                     |  225 +-
 hw/core/register.c                                 |   46 +-
 hw/core/stream.c                                   |    4 +-
 hw/core/sysbus.c                                   |   27 +-
 hw/core/trace-events                               |    7 +
 hw/cpu/a15mpcore.c                                 |    5 +-
 hw/cpu/a9mpcore.c                                  |   23 +-
 hw/cpu/arm11mpcore.c                               |   18 +-
 hw/cpu/core.c                                      |    4 +-
 hw/cpu/realview_mpcore.c                           |   10 +-
 hw/cris/axis_dev88.c                               |    4 +-
 hw/display/artist.c                                |    4 +-
 hw/display/ati.c                                   |   15 +-
 hw/display/blizzard.c                              |   10 +-
 hw/display/bochs-display.c                         |    3 +-
 hw/display/cg3.c                                   |   16 +-
 hw/display/cirrus_vga.c                            |  123 +-
 hw/display/dpcd.c                                  |   20 +-
 hw/display/exynos4210_fimd.c                       |   46 +-
 hw/display/milkymist-tmu2.c                        |    4 +-
 hw/display/next-fb.c                               |    2 +-
 hw/display/omap_dss.c                              |    2 +-
 hw/display/pxa2xx_lcd.c                            |   34 +-
 hw/display/qxl.c                                   |   43 +-
 hw/display/ramfb-standalone.c                      |   12 +-
 hw/display/ramfb.c                                 |   79 +-
 hw/display/sm501.c                                 |  326 +-
 hw/display/tcx.c                                   |    4 +-
 hw/display/trace-events                            |   10 +
 hw/display/vga-isa.c                               |    2 +-
 hw/display/vga-pci.c                               |    4 +-
 hw/display/vhost-user-gpu-pci.c                    |    3 +-
 hw/display/vhost-user-gpu.c                        |    2 +-
 hw/display/vhost-user-vga.c                        |    3 +-
 hw/display/virtio-gpu-base.c                       |    2 +-
 hw/display/virtio-gpu-pci.c                        |    3 +-
 hw/display/virtio-vga.c                            |    4 +-
 hw/display/vmware_vga.c                            |   18 +-
 hw/display/xlnx_dp.c                               |   34 +-
 hw/dma/i8257.c                                     |    9 +-
 hw/dma/puv3_dma.c                                  |    9 +-
 hw/dma/pxa2xx_dma.c                                |   22 +-
 hw/dma/rc4030.c                                    |    7 +-
 hw/dma/sparc32_dma.c                               |   26 +-
 hw/dma/xilinx_axidma.c                             |   92 +-
 hw/dma/xlnx-zdma.c                                 |   32 +-
 hw/gpio/aspeed_gpio.c                              |    4 +-
 hw/gpio/pl061.c                                    |   12 +-
 hw/gpio/puv3_gpio.c                                |   15 +-
 hw/hppa/dino.c                                     |    8 +-
 hw/hppa/lasi.c                                     |    4 +-
 hw/hppa/machine.c                                  |    4 +-
 hw/hyperv/Kconfig                                  |    5 +
 hw/hyperv/Makefile.objs                            |    1 +
 hw/hyperv/hyperv.c                                 |   27 +-
 hw/hyperv/trace-events                             |   18 +
 hw/hyperv/vmbus.c                                  | 2778 +++++++++++
 hw/i2c/core.c                                      |    5 +-
 hw/i2c/imx_i2c.c                                   |    2 +-
 hw/i2c/microbit_i2c.c                              |    2 +-
 hw/i2c/mpc_i2c.c                                   |    2 +-
 hw/i2c/pm_smbus.c                                  |    1 -
 hw/i2c/smbus_eeprom.c                              |    4 +-
 hw/i2c/versatile_i2c.c                             |   38 +-
 hw/i386/Makefile.objs                              |    1 +
 hw/i386/acpi-build.c                               |  529 +--
 hw/i386/acpi-build.h                               |    3 +
 hw/i386/acpi-common.c                              |  156 +
 hw/i386/acpi-common.h                              |   15 +
 hw/i386/amd_iommu.c                                |   22 +-
 hw/i386/fw_cfg.c                                   |   28 +
 hw/i386/fw_cfg.h                                   |    1 +
 hw/i386/kvm/apic.c                                 |    2 +-
 hw/i386/microvm.c                                  |   64 +-
 hw/i386/pc.c                                       |  112 +-
 hw/i386/pc_piix.c                                  |   33 +-
 hw/i386/pc_q35.c                                   |   46 +-
 hw/i386/pc_sysfw.c                                 |   13 +-
 hw/i386/vmmouse.c                                  |   41 +-
 hw/i386/vmport.c                                   |  186 +-
 hw/i386/x86.c                                      |   64 +-
 hw/i386/xen/xen-hvm.c                              |    6 +-
 hw/i386/xen/xen_platform.c                         |    1 +
 hw/ide/ahci-allwinner.c                            |    2 +-
 hw/ide/ahci.c                                      |   19 +-
 hw/ide/core.c                                      |    6 +-
 hw/ide/isa.c                                       |    5 +-
 hw/ide/macio.c                                     |    8 +-
 hw/ide/microdrive.c                                |    3 +-
 hw/ide/pci.c                                       |   12 +-
 hw/ide/piix.c                                      |    2 +-
 hw/ide/qdev.c                                      |   19 +-
 hw/ide/sii3112.c                                   |    5 +-
 hw/input/adb-kbd.c                                 |    6 +-
 hw/input/pckbd.c                                   |   31 +
 hw/input/pxa2xx_keypad.c                           |   10 +-
 hw/input/vhost-user-input.c                        |    2 +-
 hw/input/virtio-input-hid.c                        |    2 +-
 hw/input/virtio-input-host.c                       |    2 +-
 hw/input/virtio-input.c                            |    9 +-
 hw/intc/Kconfig                                    |    3 +
 hw/intc/Makefile.objs                              |    2 +
 hw/intc/apic.c                                     |    2 +-
 hw/intc/apic_common.c                              |    6 +-
 hw/intc/arm_gicv3_kvm.c                            |    4 +-
 hw/intc/armv7m_nvic.c                              |   15 +-
 hw/intc/exynos4210_gic.c                           |    5 +-
 hw/intc/i8259_common.c                             |    5 +-
 hw/intc/ibex_plic.c                                |  261 ++
 hw/intc/ioapic.c                                   |   21 +-
 hw/intc/pnv_xive.c                                 |   10 +-
 hw/intc/puv3_intc.c                                |    9 +-
 hw/intc/realview_gic.c                             |    4 +-
 hw/intc/rx_icu.c                                   |  397 ++
 hw/intc/s390_flic.c                                |   10 +-
 hw/intc/spapr_xive.c                               |   10 +-
 hw/intc/xics.c                                     |    6 +-
 hw/intc/xive.c                                     |    4 +-
 hw/ipack/ipack.c                                   |    6 +-
 hw/ipmi/ipmi.c                                     |    3 +-
 hw/ipmi/smbus_ipmi.c                               |    2 +-
 hw/isa/apm.c                                       |   15 +-
 hw/isa/i82378.c                                    |    8 +-
 hw/isa/isa-bus.c                                   |   42 +-
 hw/isa/isa-superio.c                               |   45 +-
 hw/isa/lpc_ich9.c                                  |    8 +-
 hw/isa/piix3.c                                     |    1 +
 hw/isa/piix4.c                                     |    3 +-
 hw/isa/trace-events                                |    4 +
 hw/isa/vt82c686.c                                  |   15 +-
 hw/lm32/lm32.h                                     |   13 +-
 hw/lm32/milkymist-hw.h                             |   37 +-
 hw/m68k/mcf5206.c                                  |   14 +-
 hw/m68k/mcf5208.c                                  |   20 +-
 hw/m68k/mcf_intc.c                                 |   15 +-
 hw/m68k/next-cube.c                                |   12 +-
 hw/m68k/q800.c                                     |   39 +-
 hw/mem/Kconfig                                     |    2 +-
 hw/mem/nvdimm.c                                    |    5 +-
 hw/mem/pc-dimm.c                                   |   11 +-
 hw/microblaze/petalogix_ml605_mmu.c                |   45 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c           |   14 +-
 hw/microblaze/xlnx-zynqmp-pmu.c                    |   21 +-
 hw/mips/Kconfig                                    |    3 +-
 hw/mips/Makefile.objs                              |   10 +-
 hw/mips/boston.c                                   |   27 +-
 hw/mips/cps.c                                      |   20 +-
 hw/mips/fuloong2e.c                                |  400 ++
 hw/mips/gt64xxx_pci.c                              |    5 +-
 hw/mips/jazz.c                                     |  428 ++
 hw/mips/malta.c                                    | 1451 ++++++
 hw/mips/mips_fulong2e.c                            |  398 --
 hw/mips/mips_int.c                                 |   11 +-
 hw/mips/mips_jazz.c                                |  428 --
 hw/mips/mips_malta.c                               | 1458 ------
 hw/mips/mips_mipssim.c                             |  246 -
 hw/mips/mips_r4k.c                                 |  318 --
 hw/mips/mipssim.c                                  |  246 +
 hw/mips/r4k.c                                      |  318 ++
 hw/misc/Makefile.objs                              |    3 +-
 hw/misc/aspeed_scu.c                               |   11 +-
 hw/misc/aspeed_sdmc.c                              |   57 +-
 hw/misc/auxbus.c                                   |   24 +-
 hw/misc/bcm2835_mphi.c                             |  191 +
 hw/misc/edu.c                                      |    3 +-
 hw/misc/empty_slot.c                               |  108 +
 hw/misc/grlib_ahb_apb_pnp.c                        |   24 +-
 hw/misc/imx2_wdt.c                                 |   90 -
 hw/misc/imx6ul_ccm.c                               |   76 +-
 hw/misc/mac_via.c                                  |   15 +-
 hw/misc/macio/cuda.c                               |   19 +-
 hw/misc/macio/gpio.c                               |    2 +-
 hw/misc/macio/macio.c                              |   63 +-
 hw/misc/macio/pmu.c                                |   23 +-
 hw/misc/pca9552.c                                  |    2 +-
 hw/misc/puv3_pm.c                                  |    9 +-
 hw/misc/tmp105.c                                   |    2 +-
 hw/misc/tmp421.c                                   |    8 +-
 hw/misc/trace-events                               |    8 +
 hw/misc/zynq_slcr.c                                |  172 +-
 hw/net/Makefile.objs                               |    2 +
 hw/net/cadence_gem.c                               |  475 +-
 hw/net/can/can_kvaser_pci.c                        |    2 +-
 hw/net/can/can_mioe3680_pci.c                      |    4 +-
 hw/net/can/can_pcm3680_pci.c                       |    4 +-
 hw/net/e1000.c                                     |    3 +-
 hw/net/e1000e.c                                    |    2 +-
 hw/net/e1000e_core.c                               |   10 +-
 hw/net/eepro100.c                                  |    2 +-
 hw/net/etraxfs_eth.c                               |    4 +-
 hw/net/fsl_etsec/etsec.c                           |    5 +-
 hw/net/ftgmac100.c                                 |   29 +-
 hw/net/imx_fec.c                                   |  108 +-
 hw/net/lan9118.c                                   |    5 +-
 hw/net/lance.c                                     |    2 +-
 hw/net/lasi_i82596.c                               |    7 +-
 hw/net/mcf_fec.c                                   |    9 +-
 hw/net/msf2-emac.c                                 |  589 +++
 hw/net/ne2000-isa.c                                |    2 +-
 hw/net/ne2000-pci.c                                |    2 +-
 hw/net/pcnet-pci.c                                 |    2 +-
 hw/net/rtl8139.c                                   |    2 +-
 hw/net/smc91c111.c                                 |    5 +-
 hw/net/spapr_llan.c                                |    6 +-
 hw/net/sungem.c                                    |    2 +-
 hw/net/sunhme.c                                    |    2 +-
 hw/net/trace-events                                |   21 +
 hw/net/tulip.c                                     |   14 +-
 hw/net/tulip.h                                     |    2 +-
 hw/net/virtio-net.c                                |  393 +-
 hw/net/vmxnet3.c                                   |    2 +-
 hw/net/xilinx_axienet.c                            |   88 +-
 hw/nios2/10m50_devboard.c                          |   15 +-
 hw/nubus/nubus-device.c                            |    2 +-
 hw/nvram/fw_cfg.c                                  |   12 +-
 hw/nvram/mac_nvram.c                               |   19 +-
 hw/nvram/trace-events                              |    4 +
 hw/openrisc/openrisc_sim.c                         |    9 +-
 hw/pci-bridge/dec.c                                |   16 +-
 hw/pci-bridge/pci_expander_bridge.c                |    8 +-
 hw/pci-host/Kconfig                                |    5 +
 hw/pci-host/Makefile.objs                          |    2 +-
 hw/pci-host/bonito.c                               |   98 +-
 hw/pci-host/designware.c                           |    6 +-
 hw/pci-host/gpex.c                                 |    6 +-
 hw/pci-host/grackle.c                              |    2 +-
 hw/pci-host/i440fx.c                               |   19 +-
 hw/pci-host/pam.c                                  |    1 -
 hw/pci-host/pnv_phb3.c                             |   21 +-
 hw/pci-host/pnv_phb3_msi.c                         |    3 +-
 hw/pci-host/pnv_phb3_pbcq.c                        |    3 +-
 hw/pci-host/pnv_phb4.c                             |   11 +-
 hw/pci-host/pnv_phb4_pec.c                         |   11 +-
 hw/pci-host/prep.c                                 |    9 +-
 hw/pci-host/q35.c                                  |   28 +-
 hw/pci-host/sabre.c                                |   15 +-
 hw/pci-host/uninorth.c                             |    8 +-
 hw/pci-host/versatile.c                            |    9 +-
 hw/pci-host/xilinx-pcie.c                          |    6 +-
 hw/pci/msix.c                                      |    7 +
 hw/pci/pci.c                                       |   61 +-
 hw/pci/pci_bridge.c                                |    7 +-
 hw/pci/pcie.c                                      |   30 +-
 hw/pci/shpc.c                                      |    2 +-
 hw/pcmcia/pxa2xx.c                                 |    7 +-
 hw/ppc/e500.c                                      |   40 +-
 hw/ppc/mac_newworld.c                              |   53 +-
 hw/ppc/mac_oldworld.c                              |   28 +-
 hw/ppc/pnv.c                                       |  165 +-
 hw/ppc/pnv_bmc.c                                   |    7 +-
 hw/ppc/pnv_core.c                                  |    6 +-
 hw/ppc/pnv_psi.c                                   |   14 +-
 hw/ppc/ppc440_uc.c                                 |   10 +-
 hw/ppc/prep.c                                      |   41 +-
 hw/ppc/sam460ex.c                                  |    4 +-
 hw/ppc/spapr.c                                     |  131 +-
 hw/ppc/spapr_caps.c                                |   16 +-
 hw/ppc/spapr_cpu_core.c                            |   10 +-
 hw/ppc/spapr_drc.c                                 |   38 +-
 hw/ppc/spapr_hcall.c                               |  108 +-
 hw/ppc/spapr_iommu.c                               |    6 +-
 hw/ppc/spapr_irq.c                                 |    8 +-
 hw/ppc/spapr_nvdimm.c                              |   10 +-
 hw/ppc/spapr_pci.c                                 |  101 +-
 hw/ppc/spapr_rng.c                                 |    3 +-
 hw/ppc/spapr_rtc.c                                 |    2 +-
 hw/ppc/spapr_tpm_proxy.c                           |    2 +-
 hw/ppc/spapr_vio.c                                 |    4 +-
 hw/ppc/virtex_ml507.c                              |    9 +-
 hw/rdma/rdma_backend.c                             |   50 +-
 hw/rdma/rdma_rm.c                                  |    3 +-
 hw/rdma/rdma_utils.c                               |    1 +
 hw/riscv/Kconfig                                   |    9 +
 hw/riscv/Makefile.objs                             |    1 +
 hw/riscv/boot.c                                    |   58 +-
 hw/riscv/opentitan.c                               |  210 +
 hw/riscv/riscv_hart.c                              |    7 +-
 hw/riscv/sifive_clint.c                            |    5 +-
 hw/riscv/sifive_e.c                                |  121 +-
 hw/riscv/sifive_e_prci.c                           |    5 +-
 hw/riscv/sifive_gpio.c                             |   45 +-
 hw/riscv/sifive_plic.c                             |    5 +-
 hw/riscv/sifive_test.c                             |    5 +-
 hw/riscv/sifive_u.c                                |  348 +-
 hw/riscv/spike.c                                   |  252 +-
 hw/riscv/virt.c                                    |   48 +-
 hw/rtc/m48t59-isa.c                                |    7 +-
 hw/rtc/m48t59.c                                    |    5 +-
 hw/rtc/mc146818rtc.c                               |   37 +-
 hw/rtc/sun4v-rtc.c                                 |    5 +-
 hw/rx/Kconfig                                      |   10 +
 hw/rx/Makefile.objs                                |    2 +
 hw/rx/rx-gdbsim.c                                  |  198 +
 hw/rx/rx62n.c                                      |  323 ++
 hw/s390x/Makefile.objs                             |    1 +
 hw/s390x/ap-bridge.c                               |    6 +-
 hw/s390x/css-bridge.c                              |   13 +-
 hw/s390x/css.c                                     |   57 +-
 hw/s390x/event-facility.c                          |   66 +-
 hw/s390x/ipl.c                                     |   59 +-
 hw/s390x/ipl.h                                     |  103 +-
 hw/s390x/pv.c                                      |  113 +
 hw/s390x/s390-ccw.c                                |   25 +-
 hw/s390x/s390-pci-bus.c                            |    8 +-
 hw/s390x/s390-skeys.c                              |    6 +-
 hw/s390x/s390-stattrib.c                           |    6 +-
 hw/s390x/s390-virtio-ccw.c                         |  186 +-
 hw/s390x/sclp.c                                    |   75 +-
 hw/s390x/tod.c                                     |    4 +-
 hw/s390x/vhost-vsock-ccw.c                         |    3 +-
 hw/s390x/virtio-ccw-9p.c                           |    3 +-
 hw/s390x/virtio-ccw-balloon.c                      |    7 +-
 hw/s390x/virtio-ccw-blk.c                          |    5 +-
 hw/s390x/virtio-ccw-crypto.c                       |    3 +-
 hw/s390x/virtio-ccw-gpu.c                          |    3 +-
 hw/s390x/virtio-ccw-input.c                        |    3 +-
 hw/s390x/virtio-ccw-net.c                          |    5 +-
 hw/s390x/virtio-ccw-rng.c                          |    3 +-
 hw/s390x/virtio-ccw-scsi.c                         |    6 +-
 hw/s390x/virtio-ccw-serial.c                       |    3 +-
 hw/s390x/virtio-ccw.c                              |    8 +-
 hw/s390x/virtio-ccw.h                              |    2 +-
 hw/scsi/esp-pci.c                                  |    1 +
 hw/scsi/lsi53c895a.c                               |    2 +-
 hw/scsi/megasas.c                                  |   44 +-
 hw/scsi/scsi-bus.c                                 |   23 +-
 hw/scsi/scsi-disk.c                                |   14 +-
 hw/scsi/spapr_vscsi.c                              |    4 +-
 hw/scsi/vhost-scsi.c                               |    4 +-
 hw/scsi/vhost-user-scsi.c                          |    5 +-
 hw/scsi/virtio-scsi.c                              |    2 +-
 hw/sd/aspeed_sdhci.c                               |    2 +-
 hw/sd/milkymist-memcard.c                          |    6 +-
 hw/sd/pxa2xx_mmci.c                                |   20 +-
 hw/sd/sd.c                                         |   44 +-
 hw/sd/sdhci-internal.h                             |    7 +-
 hw/sd/sdhci-pci.c                                  |    2 +-
 hw/sd/sdhci.c                                      |   24 +-
 hw/sd/ssi-sd.c                                     |    7 +-
 hw/semihosting/console.c                           |    1 -
 hw/sh4/r2d.c                                       |   12 +-
 hw/sh4/sh7750.c                                    |    1 +
 hw/sh4/sh_pci.c                                    |    2 +-
 hw/sparc/Kconfig                                   |    1 +
 hw/sparc/leon3.c                                   |   34 +-
 hw/sparc/sun4m.c                                   |   94 +-
 hw/sparc64/niagara.c                               |    7 +-
 hw/sparc64/sun4u.c                                 |   61 +-
 hw/ssi/aspeed_smc.c                                |    1 -
 hw/ssi/imx_spi.c                                   |    6 +-
 hw/ssi/mss-spi.c                                   |    1 -
 hw/ssi/ssi.c                                       |   43 +-
 hw/ssi/xilinx_spi.c                                |    1 -
 hw/ssi/xilinx_spips.c                              |    9 +-
 hw/timer/Kconfig                                   |    6 +
 hw/timer/Makefile.objs                             |    2 +
 hw/timer/exynos4210_mct.c                          |   16 +-
 hw/timer/nrf51_timer.c                             |   14 +-
 hw/timer/puv3_ost.c                                |    9 +-
 hw/timer/pxa2xx_timer.c                            |    1 +
 hw/timer/renesas_cmt.c                             |  283 ++
 hw/timer/renesas_tmr.c                             |  477 ++
 hw/timer/sh_timer.c                                |    3 +-
 hw/timer/stm32f2xx_timer.c                         |    1 -
 hw/timer/trace-events                              |    7 +-
 hw/tpm/Kconfig                                     |   21 +-
 hw/tpm/Makefile.objs                               |    3 -
 hw/tpm/tpm_crb.c                                   |    4 +-
 hw/tpm/tpm_emulator.c                              |  997 ----
 hw/tpm/tpm_int.h                                   |   75 -
 hw/tpm/tpm_ioctl.h                                 |  271 --
 hw/tpm/tpm_passthrough.c                           |  405 --
 hw/tpm/tpm_ppi.c                                   |    1 +
 hw/tpm/tpm_ppi.h                                   |    1 -
 hw/tpm/tpm_prop.h                                  |   31 +
 hw/tpm/tpm_spapr.c                                 |    4 +-
 hw/tpm/tpm_tis.h                                   |    1 -
 hw/tpm/tpm_tis_common.c                            |   15 +-
 hw/tpm/tpm_tis_isa.c                               |    3 +-
 hw/tpm/tpm_tis_sysbus.c                            |    5 +-
 hw/tpm/tpm_util.c                                  |  377 --
 hw/tpm/tpm_util.h                                  |   85 -
 hw/tpm/trace-events                                |   34 +-
 hw/unicore32/puv3.c                                |    2 -
 hw/usb/Kconfig                                     |    5 +
 hw/usb/Makefile.objs                               |    1 +
 hw/usb/bus.c                                       |   70 +-
 hw/usb/ccid-card-emulated.c                        |    2 +-
 hw/usb/ccid.h                                      |    2 +-
 hw/usb/dev-audio.c                                 |    2 +-
 hw/usb/dev-hid.c                                   |    2 +-
 hw/usb/dev-hub.c                                   |    2 +-
 hw/usb/dev-mtp.c                                   |    9 +-
 hw/usb/dev-network.c                               |    4 +-
 hw/usb/dev-serial.c                                |    4 +-
 hw/usb/dev-smartcard-reader.c                      |   11 +-
 hw/usb/dev-storage.c                               |   22 +-
 hw/usb/dev-uas.c                                   |    2 +-
 hw/usb/dev-wacom.c                                 |    2 +-
 hw/usb/hcd-dwc2.c                                  | 1417 ++++++
 hw/usb/hcd-dwc2.h                                  |  190 +
 hw/usb/hcd-ehci-pci.c                              |    2 +-
 hw/usb/hcd-ehci.c                                  |    2 +-
 hw/usb/hcd-ehci.h                                  |    2 +-
 hw/usb/hcd-musb.c                                  |    5 +-
 hw/usb/host-libusb.c                               |   93 +-
 hw/usb/redirect.c                                  |    4 +-
 hw/usb/trace-events                                |   51 +
 hw/usb/tusb6010.c                                  |    1 +
 hw/usb/xen-usb.c                                   |   19 +-
 hw/vfio/ap.c                                       |    2 +-
 hw/vfio/ccw.c                                      |  227 +-
 hw/vfio/display.c                                  |    4 +-
 hw/vfio/pci-quirks.c                               |   95 +-
 hw/vfio/pci.c                                      |   39 +-
 hw/vfio/platform.c                                 |    5 +-
 hw/virtio/Makefile.objs                            |    4 +-
 hw/virtio/trace-events                             |    3 +-
 hw/virtio/vhost-scsi-pci.c                         |    5 +-
 hw/virtio/vhost-user-blk-pci.c                     |    5 +-
 hw/virtio/vhost-user-fs-pci.c                      |    3 +-
 hw/virtio/vhost-user-fs.c                          |    2 +-
 hw/virtio/vhost-user-input-pci.c                   |    3 +-
 hw/virtio/vhost-user-scsi-pci.c                    |    5 +-
 hw/virtio/vhost-user-vsock-pci.c                   |   83 +
 hw/virtio/vhost-user-vsock.c                       |  181 +
 hw/virtio/vhost-user.c                             |  743 ++-
 hw/virtio/vhost-vsock-common.c                     |  258 +
 hw/virtio/vhost-vsock-pci.c                        |    3 +-
 hw/virtio/vhost-vsock.c                            |  285 +-
 hw/virtio/vhost.c                                  |   63 +-
 hw/virtio/virtio-9p-pci.c                          |    3 +-
 hw/virtio/virtio-balloon-pci.c                     |    7 +-
 hw/virtio/virtio-balloon.c                         |  143 +-
 hw/virtio/virtio-blk-pci.c                         |    5 +-
 hw/virtio/virtio-crypto-pci.c                      |    3 +-
 hw/virtio/virtio-crypto.c                          |    2 +-
 hw/virtio/virtio-input-pci.c                       |    3 +-
 hw/virtio/virtio-iommu-pci.c                       |    3 +-
 hw/virtio/virtio-iommu.c                           |    2 +-
 hw/virtio/virtio-net-pci.c                         |    5 +-
 hw/virtio/virtio-pci.c                             |   13 +-
 hw/virtio/virtio-pmem-pci.c                        |    3 +-
 hw/virtio/virtio-pmem.c                            |    2 +-
 hw/virtio/virtio-rng-pci.c                         |    3 +-
 hw/virtio/virtio-rng.c                             |    4 +-
 hw/virtio/virtio-scsi-pci.c                        |    3 +-
 hw/virtio/virtio-serial-pci.c                      |    3 +-
 hw/virtio/virtio.c                                 |   16 +-
 hw/watchdog/Kconfig                                |    3 +
 hw/watchdog/Makefile.objs                          |    1 +
 hw/watchdog/cmsdk-apb-watchdog.c                   |    1 +
 hw/watchdog/trace-events                           |    1 +
 hw/watchdog/wdt_diag288.c                          |    2 +-
 hw/watchdog/wdt_imx2.c                             |  304 ++
 hw/xen/Makefile.objs                               |    3 +-
 hw/xen/xen-bus.c                                   |   16 +-
 hw/xen/xen-common.c                                |  220 -
 hw/xen/xen-legacy-backend.c                        |    9 +-
 hw/xen/xen_pt.c                                    |   12 +-
 hw/xen/xen_pt.h                                    |    6 +-
 hw/xen/xen_pt_stub.c                               |   22 +
 hw/xtensa/virt.c                                   |    4 +-
 hw/xtensa/xtfpga.c                                 |   11 +-
 include/block/aio.h                                |    3 +
 include/block/block.h                              |   71 +-
 include/block/block_int.h                          |   88 +-
 include/block/dirty-bitmap.h                       |    2 +
 include/block/nvme.h                               |  180 +
 include/crypto/secret.h                            |   20 +-
 include/crypto/secret_common.h                     |   68 +
 include/crypto/secret_keyring.h                    |   52 +
 include/disas/disas.h                              |    2 +-
 include/exec/cpu-all.h                             |   39 +-
 include/exec/cpu-common.h                          |    3 -
 include/exec/cpu_ldst.h                            |  271 +-
 include/exec/exec-all.h                            |   47 +
 include/exec/gdbstub.h                             |   25 +-
 include/exec/log.h                                 |    4 +-
 include/exec/memory.h                              |   45 +-
 include/exec/ram_addr.h                            |    6 +-
 include/fpu/softfloat-helpers.h                    |   27 +-
 include/fpu/softfloat-macros.h                     |   24 +-
 include/fpu/softfloat-types.h                      |   28 +-
 include/fpu/softfloat.h                            |  336 +-
 include/hw/acpi/acpi-defs.h                        |   20 +-
 include/hw/acpi/aml-build.h                        |    4 +-
 include/hw/acpi/generic_event_device.h             |    5 +-
 include/hw/acpi/ghes.h                             |   74 +
 include/hw/acpi/ich9.h                             |    2 +-
 include/hw/arm/aspeed.h                            |    6 +
 include/hw/arm/aspeed_soc.h                        |    1 -
 include/hw/arm/bcm2835_peripherals.h               |    5 +-
 include/hw/arm/fsl-imx25.h                         |    5 +
 include/hw/arm/fsl-imx31.h                         |    4 +
 include/hw/arm/fsl-imx6.h                          |    2 +-
 include/hw/arm/fsl-imx6ul.h                        |    2 +-
 include/hw/arm/fsl-imx7.h                          |   23 +-
 include/hw/arm/msf2-soc.h                          |    2 +
 include/hw/arm/nrf51.h                             |    3 +-
 include/hw/arm/virt.h                              |    2 +
 include/hw/arm/xlnx-versal.h                       |   31 +-
 include/hw/audio/pcspk.h                           |    5 +-
 include/hw/block/block.h                           |   14 +-
 include/hw/block/fdc.h                             |    5 +-
 include/hw/boards.h                                |    3 +
 include/hw/char/cadence_uart.h                     |    6 +-
 include/hw/char/cmsdk-apb-uart.h                   |    4 +-
 include/hw/char/ibex_uart.h                        |  110 +
 include/hw/char/pl011.h                            |    9 +-
 include/hw/char/renesas_sci.h                      |   51 +
 include/hw/char/xilinx_uartlite.h                  |    4 +-
 include/hw/clock.h                                 |  225 +
 include/hw/core/cpu.h                              |   36 +-
 include/hw/cris/etraxfs.h                          |    4 +-
 include/hw/display/edid.h                          |    2 -
 include/hw/display/ramfb.h                         |    2 +-
 include/hw/elf_ops.h                               |   15 +-
 include/hw/empty_slot.h                            |    9 -
 include/hw/gpio/nrf51_gpio.h                       |    2 +-
 include/hw/hyperv/hyperv.h                         |    1 +
 include/hw/hyperv/vmbus-bridge.h                   |   35 +
 include/hw/hyperv/vmbus-proto.h                    |  222 +
 include/hw/hyperv/vmbus.h                          |  230 +
 include/hw/i2c/arm_sbcon_i2c.h                     |   35 +
 include/hw/i2c/microbit_i2c.h                      |    2 +-
 include/hw/i386/microvm.h                          |    2 +-
 include/hw/i386/pc.h                               |   19 +-
 include/hw/i386/vmport.h                           |   28 +
 include/hw/i386/x86.h                              |    4 -
 include/hw/ide/internal.h                          |   12 +-
 include/hw/intc/ibex_plic.h                        |   63 +
 include/hw/intc/rx_icu.h                           |   76 +
 include/hw/isa/isa.h                               |    7 +-
 include/hw/mem/nvdimm.h                            |    4 +
 include/hw/misc/aspeed_scu.h                       |    1 +
 include/hw/misc/auxbus.h                           |   18 +-
 include/hw/misc/bcm2835_mphi.h                     |   44 +
 include/hw/misc/empty_slot.h                       |   19 +
 include/hw/misc/imx2_wdt.h                         |   33 -
 include/hw/misc/unimp.h                            |    5 +-
 include/hw/net/cadence_gem.h                       |    6 +
 include/hw/net/msf2-emac.h                         |   53 +
 include/hw/net/ne2000-isa.h                        |    5 +-
 include/hw/pci/pci.h                               |    6 +-
 include/hw/ppc/pnv_psi.h                           |    2 +-
 include/hw/ppc/spapr.h                             |   11 +-
 include/hw/qdev-clock.h                            |  159 +
 include/hw/qdev-core.h                             |   31 +-
 include/hw/qdev-properties.h                       |   23 +-
 include/hw/register.h                              |    8 +
 include/hw/registerfields.h                        |   40 +-
 include/hw/riscv/boot.h                            |    7 +-
 include/hw/riscv/opentitan.h                       |   84 +
 include/hw/riscv/sifive_e.h                        |    7 +-
 include/hw/riscv/sifive_gpio.h                     |    8 +-
 include/hw/riscv/sifive_u.h                        |   32 +-
 include/hw/riscv/spike.h                           |    6 +-
 include/hw/rtc/mc146818rtc.h                       |    1 +
 include/hw/rx/rx62n.h                              |   76 +
 include/hw/s390x/css.h                             |    4 +-
 include/hw/s390x/pv.h                              |   58 +
 include/hw/s390x/s390-ccw.h                        |    3 +-
 include/hw/s390x/s390-virtio-ccw.h                 |    1 +
 include/hw/s390x/sclp.h                            |    2 +
 include/hw/scsi/scsi.h                             |    2 +-
 include/hw/sd/sdhci.h                              |    5 +
 include/hw/sh4/sh.h                                |   12 +-
 include/hw/ssi/ssi.h                               |    5 -
 include/hw/stream.h                                |    5 +-
 include/hw/sysbus.h                                |   19 +-
 include/hw/timer/cmsdk-apb-timer.h                 |    4 +-
 include/hw/timer/i8254.h                           |    9 +-
 include/hw/timer/nrf51_timer.h                     |    1 +
 include/hw/timer/renesas_cmt.h                     |   40 +
 include/hw/timer/renesas_tmr.h                     |   55 +
 include/hw/timer/tmu012.h                          |   23 +
 include/hw/usb.h                                   |   38 +-
 include/hw/usb/dwc2-regs.h                         |  899 ++++
 include/hw/usb/hcd-musb.h                          |   47 +
 include/hw/virtio/vhost-user-vsock.h               |   36 +
 include/hw/virtio/vhost-user.h                     |    1 +
 include/hw/virtio/vhost-vsock-common.h             |   47 +
 include/hw/virtio/vhost-vsock.h                    |   11 +-
 include/hw/virtio/virtio-balloon.h                 |    3 +-
 include/hw/virtio/virtio-blk.h                     |    1 +
 include/hw/virtio/virtio-net.h                     |   16 +
 include/hw/watchdog/wdt_imx2.h                     |   90 +
 include/hw/xen/xen-block.h                         |    2 +-
 include/hw/xen/xen-bus.h                           |    2 +-
 include/hw/xen/xen.h                               |   11 -
 include/io/task.h                                  |    2 -
 include/migration/vmstate.h                        |   11 +-
 include/monitor/hmp.h                              |    1 +
 include/qapi/qmp/qdict.h                           |    3 -
 include/qapi/qmp/qlist.h                           |   10 +-
 include/qapi/visitor-impl.h                        |    9 +-
 include/qapi/visitor.h                             |  192 +-
 include/qemu/lockable.h                            |    7 +-
 include/qemu/osdep.h                               |    2 +-
 include/qemu/plugin.h                              |   65 +-
 include/qemu/qemu-plugin.h                         |    3 +-
 include/qemu/rcu.h                                 |    2 +-
 include/qemu/thread.h                              |   40 +-
 include/qemu/tsan.h                                |   71 +
 include/qemu/typedefs.h                            |    3 +-
 include/qemu/uuid.h                                |   27 +
 include/qom/object.h                               |  195 +-
 include/qom/object_interfaces.h                    |   16 +
 include/qom/qom-qobject.h                          |    2 -
 include/standard-headers/asm-x86/kvm_para.h        |   17 +-
 include/standard-headers/drm/drm_fourcc.h          |  140 +-
 include/standard-headers/linux/ethtool.h           |   26 +-
 include/standard-headers/linux/input-event-codes.h |    5 +-
 include/standard-headers/linux/pci_regs.h          |    2 +
 include/standard-headers/linux/vhost_types.h       |    8 +
 include/standard-headers/linux/virtio_balloon.h    |   12 +-
 include/standard-headers/linux/virtio_ids.h        |    2 +
 include/standard-headers/linux/virtio_mem.h        |  211 +
 include/standard-headers/linux/virtio_net.h        |  102 +-
 include/standard-headers/linux/virtio_ring.h       |   48 +-
 include/sysemu/accel.h                             |    2 +
 include/sysemu/block-backend.h                     |    6 +-
 include/sysemu/blockdev.h                          |    2 +
 include/sysemu/device_tree.h                       |    5 +-
 include/sysemu/hvf.h                               |   72 +-
 include/sysemu/kvm.h                               |    7 +-
 include/sysemu/kvm_int.h                           |   12 +
 include/sysemu/sysemu.h                            |    5 +-
 include/sysemu/tcg.h                               |    2 +-
 include/sysemu/tpm.h                               |    2 +
 include/sysemu/tpm_util.h                          |   72 +
 include/sysemu/xen.h                               |   38 +
 include/tcg/tcg-op-gvec.h                          |   25 +-
 include/tcg/tcg-op.h                               |   13 +-
 include/tcg/tcg-opc.h                              |    4 +
 include/tcg/tcg.h                                  |    4 +
 include/ui/win32-kbd-hook.h                        |   14 +
 io/task.c                                          |    1 +
 iothread.c                                         |    6 +-
 linux-headers/COPYING                              |    2 +
 linux-headers/asm-arm64/mman.h                     |    8 +
 linux-headers/asm-generic/unistd.h                 |    4 +-
 linux-headers/asm-mips/unistd_n32.h                |    1 +
 linux-headers/asm-mips/unistd_n64.h                |    1 +
 linux-headers/asm-mips/unistd_o32.h                |    1 +
 linux-headers/asm-powerpc/unistd_32.h              |    1 +
 linux-headers/asm-powerpc/unistd_64.h              |    1 +
 linux-headers/asm-s390/unistd_32.h                 |    1 +
 linux-headers/asm-s390/unistd_64.h                 |    1 +
 linux-headers/asm-x86/kvm.h                        |   21 +-
 linux-headers/asm-x86/unistd.h                     |   11 +-
 linux-headers/asm-x86/unistd_32.h                  |    2 +
 linux-headers/asm-x86/unistd_64.h                  |    2 +
 linux-headers/asm-x86/unistd_x32.h                 |    2 +
 linux-headers/linux/kvm.h                          |   65 +-
 linux-headers/linux/mman.h                         |    5 +-
 linux-headers/linux/psp-sev.h                      |    2 +
 linux-headers/linux/userfaultfd.h                  |   40 +-
 linux-headers/linux/vfio.h                         |  359 ++
 linux-headers/linux/vfio_ccw.h                     |   19 +
 linux-headers/linux/vhost.h                        |   28 +
 linux-user/arm/cpu_loop.c                          |  145 +-
 linux-user/arm/signal.c                            |   15 +-
 linux-user/elfload.c                               |  548 ++-
 linux-user/flatload.c                              |    6 +
 linux-user/generic/fcntl.h                         |    4 +
 linux-user/main.c                                  |   39 +-
 linux-user/mmap.c                                  |    4 +-
 linux-user/ppc/cpu_loop.c                          |    1 +
 linux-user/qemu.h                                  |   31 +-
 linux-user/riscv/signal.c                          |    3 +-
 linux-user/strace.list                             |    4 +-
 linux-user/syscall.c                               |   52 +-
 memory.c                                           |  101 +-
 migration/block-dirty-bitmap.c                     |  130 +-
 migration/colo.c                                   |   40 +-
 migration/migration.c                              |   53 +-
 migration/migration.h                              |    4 +-
 migration/multifd.c                                |   19 +-
 migration/ram.c                                    |   84 +-
 migration/ram.h                                    |    1 +
 migration/rdma.c                                   |   11 +-
 migration/savevm.c                                 |    2 +-
 monitor/hmp-cmds.c                                 |   59 +-
 monitor/misc.c                                     |   10 +-
 monitor/monitor-internal.h                         |    2 +-
 monitor/qmp.c                                      |    5 +-
 nbd/server.c                                       |   23 +-
 net/can/can_host.c                                 |    3 +-
 net/can/can_socketcan.c                            |    3 +-
 net/colo-compare.c                                 |  297 +-
 net/colo.c                                         |    7 +
 net/colo.h                                         |    1 +
 net/dump.c                                         |    4 +-
 net/filter-buffer.c                                |    2 +-
 net/filter-mirror.c                                |   10 +-
 net/filter-rewriter.c                              |    2 +-
 net/filter.c                                       |   15 +-
 net/net.c                                          |   91 +-
 net/tap.c                                          |    3 +-
 net/trace-events                                   |    1 +
 pc-bios/openbios-ppc                               |  Bin 696912 -> 696912 
bytes
 pc-bios/openbios-sparc32                           |  Bin 382048 -> 382048 
bytes
 pc-bios/openbios-sparc64                           |  Bin 1593408 -> 1593408 
bytes
 pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin       |  Bin 49472 -> 49520 bytes
 pc-bios/opensbi-riscv32-virt-fw_jump.bin           |  Bin 41280 -> 49504 bytes
 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin       |  Bin 53760 -> 57936 bytes
 pc-bios/opensbi-riscv64-virt-fw_jump.bin           |  Bin 49664 -> 57920 bytes
 plugins/api.c                                      |    4 +-
 po/sv.po                                           |   75 +
 python/qemu/.flake8                                |    2 +
 python/qemu/accel.py                               |    9 +-
 python/qemu/machine.py                             |   44 +-
 python/qemu/pylintrc                               |   58 +
 python/qemu/qmp.py                                 |   29 +-
 python/qemu/qtest.py                               |   83 +-
 qapi/audio.json                                    |   56 +-
 qapi/block-core.json                               |   39 +-
 qapi/migration.json                                |   53 +-
 qapi/misc.json                                     |    6 +-
 qapi/net.json                                      |   49 -
 qapi/qapi-dealloc-visitor.c                        |    7 -
 qapi/qapi-visit-core.c                             |   20 +-
 qapi/qobject-input-visitor.c                       |   21 +-
 qapi/sockets.json                                  |    8 +-
 qdev-monitor.c                                     |   21 +-
 qemu-img-cmds.hx                                   |   17 +-
 qemu-img.c                                         |  467 +-
 qemu-io-cmds.c                                     |    2 +-
 qemu-nbd.c                                         |   13 +-
 qemu-options.hx                                    |   22 +-
 qemu-storage-daemon.c                              |    4 +-
 qobject/qdict.c                                    |   19 -
 qobject/qjson.c                                    |  107 +-
 qobject/qlist.c                                    |   44 +-
 qom/container.c                                    |    5 +-
 qom/object.c                                       |  584 +--
 qom/object_interfaces.c                            |   39 +-
 qom/qom-hmp-cmds.c                                 |   67 +-
 qom/qom-qmp-cmds.c                                 |   24 +-
 replay/replay-internal.c                           |   15 +-
 replay/replay.c                                    |    5 +
 roms/openbios                                      |    2 +-
 roms/opensbi                                       |    2 +-
 scripts/analyze-migration.py                       |    5 -
 scripts/checkpatch.pl                              |   33 +-
 scripts/clean-includes                             |    1 +
 scripts/coverity-scan/coverity-scan.docker         |    5 +-
 scripts/coverity-scan/run-coverity-scan            |  139 +-
 scripts/decodetree.py                              |  536 ++-
 scripts/kvm/vmxcap                                 |    7 +-
 scripts/modules/module_block.py                    |   29 +-
 scripts/oss-fuzz/build.sh                          |  105 +
 scripts/qapi/commands.py                           |   60 +-
 scripts/qapi/visit.py                              |    8 +
 scripts/qemu-gdb.py                                |    4 +-
 scripts/qemugdb/__init__.py                        |    3 +-
 scripts/qemugdb/aio.py                             |    3 +-
 scripts/qemugdb/coroutine.py                       |    3 +-
 scripts/qemugdb/mtree.py                           |    4 +-
 scripts/qemugdb/tcg.py                             |    1 -
 scripts/qemugdb/timers.py                          |    1 -
 scripts/qmp/qmp                                    |    4 +-
 scripts/qmp/qmp-shell                              |    3 -
 scripts/qmp/qom-fuse                               |    4 +-
 scripts/qmp/qom-get                                |    6 +-
 scripts/qmp/qom-list                               |    6 +-
 scripts/qmp/qom-set                                |    6 +-
 scripts/qmp/qom-tree                               |    6 +-
 scripts/tracetool.py                               |    2 +-
 scripts/tracetool/__init__.py                      |    2 +-
 scripts/tracetool/backend/__init__.py              |    2 +-
 scripts/tracetool/backend/dtrace.py                |    2 +-
 scripts/tracetool/backend/log.py                   |    2 +-
 scripts/tracetool/backend/simple.py                |    2 +-
 scripts/tracetool/backend/ust.py                   |    2 +-
 scripts/tracetool/format/__init__.py               |    2 +-
 scripts/tracetool/format/c.py                      |    2 +-
 scripts/tracetool/format/d.py                      |    2 +-
 scripts/tracetool/format/h.py                      |    2 +-
 scripts/tracetool/format/stap.py                   |    2 +-
 scripts/tracetool/format/tcg_h.py                  |    2 +-
 scripts/tracetool/format/tcg_helper_c.py           |    2 +-
 scripts/tracetool/format/tcg_helper_h.py           |    2 +-
 scripts/tracetool/format/tcg_helper_wrapper_h.py   |    2 +-
 scripts/tracetool/transform.py                     |    2 +-
 scripts/tracetool/vcpu.py                          |    2 +-
 scsi/pr-manager-helper.c                           |    3 +-
 scsi/qemu-pr-helper.c                              |    4 +-
 softmmu/vl.c                                       |   30 +-
 stubs/Makefile.objs                                |   52 +-
 stubs/cmos.c                                       |    7 +
 stubs/qmp_memory_device.c                          |    1 -
 stubs/ramfb.c                                      |    2 +-
 stubs/win32-kbd-hook.c                             |   18 +
 stubs/xen-common.c                                 |   13 -
 stubs/xen-hvm.c                                    |   62 -
 target/alpha/cpu-param.h                           |   15 +-
 target/arm/Makefile.objs                           |   19 +
 target/arm/cpu-param.h                             |    2 +-
 target/arm/cpu-qom.h                               |    9 +-
 target/arm/cpu.c                                   |  689 +--
 target/arm/cpu.h                                   |   56 +-
 target/arm/cpu64.c                                 |   56 +-
 target/arm/cpu_tcg.c                               |  665 +++
 target/arm/crypto_helper.c                         |  271 +-
 target/arm/gdbstub.c                               |   22 +-
 target/arm/helper-sve.h                            |   53 +-
 target/arm/helper.c                                |  234 +-
 target/arm/helper.h                                |  158 +-
 target/arm/internals.h                             |   10 +-
 target/arm/kvm.c                                   |   25 +-
 target/arm/kvm32.c                                 |   13 +-
 target/arm/kvm64.c                                 |  113 +-
 target/arm/kvm_arm.h                               |   21 +-
 target/arm/neon-dp.decode                          |  635 +++
 target/arm/neon-ls.decode                          |   52 +
 target/arm/neon-shared.decode                      |   66 +
 target/arm/neon_helper.c                           |   41 -
 target/arm/sve_helper.c                            | 2438 +++++-----
 target/arm/t32.decode                              |    4 +-
 target/arm/tlb_helper.c                            |    2 +-
 target/arm/translate-a64.c                         |  552 +--
 target/arm/translate-a64.h                         |   10 +-
 target/arm/translate-neon.inc.c                    | 4161 +++++++++++++++++
 target/arm/translate-sve.c                         |  103 +-
 target/arm/translate-vfp.inc.c                     |   13 +-
 target/arm/translate.c                             | 4912 +++++---------------
 target/arm/translate.h                             |  108 +-
 target/arm/vec_helper.c                            |  277 +-
 target/arm/vec_internal.h                          |   33 +
 target/arm/vfp_helper.c                            |   23 +-
 target/hppa/op_helper.c                            |    7 +-
 target/i386/TODO                                   |   31 -
 target/i386/cpu.c                                  |  174 +-
 target/i386/cpu.h                                  |   17 +-
 target/i386/fpu_helper.c                           |  266 +-
 target/i386/hax-all.c                              |   25 +-
 target/i386/hax-i386.h                             |    7 +-
 target/i386/hvf/hvf-i386.h                         |   37 +-
 target/i386/hvf/hvf.c                              |   30 +-
 target/i386/hvf/x86.c                              |    2 +-
 target/i386/hvf/x86.h                              |   89 +-
 target/i386/hvf/x86_decode.c                       |   25 +-
 target/i386/hvf/x86_emu.c                          |  122 +-
 target/i386/hvf/x86_flags.c                        |   81 +-
 target/i386/hvf/x86_task.c                         |   10 +-
 target/i386/hvf/x86hvf.c                           |    6 +-
 target/i386/kvm.c                                  |   70 +-
 target/i386/misc_helper.c                          |    2 +-
 target/i386/ops_sse.h                              |   65 +-
 target/i386/sev.c                                  |  274 +-
 target/i386/sev_i386.h                             |   49 -
 target/m68k/cpu.c                                  |   52 +-
 target/m68k/fpu_helper.c                           |   11 +-
 target/m68k/helper.c                               |    3 +-
 target/m68k/helper.h                               |    1 +
 target/m68k/softfloat.c                            |   70 +-
 target/m68k/translate.c                            |   17 +
 target/microblaze/cpu.c                            |   26 +-
 target/microblaze/cpu.h                            |    6 +
 target/microblaze/gdbstub.c                        |   91 +-
 target/microblaze/op_helper.c                      |    5 +-
 target/microblaze/translate.c                      |   27 +-
 target/mips/Makefile.objs                          |    2 +-
 target/mips/cpu-param.h                            |    5 +
 target/mips/cpu.h                                  |   32 +-
 target/mips/fpu_helper.c                           |  658 ++-
 target/mips/helper.h                               |   73 +-
 target/mips/internal.h                             |    3 +-
 target/mips/kvm.c                                  |  212 +
 target/mips/lmi_helper.c                           |  747 ---
 target/mips/lmmi_helper.c                          |  747 +++
 target/mips/machine.c                              |    6 +-
 target/mips/mips-defs.h                            |   51 +-
 target/mips/msa_helper.c                           | 1351 ++++--
 target/mips/translate.c                            |  215 +-
 target/mips/translate_init.inc.c                   |   95 +-
 target/openrisc/fpu_helper.c                       |    4 +-
 target/ppc/compat.c                                |   14 +-
 target/ppc/cpu.h                                   |   40 +-
 target/ppc/excp_helper.c                           |  152 +-
 target/ppc/gdbstub.c                               |    4 +-
 target/ppc/helper.h                                |    5 +-
 target/ppc/int_helper.c                            |   30 +-
 target/ppc/kvm_ppc.h                               |   22 +-
 target/ppc/mmu-radix64.c                           |  481 +-
 target/ppc/mmu-radix64.h                           |    4 +-
 target/ppc/mmu_helper.c                            |    2 +-
 target/ppc/translate.c                             |   77 +-
 target/ppc/translate/vmx-impl.inc.c                |   40 +-
 target/ppc/translate/vsx-impl.inc.c                |    2 +-
 target/ppc/translate_init.inc.c                    |   18 +-
 target/riscv/cpu.c                                 |   94 +-
 target/riscv/cpu.h                                 |   10 +-
 target/riscv/cpu_helper.c                          |  107 +-
 target/riscv/csr.c                                 |  138 +-
 target/riscv/helper.h                              |    5 +
 target/riscv/insn32.decode                         |    8 +-
 target/riscv/insn_trans/trans_privileged.inc.c     |   52 +-
 target/riscv/insn_trans/trans_rvf.inc.c            |   17 +-
 target/riscv/insn_trans/trans_rvh.inc.c            |   37 +
 target/riscv/monitor.c                             |    5 -
 target/riscv/op_helper.c                           |   30 +-
 target/riscv/pmp.c                                 |   14 +-
 target/riscv/translate.c                           |    1 +
 target/s390x/cpu.c                                 |   41 +-
 target/s390x/cpu.h                                 |    7 +-
 target/s390x/cpu_features_def.inc.h                |    3 +-
 target/s390x/cpu_models.c                          |   17 +-
 target/s390x/diag.c                                |   75 +-
 target/s390x/fpu_helper.c                          |   22 +-
 target/s390x/gen-features.c                        |    1 +
 target/s390x/helper.c                              |   11 +-
 target/s390x/helper.h                              |    4 -
 target/s390x/insn-data.def                         |    4 +-
 target/s390x/internal.h                            |   16 +-
 target/s390x/ioinst.c                              |   99 +-
 target/s390x/kvm-stub.c                            |    5 +
 target/s390x/kvm.c                                 |   83 +-
 target/s390x/kvm_s390x.h                           |    3 +
 target/s390x/mmu_helper.c                          |   14 +
 target/s390x/translate_vx.inc.c                    |  107 +-
 target/s390x/vec_fpu_helper.c                      |    2 +-
 target/s390x/vec_int_helper.c                      |   31 -
 target/sparc/fop_helper.c                          |    4 +-
 target/sparc/int32_helper.c                        |   23 +-
 target/tricore/Makefile.objs                       |    2 +-
 target/tricore/cpu.c                               |   18 +-
 target/tricore/cpu.h                               |    2 +
 target/tricore/gdbstub.c                           |  139 +
 target/tricore/helper.c                            |   13 +
 target/tricore/translate.c                         |   79 +-
 target/unicore32/helper.c                          |   70 +-
 target/unicore32/ucf64_helper.c                    |    6 +-
 target/xtensa/fpu_helper.c                         |    6 +-
 tcg/README                                         |    7 +-
 tcg/aarch64/tcg-target.h                           |    3 +
 tcg/aarch64/tcg-target.inc.c                       |   53 +-
 tcg/aarch64/tcg-target.opc.h                       |    1 +
 tcg/i386/tcg-target.h                              |    3 +
 tcg/i386/tcg-target.inc.c                          |  116 +-
 tcg/ppc/tcg-target.h                               |    3 +
 tcg/ppc/tcg-target.inc.c                           |   23 +-
 tcg/ppc/tcg-target.opc.h                           |    1 -
 tcg/tcg-op-gvec.c                                  |  376 +-
 tcg/tcg-op-vec.c                                   |   62 +-
 tcg/tcg-op.c                                       |   16 +-
 tcg/tcg.c                                          |   98 +-
 tests/Makefile.include                             |   76 +-
 tests/acceptance/avocado_qemu/__init__.py          |   13 +-
 tests/acceptance/boot_linux.py                     |   49 +-
 tests/acceptance/boot_linux_console.py             |   84 +-
 tests/acceptance/machine_arm_canona1100.py         |   35 +
 tests/acceptance/machine_rx_gdbsim.py              |   68 +
 tests/acceptance/migration.py                      |    4 +
 tests/acceptance/replay_kernel.py                  |  300 ++
 tests/benchmark-crypto-hash.c                      |   73 +-
 tests/check-qlist.c                                |   37 +-
 tests/check-qom-proplist.c                         |   70 +-
 tests/data/acpi/pc/DSDT                            |  Bin 5131 -> 4934 bytes
 tests/data/acpi/pc/DSDT.acpihmat                   |  Bin 6455 -> 6258 bytes
 tests/data/acpi/pc/DSDT.bridge                     |  Bin 6990 -> 6793 bytes
 tests/data/acpi/pc/DSDT.cphp                       |  Bin 5594 -> 5397 bytes
 tests/data/acpi/pc/DSDT.dimmpxm                    |  Bin 6784 -> 6587 bytes
 tests/data/acpi/pc/DSDT.ipmikcs                    |  Bin 5203 -> 5006 bytes
 tests/data/acpi/pc/DSDT.memhp                      |  Bin 6490 -> 6293 bytes
 tests/data/acpi/pc/DSDT.numamem                    |  Bin 5137 -> 4940 bytes
 tests/data/acpi/pc/SRAT.dimmpxm                    |  Bin 392 -> 392 bytes
 tests/data/acpi/pc/SSDT.dimmpxm                    |  Bin 685 -> 734 bytes
 tests/data/acpi/pc/WAET                            |  Bin 0 -> 40 bytes
 tests/data/acpi/q35/DSDT                           |  Bin 7869 -> 7678 bytes
 tests/data/acpi/q35/DSDT.acpihmat                  |  Bin 9193 -> 9002 bytes
 tests/data/acpi/q35/DSDT.bridge                    |  Bin 7886 -> 7695 bytes
 tests/data/acpi/q35/DSDT.cphp                      |  Bin 8332 -> 8141 bytes
 tests/data/acpi/q35/DSDT.dimmpxm                   |  Bin 9522 -> 9331 bytes
 tests/data/acpi/q35/DSDT.ipmibt                    |  Bin 7944 -> 7753 bytes
 tests/data/acpi/q35/DSDT.memhp                     |  Bin 9228 -> 9037 bytes
 tests/data/acpi/q35/DSDT.mmio64                    |  Bin 8999 -> 8808 bytes
 tests/data/acpi/q35/DSDT.numamem                   |  Bin 7875 -> 7684 bytes
 tests/data/acpi/q35/DSDT.tis                       |  Bin 0 -> 8283 bytes
 tests/data/acpi/q35/SRAT.dimmpxm                   |  Bin 392 -> 392 bytes
 tests/data/acpi/q35/SSDT.dimmpxm                   |  Bin 685 -> 734 bytes
 tests/data/acpi/q35/TPM2.tis                       |  Bin 0 -> 76 bytes
 tests/data/acpi/q35/WAET                           |  Bin 0 -> 40 bytes
 tests/data/acpi/virt/DSDT.memhp                    |  Bin 6644 -> 6668 bytes
 tests/data/acpi/virt/NFIT.memhp                    |  Bin 0 -> 224 bytes
 tests/data/acpi/virt/SRAT.memhp                    |  Bin 186 -> 226 bytes
 tests/data/acpi/virt/SSDT.memhp                    |  Bin 0 -> 736 bytes
 tests/decode/err_pattern_group_nest1.decode        |   11 +-
 tests/decode/err_pattern_group_nest2.decode        |    6 +
 tests/decode/err_pattern_group_nest3.decode        |   14 +
 tests/decode/succ_pattern_group_nest2.decode       |   13 +
 tests/decode/succ_pattern_group_nest3.decode       |   11 +
 tests/decode/succ_pattern_group_nest4.decode       |   13 +
 tests/docker/Makefile.include                      |    8 +-
 tests/docker/docker.py                             |   19 +-
 tests/docker/dockerfiles/centos7.docker            |    2 -
 tests/docker/dockerfiles/centos8.docker            |    2 -
 .../dockerfiles/debian-arm64-test-cross.docker     |   13 +
 .../docker/dockerfiles/debian-xtensa-cross.docker  |    2 -
 tests/docker/dockerfiles/debian10.docker           |    2 -
 tests/docker/dockerfiles/debian11.docker           |   18 +
 tests/docker/dockerfiles/debian9.docker            |    2 -
 tests/docker/dockerfiles/fedora.docker             |    4 +-
 tests/docker/dockerfiles/ubuntu.docker             |    4 +-
 tests/docker/dockerfiles/ubuntu1804.docker         |    2 +-
 tests/docker/dockerfiles/ubuntu2004.docker         |   65 +
 tests/docker/test-tsan                             |   44 +
 tests/fp/fp-test.c                                 |    2 +-
 tests/guest-debug/run-test.py                      |   36 +-
 tests/migration/guestperf-batch.py                 |    2 +-
 tests/migration/guestperf-plot.py                  |    2 +-
 tests/migration/guestperf.py                       |    2 +-
 tests/migration/stress.c                           |   34 +-
 tests/plugin/Makefile                              |    3 +-
 tests/plugin/lockstep.c                            |  340 ++
 tests/plugin/mem.c                                 |    2 +-
 tests/qemu-iotests/001                             |    2 +-
 tests/qemu-iotests/030                             |   10 +-
 tests/qemu-iotests/031.out                         |   36 +-
 tests/qemu-iotests/036.out                         |    8 +-
 tests/qemu-iotests/041                             |   57 +-
 tests/qemu-iotests/041.out                         |    4 +-
 tests/qemu-iotests/049.out                         |  110 +-
 tests/qemu-iotests/052                             |    2 +-
 tests/qemu-iotests/055                             |  121 +-
 tests/qemu-iotests/055.out                         |    4 +-
 tests/qemu-iotests/059                             |    6 +-
 tests/qemu-iotests/060.out                         |    1 +
 tests/qemu-iotests/061                             |   35 +
 tests/qemu-iotests/061.out                         |   76 +-
 tests/qemu-iotests/065                             |   28 +-
 tests/qemu-iotests/080                             |    2 +-
 tests/qemu-iotests/082                             |    1 +
 tests/qemu-iotests/082.out                         |   48 +-
 tests/qemu-iotests/085.out                         |   38 +-
 tests/qemu-iotests/091                             |    2 +-
 tests/qemu-iotests/098.out                         |    8 +-
 tests/qemu-iotests/109                             |   11 +-
 tests/qemu-iotests/109.out                         |   74 +-
 tests/qemu-iotests/113                             |    4 +-
 tests/qemu-iotests/118                             |    7 +-
 tests/qemu-iotests/134                             |    2 +-
 tests/qemu-iotests/143                             |    4 +
 tests/qemu-iotests/143.out                         |    2 +
 tests/qemu-iotests/144.out                         |    4 +-
 tests/qemu-iotests/148                             |    1 +
 tests/qemu-iotests/149                             |    3 +-
 tests/qemu-iotests/153                             |    2 +-
 tests/qemu-iotests/153.out                         |   12 +-
 tests/qemu-iotests/155                             |    2 +-
 tests/qemu-iotests/172                             |   27 +-
 tests/qemu-iotests/172.out                         | 1154 +++--
 tests/qemu-iotests/178.out.qcow2                   |   18 +-
 tests/qemu-iotests/178.out.raw                     |    2 +-
 tests/qemu-iotests/182.out                         |    2 +-
 tests/qemu-iotests/185.out                         |    8 +-
 tests/qemu-iotests/188                             |    2 +-
 tests/qemu-iotests/190                             |   49 +-
 tests/qemu-iotests/190.out                         |   27 +-
 tests/qemu-iotests/194                             |   28 +-
 tests/qemu-iotests/194.out                         |   11 +
 tests/qemu-iotests/198.out                         |    2 +
 tests/qemu-iotests/202                             |    4 +-
 tests/qemu-iotests/203                             |    4 +-
 tests/qemu-iotests/206                             |    2 +-
 tests/qemu-iotests/206.out                         |    5 +
 tests/qemu-iotests/207                             |    6 +-
 tests/qemu-iotests/208                             |    2 +-
 tests/qemu-iotests/209                             |    2 +-
 tests/qemu-iotests/210                             |    6 +-
 tests/qemu-iotests/211                             |    6 +-
 tests/qemu-iotests/212                             |    6 +-
 tests/qemu-iotests/213                             |    6 +-
 tests/qemu-iotests/216                             |    4 +-
 tests/qemu-iotests/218                             |    2 +-
 tests/qemu-iotests/219                             |    2 +-
 tests/qemu-iotests/222                             |    7 +-
 tests/qemu-iotests/223                             |    6 +-
 tests/qemu-iotests/223.out                         |    3 +-
 tests/qemu-iotests/224                             |    4 +-
 tests/qemu-iotests/228                             |    6 +-
 tests/qemu-iotests/229                             |   21 +-
 tests/qemu-iotests/229.out                         |    6 +-
 tests/qemu-iotests/234                             |    4 +-
 tests/qemu-iotests/235                             |    4 +-
 tests/qemu-iotests/236                             |    2 +-
 tests/qemu-iotests/237                             |    2 +-
 tests/qemu-iotests/238                             |    2 +
 tests/qemu-iotests/242                             |    2 +-
 tests/qemu-iotests/242.out                         |    5 +
 tests/qemu-iotests/244                             |   10 +-
 tests/qemu-iotests/244.out                         |    9 +-
 tests/qemu-iotests/245                             |    1 +
 tests/qemu-iotests/245.out                         |   10 +-
 tests/qemu-iotests/246                             |    2 +-
 tests/qemu-iotests/248                             |    2 +-
 tests/qemu-iotests/254                             |    2 +-
 tests/qemu-iotests/255                             |    2 +-
 tests/qemu-iotests/255.out                         |    8 +-
 tests/qemu-iotests/256                             |    2 +-
 tests/qemu-iotests/258                             |   10 +-
 tests/qemu-iotests/260                             |    4 +-
 tests/qemu-iotests/262                             |    4 +-
 tests/qemu-iotests/264                             |    4 +-
 tests/qemu-iotests/274                             |  155 +
 tests/qemu-iotests/274.out                         |  271 ++
 tests/qemu-iotests/277                             |    2 +
 tests/qemu-iotests/280                             |    8 +-
 tests/qemu-iotests/280.out                         |    2 +-
 tests/qemu-iotests/283                             |   10 +-
 tests/qemu-iotests/283.out                         |    2 +-
 tests/qemu-iotests/287                             |  152 +
 tests/qemu-iotests/287.out                         |   67 +
 tests/qemu-iotests/291                             |  118 +
 tests/qemu-iotests/291.out                         |  113 +
 tests/qemu-iotests/292                             |   78 +
 tests/qemu-iotests/292.out                         |   24 +
 tests/qemu-iotests/297                             |   44 +
 tests/qemu-iotests/297.out                         |    3 +
 tests/qemu-iotests/check                           |    3 +
 tests/qemu-iotests/common.filter                   |    8 +-
 tests/qemu-iotests/common.rc                       |   37 +-
 tests/qemu-iotests/group                           |    5 +
 tests/qemu-iotests/iotests.py                      |  390 +-
 tests/qemu-iotests/nbd-fault-injector.py           |    5 +-
 tests/qemu-iotests/pylintrc                        |   26 +
 tests/qemu-iotests/qcow2.py                        |  220 +-
 tests/qemu-iotests/qcow2_format.py                 |  287 ++
 tests/qht-bench.c                                  |    3 +-
 tests/qtest/Makefile.include                       |    8 +-
 tests/qtest/arm-cpu-features.c                     |   38 +-
 tests/qtest/bios-tables-test-allowed-diff.h        |   18 +
 tests/qtest/bios-tables-test.c                     |   73 +-
 tests/qtest/e1000e-test.c                          |    2 +-
 tests/qtest/endianness-test.c                      |    2 +-
 tests/qtest/fuzz/Makefile.include                  |   27 +-
 tests/qtest/fuzz/fork_fuzz.ld                      |    5 +
 tests/qtest/fuzz/fuzz.c                            |   48 +-
 tests/qtest/fuzz/fuzz.h                            |    3 +
 tests/qtest/fuzz/i440fx_fuzz.c                     |   50 +-
 tests/qtest/fuzz/qos_fuzz.c                        |    2 +-
 tests/qtest/fuzz/qtest_wrappers.c                  |  252 +
 tests/qtest/fuzz/virtio_net_fuzz.c                 |    2 +
 tests/qtest/fuzz/virtio_scsi_fuzz.c                |    2 +
 tests/qtest/libqos/aarch64-xlnx-zcu102-machine.c   |    2 +-
 tests/qtest/libqos/arm-imx25-pdk-machine.c         |    2 +-
 tests/qtest/libqos/arm-n800-machine.c              |    2 +-
 tests/qtest/libqos/arm-raspi2-machine.c            |    2 +-
 tests/qtest/libqos/arm-sabrelite-machine.c         |    2 +-
 tests/qtest/libqos/arm-smdkc210-machine.c          |    2 +-
 tests/qtest/libqos/arm-virt-machine.c              |    2 +-
 tests/qtest/libqos/arm-xilinx-zynq-a9-machine.c    |    2 +-
 tests/qtest/libqos/e1000e.c                        |    2 +-
 tests/qtest/libqos/e1000e.h                        |    2 +-
 tests/qtest/libqos/ppc64_pseries-machine.c         |    2 +-
 tests/qtest/libqos/qgraph.c                        |    2 +-
 tests/qtest/libqos/qgraph.h                        |    2 +-
 tests/qtest/libqos/qgraph_internal.h               |    2 +-
 tests/qtest/libqos/qos_external.c                  |    2 +-
 tests/qtest/libqos/qos_external.h                  |    2 +-
 tests/qtest/libqos/sdhci.c                         |    2 +-
 tests/qtest/libqos/sdhci.h                         |    2 +-
 tests/qtest/libqos/virtio-9p.c                     |    2 +-
 tests/qtest/libqos/virtio-9p.h                     |    2 +-
 tests/qtest/libqos/virtio-balloon.c                |    2 +-
 tests/qtest/libqos/virtio-balloon.h                |    2 +-
 tests/qtest/libqos/virtio-blk.c                    |    2 +-
 tests/qtest/libqos/virtio-blk.h                    |    2 +-
 tests/qtest/libqos/virtio-net.c                    |    2 +-
 tests/qtest/libqos/virtio-net.h                    |    2 +-
 tests/qtest/libqos/virtio-rng.c                    |    2 +-
 tests/qtest/libqos/virtio-rng.h                    |    2 +-
 tests/qtest/libqos/virtio-scsi.c                   |    2 +-
 tests/qtest/libqos/virtio-scsi.h                   |    2 +-
 tests/qtest/libqos/virtio-serial.c                 |    2 +-
 tests/qtest/libqos/virtio-serial.h                 |    2 +-
 tests/qtest/libqos/x86_64_pc-machine.c             |    2 +-
 tests/qtest/machine-none-test.c                    |   14 +-
 tests/qtest/migration-test.c                       |    4 +-
 tests/qtest/qos-test.c                             |    2 +-
 tests/qtest/test-hmp.c                             |    1 +
 tests/qtest/tpm-emu.c                              |    3 +-
 tests/qtest/tpm-emu.h                              |    3 +
 tests/tcg/Makefile.target                          |   12 +-
 tests/tcg/aarch64/Makefile.softmmu-target          |    2 +-
 tests/tcg/aarch64/Makefile.target                  |   10 +-
 tests/tcg/aarch64/gdbstub/test-sve-ioctl.py        |    4 -
 tests/tcg/aarch64/gdbstub/test-sve.py              |    4 -
 tests/tcg/arm/Makefile.target                      |    4 +-
 tests/tcg/arm/commpage.c                           |   61 +
 tests/tcg/configure.sh                             |    4 +-
 tests/tcg/cris/Makefile.target                     |    1 +
 tests/tcg/i386/Makefile.target                     |    4 +
 tests/tcg/i386/test-i386-fbstp.c                   |  140 +
 tests/tcg/i386/test-i386-fisttp.c                  |  100 +
 tests/tcg/i386/test-i386-fldcst.c                  |  199 +
 tests/tcg/i386/test-i386-fp-exceptions.c           |  831 ++++
 tests/tcg/i386/test-i386-fscale.c                  |  108 +
 tests/tcg/i386/test-i386-fxam.c                    |  143 +
 tests/tcg/i386/test-i386-fxtract.c                 |  120 +
 tests/tcg/i386/test-i386-pcmpistri.c               |   33 +
 tests/tcg/i386/test-i386-pseudo-denormal.c         |   38 +
 tests/tcg/i386/test-i386-snan-convert.c            |   63 +
 tests/tcg/multiarch/Makefile.target                |   16 +
 tests/tcg/multiarch/gdbstub/sha1.py                |   85 +
 tests/tcg/multiarch/threadcount.c                  |   64 +
 tests/test-bdrv-drain.c                            |   72 +-
 tests/test-bdrv-graph-mod.c                        |   10 +-
 tests/test-block-iothread.c                        |   26 +-
 tests/test-crypto-secret.c                         |  158 +
 tests/test-io-task.c                               |    1 +
 tests/test-qdev-global-props.c                     |   13 +-
 tests/test-qobject-output-visitor.c                |   39 -
 tests/test-string-output-visitor.c                 |   19 -
 tests/test-util-sockets.c                          |   92 +
 tests/tsan/blacklist.tsan                          |   10 +
 tests/tsan/suppressions.tsan                       |   14 +
 tests/vm/Makefile.include                          |    6 +
 tests/vm/basevm.py                                 |   54 +-
 tests/vm/fedora                                    |    1 -
 tests/vm/freebsd                                   |    1 -
 tests/vm/netbsd                                    |    1 -
 tests/vm/openbsd                                   |    1 -
 tests/vm/ubuntu.i386                               |    2 +-
 tools/virtiofsd/fuse_lowlevel.h                    |    1 +
 tools/virtiofsd/helper.c                           |   47 +
 tools/virtiofsd/passthrough_ll.c                   |  277 +-
 tools/virtiofsd/seccomp.c                          |    1 +
 trace/simple.c                                     |   20 +-
 trace/simple.h                                     |    2 +-
 ui/Makefile.objs                                   |    3 +
 ui/console.c                                       |    7 +-
 ui/gtk.c                                           |  197 +-
 ui/input-barrier.c                                 |   14 +-
 ui/input-linux.c                                   |    8 +-
 ui/sdl2-input.c                                    |    3 +
 ui/sdl2.c                                          |   45 +-
 ui/spice-display.c                                 |   14 +-
 ui/trace-events                                    |    3 +
 ui/vnc.c                                           |    2 +-
 ui/win32-kbd-hook.c                                |  102 +
 util/Makefile.objs                                 |   59 +-
 util/aio-posix.c                                   |   13 +
 util/aio-win32.c                                   |    4 +
 util/async.c                                       |    1 +
 util/coroutine-ucontext.c                          |   66 +-
 util/fdmon-io_uring.c                              |   13 +-
 util/log.c                                         |    4 +-
 util/oslib-posix.c                                 |   24 +
 util/qemu-option.c                                 |   43 +-
 util/qemu-sockets.c                                |   44 +-
 util/qemu-thread-posix.c                           |    2 +
 util/qemu-timer.c                                  |   17 +-
 util/qht.c                                         |    1 +
 util/rcu.c                                         |    8 +-
 util/systemd.c                                     |    4 +-
 util/thread-pool.c                                 |    3 +-
 util/vfio-helpers.c                                |    5 +-
 1584 files changed, 65536 insertions(+), 30718 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 90645fede6..69342ae031 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -3,18 +3,18 @@ env:
 
 freebsd_12_task:
   freebsd_instance:
-    image: freebsd-12-0-release-amd64
+    image_family: freebsd-12-1
     cpu: 8
     memory: 8G
-  install_script: pkg install -y
-    bash bison curl cyrus-sasl git glib gmake gnutls gsed
+  install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y
+    bash curl cyrus-sasl git glib gmake gnutls gsed
     nettle perl5 pixman pkgconf png usbredir
   script:
     - mkdir build
     - cd build
     - ../configure || { cat config.log; exit 1; }
     - gmake -j8
-    - gmake -j8 V=1 check
+    - gmake V=1 check
 
 macos_task:
   osx_instance:
@@ -26,7 +26,7 @@ macos_task:
     - cd build
     - ../configure --python=/usr/local/bin/python3 || { cat config.log; exit 
1; }
     - gmake -j$(sysctl -n hw.ncpu)
-    - gmake check -j$(sysctl -n hw.ncpu)
+    - gmake check
 
 macos_xcode_task:
   osx_instance:
@@ -39,4 +39,4 @@ macos_xcode_task:
     - cd build
     - ../configure --cc=clang || { cat config.log; exit 1; }
     - gmake -j$(sysctl -n hw.ncpu)
-    - gmake check -j$(sysctl -n hw.ncpu)
+    - gmake check
diff --git a/.gitignore b/.gitignore
index 0c5af83aa7..90acb4347d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,18 +34,18 @@
 /qapi/qapi-builtin-types.[ch]
 /qapi/qapi-builtin-visit.[ch]
 /qapi/qapi-commands-*.[ch]
-/qapi/qapi-commands.[ch]
-/qapi/qapi-emit-events.[ch]
+**/qapi/qapi-commands.[ch]
+**/qapi/qapi-emit-events.[ch]
 /qapi/qapi-events-*.[ch]
-/qapi/qapi-events.[ch]
-/qapi/qapi-init-commands.[ch]
-/qapi/qapi-introspect.[ch]
+**/qapi/qapi-events.[ch]
+**/qapi/qapi-init-commands.[ch]
+**/qapi/qapi-introspect.[ch]
 /qapi/qapi-types-*.[ch]
-/qapi/qapi-types.[ch]
+**/qapi/qapi-types.[ch]
 /qapi/qapi-visit-*.[ch]
 !/qapi/qapi-visit-core.c
-/qapi/qapi-visit.[ch]
-/qapi/qapi-doc.texi
+**/qapi/qapi-visit.[ch]
+**/qapi/qapi-doc.texi
 /qemu-edid
 /qemu-img
 /qemu-nbd
@@ -59,6 +59,7 @@
 /qemu-keymap
 /qemu-monitor.texi
 /qemu-monitor-info.texi
+/qemu-storage-daemon
 /qemu-version.h
 /qemu-version.h.tmp
 /module_block.h
diff --git a/.gitlab-ci-edk2.yml b/.gitlab-ci-edk2.yml
deleted file mode 100644
index 088ba4b43a..0000000000
--- a/.gitlab-ci-edk2.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-docker-edk2:
- stage: build
- rules: # Only run this job when the Dockerfile is modified
- - changes:
-   - .gitlab-ci-edk2.yml
-   - .gitlab-ci.d/edk2/Dockerfile
-   when: always
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
-  GIT_DEPTH: 3
-  IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build
-  # We don't use TLS
-  DOCKER_HOST: tcp://docker:2375
-  DOCKER_TLS_CERTDIR: ""
- before_script:
- - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- script:
- - docker pull $IMAGE_TAG || true
- - docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
-                                        --tag $IMAGE_TAG .gitlab-ci.d/edk2
- - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- - docker push $IMAGE_TAG
-
-build-edk2:
- rules: # Only run this job when ...
- - changes: # ... roms/edk2/ is modified (submodule updated)
-   - roms/edk2/*
-   when: always
- - if: '$CI_COMMIT_REF_NAME =~ /^edk2/' # or the branch/tag starts with 'edk2'
-   when: always
- - if: '$CI_COMMIT_MESSAGE =~ /edk2/i' # or last commit description contains 
'EDK2'
-   when: always
- artifacts:
-   paths: # 'artifacts.zip' will contains the following files:
-   - pc-bios/edk2*bz2
-   - pc-bios/edk2-licenses.txt
-   - edk2-stdout.log
-   - edk2-stderr.log
- image: $CI_REGISTRY_IMAGE:edk2-cross-build
- variables:
-   GIT_DEPTH: 3
- script: # Clone the required submodules and build EDK2
- - git submodule update --init roms/edk2
- - git -C roms/edk2 submodule update --init
- - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
- - echo "=== Using ${JOBS} simultaneous jobs ==="
- - make -j${JOBS} -C roms efi 2>&1 1>edk2-stdout.log | tee -a edk2-stderr.log 
>&2
diff --git a/.gitlab-ci-opensbi.yml b/.gitlab-ci-opensbi.yml
deleted file mode 100644
index dd051c0124..0000000000
--- a/.gitlab-ci-opensbi.yml
+++ /dev/null
@@ -1,63 +0,0 @@
-docker-opensbi:
- stage: build
- rules: # Only run this job when the Dockerfile is modified
- - changes:
-   - .gitlab-ci-opensbi.yml
-   - .gitlab-ci.d/opensbi/Dockerfile
-   when: always
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
-  GIT_DEPTH: 3
-  IMAGE_TAG: $CI_REGISTRY_IMAGE:opensbi-cross-build
-  # We don't use TLS
-  DOCKER_HOST: tcp://docker:2375
-  DOCKER_TLS_CERTDIR: ""
- before_script:
- - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- script:
- - docker pull $IMAGE_TAG || true
- - docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
-                                        --tag $IMAGE_TAG .gitlab-ci.d/opensbi
- - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- - docker push $IMAGE_TAG
-
-build-opensbi:
- rules: # Only run this job when ...
- - changes: # ... roms/opensbi/ is modified (submodule updated)
-   - roms/opensbi/*
-   when: always
- - if: '$CI_COMMIT_REF_NAME =~ /^opensbi/' # or the branch/tag starts with 
'opensbi'
-   when: always
- - if: '$CI_COMMIT_MESSAGE =~ /opensbi/i' # or last commit description 
contains 'OpenSBI'
-   when: always
- artifacts:
-   paths: # 'artifacts.zip' will contains the following files:
-   - pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
-   - pc-bios/opensbi-riscv32-virt-fw_jump.bin
-   - pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
-   - pc-bios/opensbi-riscv64-virt-fw_jump.bin
-   - opensbi32-virt-stdout.log
-   - opensbi32-virt-stderr.log
-   - opensbi64-virt-stdout.log
-   - opensbi64-virt-stderr.log
-   - opensbi32-sifive_u-stdout.log
-   - opensbi32-sifive_u-stderr.log
-   - opensbi64-sifive_u-stdout.log
-   - opensbi64-sifive_u-stderr.log
- image: $CI_REGISTRY_IMAGE:opensbi-cross-build
- variables:
-   GIT_DEPTH: 3
- script: # Clone the required submodules and build OpenSBI
- - git submodule update --init roms/opensbi
- - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
- - echo "=== Using ${JOBS} simultaneous jobs ==="
- - make -j${JOBS} -C roms/opensbi clean
- - make -j${JOBS} -C roms opensbi32-virt 2>&1 1>opensbi32-virt-stdout.log | 
tee -a opensbi32-virt-stderr.log >&2
- - make -j${JOBS} -C roms/opensbi clean
- - make -j${JOBS} -C roms opensbi64-virt 2>&1 1>opensbi64-virt-stdout.log | 
tee -a opensbi64-virt-stderr.log >&2
- - make -j${JOBS} -C roms/opensbi clean
- - make -j${JOBS} -C roms opensbi32-sifive_u 2>&1 
1>opensbi32-sifive_u-stdout.log | tee -a opensbi32-sifive_u-stderr.log >&2
- - make -j${JOBS} -C roms/opensbi clean
- - make -j${JOBS} -C roms opensbi64-sifive_u 2>&1 
1>opensbi64-sifive_u-stdout.log | tee -a opensbi64-sifive_u-stderr.log >&2
diff --git a/.gitlab-ci.d/edk2.yml b/.gitlab-ci.d/edk2.yml
new file mode 100644
index 0000000000..088ba4b43a
--- /dev/null
+++ b/.gitlab-ci.d/edk2.yml
@@ -0,0 +1,49 @@
+docker-edk2:
+ stage: build
+ rules: # Only run this job when the Dockerfile is modified
+ - changes:
+   - .gitlab-ci-edk2.yml
+   - .gitlab-ci.d/edk2/Dockerfile
+   when: always
+ image: docker:19.03.1
+ services:
+ - docker:19.03.1-dind
+ variables:
+  GIT_DEPTH: 3
+  IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build
+  # We don't use TLS
+  DOCKER_HOST: tcp://docker:2375
+  DOCKER_TLS_CERTDIR: ""
+ before_script:
+ - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+ script:
+ - docker pull $IMAGE_TAG || true
+ - docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+                                        --tag $IMAGE_TAG .gitlab-ci.d/edk2
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - docker push $IMAGE_TAG
+
+build-edk2:
+ rules: # Only run this job when ...
+ - changes: # ... roms/edk2/ is modified (submodule updated)
+   - roms/edk2/*
+   when: always
+ - if: '$CI_COMMIT_REF_NAME =~ /^edk2/' # or the branch/tag starts with 'edk2'
+   when: always
+ - if: '$CI_COMMIT_MESSAGE =~ /edk2/i' # or last commit description contains 
'EDK2'
+   when: always
+ artifacts:
+   paths: # 'artifacts.zip' will contains the following files:
+   - pc-bios/edk2*bz2
+   - pc-bios/edk2-licenses.txt
+   - edk2-stdout.log
+   - edk2-stderr.log
+ image: $CI_REGISTRY_IMAGE:edk2-cross-build
+ variables:
+   GIT_DEPTH: 3
+ script: # Clone the required submodules and build EDK2
+ - git submodule update --init roms/edk2
+ - git -C roms/edk2 submodule update --init
+ - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
+ - echo "=== Using ${JOBS} simultaneous jobs ==="
+ - make -j${JOBS} -C roms efi 2>&1 1>edk2-stdout.log | tee -a edk2-stderr.log 
>&2
diff --git a/.gitlab-ci.d/opensbi.yml b/.gitlab-ci.d/opensbi.yml
new file mode 100644
index 0000000000..dd051c0124
--- /dev/null
+++ b/.gitlab-ci.d/opensbi.yml
@@ -0,0 +1,63 @@
+docker-opensbi:
+ stage: build
+ rules: # Only run this job when the Dockerfile is modified
+ - changes:
+   - .gitlab-ci-opensbi.yml
+   - .gitlab-ci.d/opensbi/Dockerfile
+   when: always
+ image: docker:19.03.1
+ services:
+ - docker:19.03.1-dind
+ variables:
+  GIT_DEPTH: 3
+  IMAGE_TAG: $CI_REGISTRY_IMAGE:opensbi-cross-build
+  # We don't use TLS
+  DOCKER_HOST: tcp://docker:2375
+  DOCKER_TLS_CERTDIR: ""
+ before_script:
+ - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+ script:
+ - docker pull $IMAGE_TAG || true
+ - docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+                                        --tag $IMAGE_TAG .gitlab-ci.d/opensbi
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - docker push $IMAGE_TAG
+
+build-opensbi:
+ rules: # Only run this job when ...
+ - changes: # ... roms/opensbi/ is modified (submodule updated)
+   - roms/opensbi/*
+   when: always
+ - if: '$CI_COMMIT_REF_NAME =~ /^opensbi/' # or the branch/tag starts with 
'opensbi'
+   when: always
+ - if: '$CI_COMMIT_MESSAGE =~ /opensbi/i' # or last commit description 
contains 'OpenSBI'
+   when: always
+ artifacts:
+   paths: # 'artifacts.zip' will contains the following files:
+   - pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
+   - pc-bios/opensbi-riscv32-virt-fw_jump.bin
+   - pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
+   - pc-bios/opensbi-riscv64-virt-fw_jump.bin
+   - opensbi32-virt-stdout.log
+   - opensbi32-virt-stderr.log
+   - opensbi64-virt-stdout.log
+   - opensbi64-virt-stderr.log
+   - opensbi32-sifive_u-stdout.log
+   - opensbi32-sifive_u-stderr.log
+   - opensbi64-sifive_u-stdout.log
+   - opensbi64-sifive_u-stderr.log
+ image: $CI_REGISTRY_IMAGE:opensbi-cross-build
+ variables:
+   GIT_DEPTH: 3
+ script: # Clone the required submodules and build OpenSBI
+ - git submodule update --init roms/opensbi
+ - export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
+ - echo "=== Using ${JOBS} simultaneous jobs ==="
+ - make -j${JOBS} -C roms/opensbi clean
+ - make -j${JOBS} -C roms opensbi32-virt 2>&1 1>opensbi32-virt-stdout.log | 
tee -a opensbi32-virt-stderr.log >&2
+ - make -j${JOBS} -C roms/opensbi clean
+ - make -j${JOBS} -C roms opensbi64-virt 2>&1 1>opensbi64-virt-stdout.log | 
tee -a opensbi64-virt-stderr.log >&2
+ - make -j${JOBS} -C roms/opensbi clean
+ - make -j${JOBS} -C roms opensbi32-sifive_u 2>&1 
1>opensbi32-sifive_u-stdout.log | tee -a opensbi32-sifive_u-stderr.log >&2
+ - make -j${JOBS} -C roms/opensbi clean
+ - make -j${JOBS} -C roms opensbi64-sifive_u 2>&1 
1>opensbi64-sifive_u-stdout.log | tee -a opensbi64-sifive_u-stderr.log >&2
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b889fb96b6..349c77aa58 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,12 +1,24 @@
 include:
-  - local: '/.gitlab-ci-edk2.yml'
-  - local: '/.gitlab-ci-opensbi.yml'
+  - local: '/.gitlab-ci.d/edk2.yml'
+  - local: '/.gitlab-ci.d/opensbi.yml'
 
-before_script:
- - apt-get update -qq
- - apt-get install -y -qq flex bison libglib2.0-dev libpixman-1-dev genisoimage
+.update_apt_template: &before_script_apt
+ before_script:
+  - apt-get update -qq
+  - apt-get install -y -qq git gcc libglib2.0-dev libpixman-1-dev make
+        genisoimage
+  - JOBS=$(expr $(nproc) + 1)
+
+.update_dnf_template: &before_script_dnf
+ before_script:
+  - dnf update -y
+  - dnf install -y bzip2 diffutils gcc git genisoimage findutils glib2-devel
+        make python3 perl-podlators perl-Test-Harness pixman-devel zlib-devel
+  - JOBS=$(expr $(nproc) + 1)
 
 build-system1:
+ image: ubuntu:19.10
+ <<: *before_script_apt
  script:
  - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
       libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev 
libvdeplug-dev
@@ -15,23 +27,27 @@ build-system1:
  - ../configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
       cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
       mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"
- - make -j2
- - make -j2 check
+ - make -j"$JOBS"
+ - make -j"$JOBS" check
 
 build-system2:
+ image: fedora:latest
+ <<: *before_script_dnf
  script:
- - apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-dev
-      libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev
-      libzstd-dev
+ - yum install -y SDL2-devel libgcrypt-devel brlapi-devel libaio-devel
+       libfdt-devel lzo-devel librdmacm-devel libibverbs-devel libibumad-devel
+       libzstd-devel
  - mkdir build
  - cd build
  - ../configure --enable-werror --target-list="tricore-softmmu 
unicore32-softmmu
       microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-softmmu
       sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-softmmu"
- - make -j2
- - make -j2 check
+ - make -j"$JOBS"
+ - make -j"$JOBS" check
 
 build-disabled:
+ image: fedora:latest
+ <<: *before_script_dnf
  script:
  - mkdir build
  - cd build
@@ -42,16 +58,18 @@ build-disabled:
       --disable-qom-cast-debug --disable-spice --disable-vhost-vsock
       --disable-vhost-net --disable-vhost-crypto --disable-vhost-user
       --target-list="i386-softmmu ppc64-softmmu mips64-softmmu i386-linux-user"
- - make -j2
- - make -j2 check-qtest SPEED=slow
+ - make -j"$JOBS"
+ - make -j"$JOBS" check-qtest SPEED=slow
 
 build-tcg-disabled:
+ image: centos:8
+ <<: *before_script_dnf
  script:
- - apt-get install -y -qq clang libgtk-3-dev libusb-dev
+ - dnf install -y clang gtk3-devel libusbx-devel libgcrypt-devel
  - mkdir build
  - cd build
  - ../configure --cc=clang --enable-werror --disable-tcg --audio-drv-list=""
- - make -j2
+ - make -j"$JOBS"
  - make check-unit
  - make check-qapi-schema
  - cd tests/qemu-iotests/
@@ -64,34 +82,39 @@ build-tcg-disabled:
             260 261 262 263 264 270 272 273 277 279
 
 build-user:
+ <<: *before_script_apt
  script:
  - mkdir build
  - cd build
  - ../configure --enable-werror --disable-system --disable-guest-agent
                --disable-capstone --disable-slirp --disable-fdt
- - make -j2
+ - make -j"$JOBS"
  - make run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user
 
 build-clang:
+ image: fedora:latest
+ <<: *before_script_dnf
  script:
- - apt-get install -y -qq clang libsdl2-dev libattr1-dev libcap-ng-dev
-      xfslibs-dev libiscsi-dev libnfs-dev libseccomp-dev gnutls-dev librbd-dev
+ - yum install -y clang SDL2-devel libattr-devel libcap-ng-devel xfsprogs-devel
+       libiscsi-devel libnfs-devel libseccomp-devel gnutls-devel librbd-devel
  - mkdir build
  - cd build
  - ../configure --cc=clang --cxx=clang++ --enable-werror
       --target-list="alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
                      ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user"
- - make -j2
- - make -j2 check
+ - make -j"$JOBS"
+ - make -j"$JOBS" check
 
 build-tci:
+ image: centos:8
+ <<: *before_script_dnf
  script:
  - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
  - mkdir build
  - cd build
  - ../configure --enable-tcg-interpreter
       --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
- - make -j2
+ - make -j"$JOBS"
  - make run-tcg-tests-x86_64-softmmu
  - make tests/qtest/boot-serial-test tests/qtest/cdrom-test 
tests/qtest/pxe-test
  - for tg in $TARGETS ; do
diff --git a/.mailmap b/.mailmap
index 6412067bde..926cac6bb8 100644
--- a/.mailmap
+++ b/.mailmap
@@ -42,14 +42,18 @@ Justin Terry (VM) <juterry@xxxxxxxxxxxxx> Justin Terry (VM) 
via Qemu-devel <qemu
 Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx> 
<aleksandar.markovic@xxxxxxxx>
 Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx> 
<aleksandar.markovic@xxxxxxxxxx>
 Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx> <amarkovic@xxxxxxxxxxxx>
-Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx> <arikalo@xxxxxxxxxxxx>
+Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx> <arikalo@xxxxxxxxxxxx>
+Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx> <aleksandar.rikalo@xxxxxxxxx>
 Anthony Liguori <anthony@xxxxxxxxxxxxx> Anthony Liguori <aliguori@xxxxxxxxxx>
+Filip Bozuta <filip.bozuta@xxxxxxxxxx> <filip.bozuta@xxxxxxxxxxxxx>
+Frederic Konrad <konrad@xxxxxxxxxxx> <fred.konrad@xxxxxxxxxxxxx>
 James Hogan <jhogan@xxxxxxxxxx> <james.hogan@xxxxxxxxxx>
 Leif Lindholm <leif@xxxxxxxxxxxx> <leif.lindholm@xxxxxxxxxx>
 Paul Burton <pburton@xxxxxxxxxxxx> <paul.burton@xxxxxxxx>
 Paul Burton <pburton@xxxxxxxxxxxx> <paul.burton@xxxxxxxxxx>
 Paul Burton <pburton@xxxxxxxxxxxx> <paul@xxxxxxxxxxxxxxxxx>
 Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> <f4bug@xxxxxxxxx>
+Stefan Brankovic <stefan.brankovic@xxxxxxxxxx> <stefan.brankovic@xxxxxxxxxxxxx>
 Yongbok Kim <yongbok.kim@xxxxxxxx> <yongbok.kim@xxxxxxxxxx>
 
 # Also list preferred name forms where people have changed their
diff --git a/.travis.yml b/.travis.yml
index 2fd63eceaa..74158f741b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,9 +9,8 @@ compiler:
 cache:
   # There is one cache per branch and compiler version.
   # characteristics of each job are used to identify the cache:
-  # - OS name (currently, linux, osx, or windows)
+  # - OS name (currently only linux)
   # - OS distribution (for Linux, xenial, trusty, or precise)
-  # - macOS image name (e.g., xcode7.2)
   # - Names and values of visible environment variables set in .travis.yml or 
Settings panel
   timeout: 1200
   ccache: true
@@ -113,6 +112,7 @@ script:
         $(exit $BUILD_RC);
     fi
 after_script:
+  - df -h
   - if command -v ccache ; then ccache --show-stats ; fi
 
 
@@ -205,14 +205,15 @@ jobs:
     # Test with Clang for compile portability (Travis uses clang-5.0)
     - name: "Clang (user)"
       env:
-        - CONFIG="--disable-system"
+        - CONFIG="--disable-system --host-cc=clang --cxx=clang++"
         - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
       compiler: clang
 
 
     - name: "Clang (main-softmmu)"
       env:
-        - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} "
+        - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS}
+                  --host-cc=clang --cxx=clang++"
         - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize"
       compiler: clang
       before_script:
@@ -222,7 +223,8 @@ jobs:
 
     - name: "Clang (other-softmmu)"
       env:
-        - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
+        - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}
+                  --host-cc=clang --cxx=clang++"
         - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default"
       compiler: clang
 
@@ -270,31 +272,6 @@ jobs:
         - TEST_CMD=""
 
 
-    # MacOSX builds - cirrus.yml also tests some MacOS builds including latest 
Xcode
-
-    - name: "OSX Xcode 10.3"
-      env:
-        - BASE_CONFIG="--disable-docs --enable-tools"
-        - 
CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
-      os: osx
-      osx_image: xcode10.3
-      compiler: clang
-      addons:
-        homebrew:
-          packages:
-            - ccache
-            - glib
-            - pixman
-            - gnu-sed
-            - python
-          update: true
-      before_script:
-        - brew link --overwrite python
-        - export PATH="/usr/local/opt/ccache/libexec:$PATH"
-        - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
-        - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && 
exit 1; }
-
-
     # Python builds
     - name: "GCC Python 3.5 (x86_64-softmmu)"
       env:
@@ -316,7 +293,7 @@ jobs:
     - name: "GCC check-acceptance"
       dist: bionic
       env:
-        - CONFIG="--enable-tools 
--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
+        - CONFIG="--enable-tools 
--target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sh4-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
         - TEST_CMD="make check-acceptance"
         - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-acceptance"
       after_script:
@@ -452,6 +429,7 @@ jobs:
       env:
         - TEST_CMD="make check check-tcg V=1"
         - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}"
+        - UNRELIABLE=true
 
     - name: "[ppc64] GCC check-tcg"
       arch: ppc64le
@@ -483,7 +461,7 @@ jobs:
           - genisoimage
       env:
         - TEST_CMD="make check check-tcg V=1"
-        - CONFIG="--disable-containers 
--target-list=${MAIN_SOFTMMU_TARGETS},ppc64le-linux-user"
+        - CONFIG="--disable-containers 
--target-list=ppc64-softmmu,ppc64le-linux-user"
 
     - name: "[s390x] GCC check-tcg"
       arch: s390x
@@ -516,8 +494,8 @@ jobs:
       env:
         - TEST_CMD="make check check-tcg V=1"
         - CONFIG="--disable-containers 
--target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user"
+        - UNRELIABLE=true
       script:
-        - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF )
         - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
         - |
           if [ "$BUILD_RC" -eq 0 ] ; then
@@ -527,9 +505,10 @@ jobs:
               $(exit $BUILD_RC);
           fi
 
-    - name: "[s390x] GCC check (KVM)"
+    - name: "[s390x] Clang (disable-tcg)"
       arch: s390x
       dist: bionic
+      compiler: clang
       addons:
         apt_packages:
           - libaio-dev
@@ -553,21 +532,11 @@ jobs:
           - libusb-1.0-0-dev
           - libvdeplug-dev
           - libvte-2.91-dev
-          # Tests dependencies
-          - genisoimage
       env:
         - TEST_CMD="make check-unit"
-        - CONFIG="--disable-containers --disable-tcg --enable-kvm 
--disable-tools"
-      script:
-        - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF )
-        - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
-        - |
-          if [ "$BUILD_RC" -eq 0 ] ; then
-              mv pc-bios/s390-ccw/*.img pc-bios/ ;
-              ${TEST_CMD} ;
-          else
-              $(exit $BUILD_RC);
-          fi
+        - CONFIG="--disable-containers --disable-tcg --enable-kvm
+                  --disable-tools --host-cc=clang --cxx=clang++"
+        - UNRELIABLE=true
 
     # Release builds
     # The make-release script expect a QEMU version, so our tag must start 
with a 'v'.
@@ -589,3 +558,5 @@ jobs:
         - mkdir -p release-build && cd release-build
         - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; 
}
         - make install
+  allow_failures:
+    - env: UNRELIABLE=true
diff --git a/MAINTAINERS b/MAINTAINERS
index 8cbc1fac2b..1b40446c73 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -85,6 +85,7 @@ Architecture support
 --------------------
 S390 general architecture support
 M: Cornelia Huck <cohuck@xxxxxxxxxx>
+M: Thomas Huth <thuth@xxxxxxxxxx>
 S: Supported
 F: default-configs/s390x-softmmu.mak
 F: gdb-xml/s390*.xml
@@ -115,6 +116,7 @@ M: Richard Henderson <rth@xxxxxxxxxxx>
 R: Paolo Bonzini <pbonzini@xxxxxxxxxx>
 S: Maintained
 F: cpus.c
+F: cpus-common.c
 F: exec.c
 F: accel/tcg/
 F: accel/stubs/tcg-stub.c
@@ -184,8 +186,8 @@ F: hw/net/*i82596*
 F: include/hw/net/lasi_82596.h
 
 LM32 TCG CPUs
-M: Michael Walle <michael@xxxxxxxx>
-S: Maintained
+R: Michael Walle <michael@xxxxxxxx>
+S: Orphan
 F: target/lm32/
 F: disas/lm32.c
 F: hw/lm32/
@@ -212,7 +214,7 @@ F: disas/microblaze.c
 MIPS TCG CPUs
 M: Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx>
 R: Aurelien Jarno <aurelien@xxxxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Maintained
 F: target/mips/
 F: default-configs/*mips*
@@ -294,7 +296,7 @@ F: tests/tcg/s390x/
 L: qemu-s390x@xxxxxxxxxx
 
 SH4 TCG CPUs
-M: Aurelien Jarno <aurelien@xxxxxxxxxxx>
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
 S: Odd Fixes
 F: target/sh4/
 F: hw/sh4/
@@ -396,6 +398,8 @@ F: target/s390x/machine.c
 F: target/s390x/sigp.c
 F: target/s390x/cpu_features*.[ch]
 F: target/s390x/cpu_models.[ch]
+F: hw/s390x/pv.c
+F: include/hw/s390x/pv.h
 F: hw/intc/s390_flic.c
 F: hw/intc/s390_flic_kvm.c
 F: include/hw/s390x/s390_flic.h
@@ -436,6 +440,7 @@ M: Paul Durrant <paul@xxxxxxx>
 L: xen-devel@xxxxxxxxxxxxxxxxxxxx
 S: Supported
 F: */xen*
+F: accel/xen/*
 F: hw/9pfs/xen-9p*
 F: hw/char/xen_console.c
 F: hw/display/xenfb.c
@@ -449,6 +454,7 @@ F: hw/i386/xen/
 F: hw/pci-host/xen_igd_pt.c
 F: include/hw/block/dataplane/xen*
 F: include/hw/xen/
+F: include/sysemu/xen.h
 F: include/sysemu/xen-mapcache.h
 
 Guest CPU Cores (HAXM)
@@ -605,6 +611,7 @@ S: Odd Fixes
 F: include/hw/arm/digic.h
 F: hw/*/digic*
 F: include/hw/*/digic*
+F: tests/acceptance/machine_arm_canona1100.py
 
 Goldfish RTC
 M: Anup Patel <anup.patel@xxxxxxx>
@@ -629,8 +636,10 @@ S: Odd Fixes
 F: hw/arm/fsl-imx25.c
 F: hw/arm/imx25_pdk.c
 F: hw/misc/imx25_ccm.c
+F: hw/watchdog/wdt_imx2.c
 F: include/hw/arm/fsl-imx25.h
 F: include/hw/misc/imx25_ccm.h
+F: include/hw/watchdog/wdt_imx2.h
 
 i.MX31 (kzm)
 M: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
@@ -697,12 +706,14 @@ F: hw/misc/armsse-cpuid.c
 F: include/hw/misc/armsse-cpuid.h
 F: hw/misc/armsse-mhu.c
 F: include/hw/misc/armsse-mhu.h
+F: docs/system/arm/mps2.rst
 
 Musca
 M: Peter Maydell <peter.maydell@xxxxxxxxxx>
 L: qemu-arm@xxxxxxxxxx
 S: Maintained
 F: hw/arm/musca.c
+F: docs/system/arm/musca.rst
 
 Musicpal
 M: Jan Kiszka <jan.kiszka@xxxxxx>
@@ -824,12 +835,14 @@ M: Peter Maydell <peter.maydell@xxxxxxxxxx>
 L: qemu-arm@xxxxxxxxxx
 S: Maintained
 F: hw/arm/vexpress.c
+F: docs/system/arm/vexpress.rst
 
 Versatile PB
 M: Peter Maydell <peter.maydell@xxxxxxxxxx>
 L: qemu-arm@xxxxxxxxxx
 S: Maintained
 F: hw/*/versatile*
+F: include/hw/i2c/arm_sbcon_i2c.h
 F: hw/misc/arm_sysctl.c
 F: docs/system/arm/versatile.rst
 
@@ -919,6 +932,8 @@ 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
+F: hw/net/msf2-emac.c
+F: include/hw/net/msf2-emac.h
 
 Emcraft M2S-FG484
 M: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>
@@ -973,13 +988,13 @@ F: pc-bios/hppa-firmware.img
 LM32 Machines
 -------------
 EVR32 and uclinux BSP
-M: Michael Walle <michael@xxxxxxxx>
-S: Maintained
+R: Michael Walle <michael@xxxxxxxx>
+S: Orphan
 F: hw/lm32/lm32_boards.c
 
 milkymist
-M: Michael Walle <michael@xxxxxxxx>
-S: Maintained
+R: Michael Walle <michael@xxxxxxxx>
+S: Orphan
 F: hw/lm32/milkymist.c
 
 M68K Machines
@@ -1037,9 +1052,9 @@ MIPS Machines
 -------------
 Jazz
 M: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Maintained
-F: hw/mips/mips_jazz.c
+F: hw/mips/jazz.c
 F: hw/display/jazz_led.c
 F: hw/dma/rc4030.c
 
@@ -1050,7 +1065,7 @@ R: Aurelien Jarno <aurelien@xxxxxxxxxxx>
 S: Maintained
 F: hw/isa/piix4.c
 F: hw/acpi/piix4.c
-F: hw/mips/mips_malta.c
+F: hw/mips/malta.c
 F: hw/mips/gt64xxx_pci.c
 F: include/hw/southbridge/piix.h
 F: tests/acceptance/linux_ssh_mips_malta.py
@@ -1058,30 +1073,32 @@ F: tests/acceptance/machine_mips_malta.py
 
 Mipssim
 M: Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Odd Fixes
-F: hw/mips/mips_mipssim.c
+F: hw/mips/mipssim.c
 F: hw/net/mipsnet.c
 
 R4000
 M: Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx>
 R: Aurelien Jarno <aurelien@xxxxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Obsolete
-F: hw/mips/mips_r4k.c
+F: hw/mips/r4k.c
 
-Fulong 2E
+Fuloong 2E
+M: Huacai Chen <chenhc@xxxxxxxxxx>
 M: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx>
 M: Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx>
+R: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
 S: Odd Fixes
-F: hw/mips/mips_fulong2e.c
+F: hw/mips/fuloong2e.c
 F: hw/isa/vt82c686.c
 F: hw/pci-host/bonito.c
 F: include/hw/isa/vt82c686.h
 
 Boston
 M: Paul Burton <pburton@xxxxxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Maintained
 F: hw/core/loader-fit.c
 F: hw/mips/boston.c
@@ -1202,7 +1219,9 @@ S: Maintained
 F: hw/ppc/pnv*
 F: hw/intc/pnv*
 F: hw/intc/xics_pnv.c
+F: hw/pci-host/pnv*
 F: include/hw/ppc/pnv*
+F: include/hw/pci-host/pnv*
 F: pc-bios/skiboot.lid
 F: tests/qtest/pnv*
 
@@ -1225,19 +1244,45 @@ F: pc-bios/canyonlands.dt[sb]
 F: pc-bios/u-boot-sam460ex-20100605.bin
 F: roms/u-boot-sam460ex
 
+RISC-V Machines
+---------------
+OpenTitan
+M: Alistair Francis <Alistair.Francis@xxxxxxx>
+L: qemu-riscv@xxxxxxxxxx
+S: Supported
+F: hw/riscv/opentitan.c
+F: hw/char/ibex_uart.c
+F: hw/intc/ibex_plic.c
+F: include/hw/riscv/opentitan.h
+F: include/hw/char/ibex_uart.h
+F: include/hw/intc/ibex_plic.h
+
+RX Machines
+-----------
+rx-gdbsim
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
+S: Maintained
+F: docs/system/target-rx.rst
+F: hw/rx/rx-gdbsim.c
+F: tests/acceptance/machine_rx_gdbsim.py
+
 SH4 Machines
 ------------
 R2D
-M: Magnus Damm <magnus.damm@xxxxxxxxx>
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
+R: Magnus Damm <magnus.damm@xxxxxxxxx>
 S: Maintained
 F: hw/sh4/r2d.c
 F: hw/intc/sh_intc.c
-F: hw/timer/sh_timer.c
+F: include/hw/sh4/sh_intc.h
 
 Shix
-M: Magnus Damm <magnus.damm@xxxxxxxxx>
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
+R: Magnus Damm <magnus.damm@xxxxxxxxx>
 S: Odd Fixes
 F: hw/sh4/shix.c
+F: hw/intc/sh_intc.c
+F: include/hw/sh4/sh_intc.h
 
 SPARC Machines
 --------------
@@ -1508,10 +1553,19 @@ F: hw/acpi/*
 F: hw/smbios/*
 F: hw/i386/acpi-build.[hc]
 F: hw/arm/virt-acpi-build.c
-F: tests/qtest/bios-tables-test.c
+F: tests/qtest/bios-tables-test*
 F: tests/qtest/acpi-utils.[hc]
 F: tests/data/acpi/
 
+ACPI/HEST/GHES
+R: Dongjiu Geng <gengdongjiu@xxxxxxxxxx>
+R: Xiang Zheng <zhengxiang9@xxxxxxxxxx>
+L: qemu-arm@xxxxxxxxxx
+S: Maintained
+F: hw/acpi/ghes.c
+F: include/hw/acpi/ghes.h
+F: docs/specs/acpi_hest_ghes.rst
+
 ppc4xx
 M: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
 L: qemu-ppc@xxxxxxxxxx
@@ -1653,7 +1707,7 @@ F: include/sysemu/balloon.h
 
 virtio-9p
 M: Greg Kurz <groug@xxxxxxxx>
-R: Christian Schoenebeck <qemu_oss@xxxxxxxxxxxxx>
+M: Christian Schoenebeck <qemu_oss@xxxxxxxxxxxxx>
 S: Odd Fixes
 F: hw/9pfs/
 X: hw/9pfs/xen-9p*
@@ -1731,7 +1785,7 @@ F: hw/virtio/virtio-crypto-pci.c
 F: include/hw/virtio/virtio-crypto.h
 
 nvme
-M: Keith Busch <keith.busch@xxxxxxxxx>
+M: Keith Busch <kbusch@xxxxxxxxxx>
 L: qemu-block@xxxxxxxxxx
 S: Supported
 F: hw/block/nvme*
@@ -1832,6 +1886,13 @@ S: Maintained
 F: include/hw/misc/unimp.h
 F: hw/misc/unimp.c
 
+Empty slot
+M: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
+R: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx>
+S: Maintained
+F: include/hw/misc/empty_slot.h
+F: hw/misc/empty_slot.c
+
 Standard VGA
 M: Gerd Hoffmann <kraxel@xxxxxxxxxx>
 S: Maintained
@@ -1916,6 +1977,26 @@ F: hw/*/*xive*
 F: include/hw/*/*xive*
 F: docs/*/*xive*
 
+Renesas peripherals
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
+R: Magnus Damm <magnus.damm@xxxxxxxxx>
+S: Maintained
+F: hw/char/renesas_sci.c
+F: hw/char/sh_serial.c
+F: hw/timer/renesas_*.c
+F: hw/timer/sh_timer.c
+F: include/hw/char/renesas_sci.h
+F: include/hw/sh4/sh.h
+F: include/hw/timer/renesas_*.h
+
+Renesas RX peripherals
+M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
+S: Maintained
+F: hw/intc/rx_icu.c
+F: hw/rx/
+F: include/hw/intc/rx_icu.h
+F: include/hw/rx/
+
 Subsystems
 ----------
 Audio
@@ -1997,19 +2078,21 @@ F: qapi/transaction.json
 T: git https://repo.or.cz/qemu/armbru.git block-next
 
 Dirty Bitmaps
-M: John Snow <jsnow@xxxxxxxxxx>
-R: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>
+M: Eric Blake <eblake@xxxxxxxxxx>
+M: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>
+R: John Snow <jsnow@xxxxxxxxxx>
 L: qemu-block@xxxxxxxxxx
 S: Supported
 F: include/qemu/hbitmap.h
 F: include/block/dirty-bitmap.h
+F: block/monitor/bitmap-qmp-cmds.c
 F: block/dirty-bitmap.c
 F: block/qcow2-bitmap.c
 F: migration/block-dirty-bitmap.c
 F: util/hbitmap.c
 F: tests/test-hbitmap.c
 F: docs/interop/bitmaps.rst
-T: git https://github.com/jnsnow/qemu.git bitmaps
+T: git https://repo.or.cz/qemu/ericb.git bitmaps
 
 Character device backends
 M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
@@ -2253,6 +2336,8 @@ R: Eduardo Habkost <ehabkost@xxxxxxxxxx>
 S: Supported
 F: docs/qdev-device-use.txt
 F: hw/core/qdev*
+F: hw/core/bus.c
+F: hw/core/sysbus.c
 F: include/hw/qdev*
 F: include/monitor/qdev.h
 F: include/qom/
@@ -2287,6 +2372,7 @@ S: Maintained
 F: qtest.c
 F: accel/qtest.c
 F: tests/qtest/
+X: tests/qtest/bios-tables-test-allowed-diff.h
 
 Device Fuzzing
 M: Alexander Bulekov <alxndr@xxxxxx>
@@ -2295,6 +2381,7 @@ R: Bandan Das <bsd@xxxxxxxxxx>
 R: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
 S: Maintained
 F: tests/qtest/fuzz/
+F: scripts/oss-fuzz/
 
 Register API
 M: Alistair Francis <alistair@xxxxxxxxxxxxx>
@@ -2311,6 +2398,12 @@ F: net/slirp.c
 F: include/net/slirp.h
 T: git https://people.debian.org/~sthibault/qemu.git slirp
 
+Streams
+M: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
+S: Maintained
+F: hw/core/stream.c
+F: include/hw/stream.h
+
 Stubs
 M: Paolo Bonzini <pbonzini@xxxxxxxxxx>
 S: Maintained
@@ -2338,7 +2431,7 @@ F: hw/tpm/*
 F: include/hw/acpi/tpm.h
 F: include/sysemu/tpm*
 F: qapi/tpm.json
-F: backends/tpm.c
+F: backends/tpm/
 F: tests/qtest/*tpm*
 T: git https://github.com/stefanberger/qemu-tpm.git tpm-next
 
@@ -2477,6 +2570,7 @@ F: net/filter-replay.c
 F: include/sysemu/replay.h
 F: docs/replay.txt
 F: stubs/replay.c
+F: tests/acceptance/replay_kernel.py
 
 IOVA Tree
 M: Peter Xu <peterx@xxxxxxxxxx>
@@ -2512,7 +2606,7 @@ F: roms/edk2
 F: roms/edk2-*
 F: tests/data/uefi-boot-images/
 F: tests/uefi-test-tools/
-F: .gitlab-ci-edk2.yml
+F: .gitlab-ci.d/edk2.yml
 F: .gitlab-ci.d/edk2/
 
 Usermode Emulation
@@ -2578,7 +2672,7 @@ F: disas/i386.c
 MIPS TCG target
 M: Aleksandar Markovic <aleksandar.qemu.devel@xxxxxxxxx>
 R: Aurelien Jarno <aurelien@xxxxxxxxxxx>
-R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>
+R: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
 S: Maintained
 F: tcg/mips/
 
@@ -2871,6 +2965,9 @@ W: https://cirrus-ci.com/github/qemu/qemu
 
 GitLab Continuous Integration
 M: Thomas Huth <thuth@xxxxxxxxxx>
+M: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>
+M: Alex Bennée <alex.bennee@xxxxxxxxxx>
+R: Wainer dos Santos Moschetta <wainersm@xxxxxxxxxx>
 S: Maintained
 F: .gitlab-ci.yml
 
@@ -2881,6 +2978,14 @@ S: Maintained
 F: tests/tcg/Makefile
 F: tests/tcg/Makefile.include
 
+Acceptance (Integration) Testing with the Avocado framework
+W: https://trello.com/b/6Qi1pxVn/avocado-qemu
+R: Cleber Rosa <crosa@xxxxxxxxxx>
+R: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>
+R: Wainer dos Santos Moschetta <wainersm@xxxxxxxxxx>
+S: Odd Fixes
+F: tests/acceptance/
+
 Documentation
 -------------
 Build system architecture
diff --git a/Makefile b/Makefile
index 34275f57c9..a0092153af 100644
--- a/Makefile
+++ b/Makefile
@@ -336,16 +336,16 @@ $(call set-vpath, $(SRC_PATH))
 LIBS+=-lz $(LIBS_TOOLS)
 
 vhost-user-json-y =
-HELPERS-y =
+HELPERS-y = $(HELPERS)
 
-HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = 
qemu-bridge-helper$(EXESUF)
+HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) += 
qemu-bridge-helper$(EXESUF)
 
 ifeq ($(CONFIG_LINUX)$(CONFIG_VIRGL)$(CONFIG_GBM)$(CONFIG_TOOLS),yyyy)
 HELPERS-y += vhost-user-gpu$(EXESUF)
 vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
 endif
 
-ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
+ifeq 
($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
 HELPERS-y += virtiofsd$(EXESUF)
 vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
 endif
@@ -418,7 +418,7 @@ MINIKCONF_ARGS = \
     CONFIG_LINUX=$(CONFIG_LINUX) \
     CONFIG_PVRDMA=$(CONFIG_PVRDMA)
 
-MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
+MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/backends/Kconfig 
$(SRC_PATH)/hw/Kconfig
 MINIKCONF_DEPS = $(MINIKCONF_INPUTS) $(wildcard $(SRC_PATH)/hw/*/Kconfig)
 MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
 
@@ -526,13 +526,14 @@ $(SOFTMMU_FUZZ_RULES): $(edk2-decompressed)
 $(TARGET_DIRS_RULES):
        $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $(dir $@) V="$(V)" 
TARGET_DIR="$(dir $@)" $(notdir $@),)
 
-DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" 
LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt
+# LIBFDT_lib="": avoid breaking existing trees with objects requiring -fPIC
+DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" 
LIBFDT_lib=""
 DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS)
-DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt
+DTC_CPPFLAGS=-I$(SRC_PATH)/dtc/libfdt
 
 .PHONY: dtc/all
-dtc/all: .git-submodule-status dtc/libfdt dtc/tests
-       $(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) 
CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)" 
ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) 
libfdt/libfdt.a,)
+dtc/all: .git-submodule-status dtc/libfdt
+       $(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) 
CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)" 
ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) 
libfdt,)
 
 dtc/%: .git-submodule-status
        @mkdir -p $@
@@ -561,12 +562,6 @@ slirp/all: .git-submodule-status
                CC="$(CC)" AR="$(AR)"   LD="$(LD)" RANLIB="$(RANLIB)"   \
                CFLAGS="$(QEMU_CFLAGS) $(CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)")
 
-# Compatibility gunk to keep make working across the rename of targets
-# for recursion, to be removed some time after 4.1.
-subdir-dtc: dtc/all
-subdir-capstone: capstone/all
-subdir-slirp: slirp/all
-
 $(filter %/all, $(TARGET_DIRS_RULES)): libqemuutil.a $(common-obj-y) \
        $(qom-obj-y)
 
@@ -820,7 +815,6 @@ distclean: clean
        rm -rf $$d || exit 1 ; \
         done
        rm -Rf .sdk
-       if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
 
 KEYMAPS=da     en-gb  et  fr     fr-ch  is  lt  no  pt-br  sv \
 ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
@@ -1252,7 +1246,16 @@ endif
        @$(if $(TARGET_DIRS), \
                echo 'Architecture specific targets:'; \
                $(foreach t, $(TARGET_DIRS), \
-               $(call print-help-run,$(t)/all,Build for $(t));) \
+               $(call print-help-run,$(t)/all,Build for $(t)); \
+               $(if $(CONFIG_FUZZ), \
+                       $(if $(findstring softmmu,$(t)), \
+                               $(call print-help-run,$(t)/fuzz,Build fuzzer 
for $(t)); \
+               ))) \
+               echo '')
+       @$(if $(HELPERS-y), \
+               echo 'Helper targets:'; \
+               $(foreach t, $(HELPERS-y), \
+               $(call print-help-run,$(t),Build $(shell basename $(t)));) \
                echo '')
        @$(if $(TOOLS), \
                echo 'Tools targets:'; \
diff --git a/Makefile.objs b/Makefile.objs
index a7c967633a..98383972ee 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -13,9 +13,8 @@ chardev-obj-y = chardev/
 
 authz-obj-y = authz/
 
-block-obj-y = nbd/
+block-obj-y = block/ nbd/ scsi/
 block-obj-y += block.o blockjob.o job.o
-block-obj-y += block/ scsi/
 block-obj-y += qemu-io-cmds.o
 block-obj-$(CONFIG_REPLICATION) += replication.o
 
@@ -126,6 +125,7 @@ trace-events-subdirs =
 trace-events-subdirs += accel/kvm
 trace-events-subdirs += accel/tcg
 trace-events-subdirs += backends
+trace-events-subdirs += backends/tpm
 trace-events-subdirs += crypto
 trace-events-subdirs += monitor
 ifeq ($(CONFIG_USER_ONLY),y)
@@ -151,6 +151,7 @@ trace-events-subdirs += hw/block/dataplane
 trace-events-subdirs += hw/char
 trace-events-subdirs += hw/dma
 trace-events-subdirs += hw/hppa
+trace-events-subdirs += hw/hyperv
 trace-events-subdirs += hw/i2c
 trace-events-subdirs += hw/i386
 trace-events-subdirs += hw/i386/xen
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
index 17e5ac6061..ff72f0d030 100644
--- a/accel/Makefile.objs
+++ b/accel/Makefile.objs
@@ -2,4 +2,5 @@ common-obj-$(CONFIG_SOFTMMU) += accel.o
 obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
 obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_TCG) += tcg/
+obj-$(CONFIG_XEN) += xen/
 obj-y += stubs/
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 439a4efe52..f24d7da783 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -44,6 +44,7 @@
 #include "qapi/visitor.h"
 #include "qapi/qapi-types-common.h"
 #include "qapi/qapi-visit-common.h"
+#include "sysemu/reset.h"
 
 #include "hw/boards.h"
 
@@ -159,9 +160,59 @@ static const KVMCapabilityInfo kvm_required_capabilites[] 
= {
 static NotifierList kvm_irqchip_change_notifiers =
     NOTIFIER_LIST_INITIALIZER(kvm_irqchip_change_notifiers);
 
+struct KVMResampleFd {
+    int gsi;
+    EventNotifier *resample_event;
+    QLIST_ENTRY(KVMResampleFd) node;
+};
+typedef struct KVMResampleFd KVMResampleFd;
+
+/*
+ * Only used with split irqchip where we need to do the resample fd
+ * kick for the kernel from userspace.
+ */
+static QLIST_HEAD(, KVMResampleFd) kvm_resample_fd_list =
+    QLIST_HEAD_INITIALIZER(kvm_resample_fd_list);
+
 #define kvm_slots_lock(kml)      qemu_mutex_lock(&(kml)->slots_lock)
 #define kvm_slots_unlock(kml)    qemu_mutex_unlock(&(kml)->slots_lock)
 
+static inline void kvm_resample_fd_remove(int gsi)
+{
+    KVMResampleFd *rfd;
+
+    QLIST_FOREACH(rfd, &kvm_resample_fd_list, node) {
+        if (rfd->gsi == gsi) {
+            QLIST_REMOVE(rfd, node);
+            g_free(rfd);
+            break;
+        }
+    }
+}
+
+static inline void kvm_resample_fd_insert(int gsi, EventNotifier *event)
+{
+    KVMResampleFd *rfd = g_new0(KVMResampleFd, 1);
+
+    rfd->gsi = gsi;
+    rfd->resample_event = event;
+
+    QLIST_INSERT_HEAD(&kvm_resample_fd_list, rfd, node);
+}
+
+void kvm_resample_fd_notify(int gsi)
+{
+    KVMResampleFd *rfd;
+
+    QLIST_FOREACH(rfd, &kvm_resample_fd_list, node) {
+        if (rfd->gsi == gsi) {
+            event_notifier_set(rfd->resample_event);
+            trace_kvm_resample_fd_notify(gsi);
+            return;
+        }
+    }
+}
+
 int kvm_get_max_memslots(void)
 {
     KVMState *s = KVM_STATE(current_accel());
@@ -883,6 +934,39 @@ int kvm_vm_check_extension(KVMState *s, unsigned int 
extension)
     return ret;
 }
 
+typedef struct HWPoisonPage {
+    ram_addr_t ram_addr;
+    QLIST_ENTRY(HWPoisonPage) list;
+} HWPoisonPage;
+
+static QLIST_HEAD(, HWPoisonPage) hwpoison_page_list =
+    QLIST_HEAD_INITIALIZER(hwpoison_page_list);
+
+static void kvm_unpoison_all(void *param)
+{
+    HWPoisonPage *page, *next_page;
+
+    QLIST_FOREACH_SAFE(page, &hwpoison_page_list, list, next_page) {
+        QLIST_REMOVE(page, list);
+        qemu_ram_remap(page->ram_addr, TARGET_PAGE_SIZE);
+        g_free(page);
+    }
+}
+
+void kvm_hwpoison_page_add(ram_addr_t ram_addr)
+{
+    HWPoisonPage *page;
+
+    QLIST_FOREACH(page, &hwpoison_page_list, list) {
+        if (page->ram_addr == ram_addr) {
+            return;
+        }
+    }
+    page = g_new(HWPoisonPage, 1);
+    page->ram_addr = ram_addr;
+    QLIST_INSERT_HEAD(&hwpoison_page_list, page, list);
+}
+
 static uint32_t adjust_ioeventfd_endianness(uint32_t val, uint32_t size)
 {
 #if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
@@ -1628,9 +1712,13 @@ int kvm_irqchip_update_msi_route(KVMState *s, int virq, 
MSIMessage msg,
     return kvm_update_routing_entry(s, &kroute);
 }
 
-static int kvm_irqchip_assign_irqfd(KVMState *s, int fd, int rfd, int virq,
+static int kvm_irqchip_assign_irqfd(KVMState *s, EventNotifier *event,



 


Rackspace

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