|
[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 |