[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,
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |