[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [qemu-xen master] Merge branch 'v2.11.0' into staging
=== This changeset includes merge from high-traffic branch === Commits on that branch are not reported individually. commit 948168ebffedfcb5e20be8e078d7694a36b9f258 Merge: 0a0dc59d27527b78a195c2d838d28b7b49e5a639 b79708a8ed1b3d18bee67baeaf33b3fa529493e2 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> AuthorDate: Mon Jan 8 17:44:17 2018 +0000 Commit: Anthony PERARD <anthony.perard@xxxxxxxxxx> CommitDate: Mon Jan 8 17:44:17 2018 +0000 Merge branch 'v2.11.0' into staging .gitignore | 6 + .gitmodules | 9 +- .mailmap | 3 + COPYING.PYTHON | 270 + Changelog | 2 +- MAINTAINERS | 172 +- Makefile | 144 +- Makefile.objs | 9 +- Makefile.target | 17 +- README | 18 +- VERSION | 2 +- accel/kvm/kvm-all.c | 289 +- accel/stubs/Makefile.objs | 1 + accel/stubs/hax-stub.c | 34 + accel/stubs/kvm-stub.c | 4 +- accel/stubs/tcg-stub.c | 8 + accel/tcg/Makefile.objs | 5 + accel/tcg/atomic_template.h | 245 + accel/tcg/cpu-exec.c | 296 +- accel/tcg/cputlb.c | 91 +- accel/tcg/softmmu_template.h | 433 + accel/tcg/tcg-runtime.c | 168 + accel/tcg/tcg-runtime.h | 136 + accel/tcg/translate-all.c | 669 +- accel/tcg/translator.c | 138 + accel/tcg/user-exec-stub.c | 34 + accel/tcg/user-exec.c | 664 ++ atomic_template.h | 215 - audio/Makefile.objs | 6 + backends/cryptodev.c | 2 +- backends/hostmem-file.c | 29 + backends/hostmem.c | 6 +- backends/tpm.c | 129 +- block.c | 490 +- block/Makefile.objs | 1 + block/backup.c | 13 +- block/blkdebug.c | 45 +- block/block-backend.c | 138 +- block/bochs.c | 13 +- block/cloop.c | 13 +- block/commit.c | 79 +- block/crypto.c | 130 +- block/dirty-bitmap.c | 134 +- block/dmg.c | 14 +- block/file-posix.c | 60 +- block/file-win32.c | 7 +- block/gluster.c | 11 +- block/io.c | 577 +- block/iscsi.c | 53 +- block/mirror.c | 133 +- block/nbd-client.c | 580 +- block/nbd-client.h | 1 + block/nfs.c | 9 +- block/parallels.c | 39 +- block/qapi.c | 16 +- block/qcow.c | 174 +- block/qcow2-bitmap.c | 62 +- block/qcow2-cache.c | 49 +- block/qcow2-cluster.c | 100 +- block/qcow2-refcount.c | 200 +- block/qcow2.c | 264 +- block/qcow2.h | 12 + block/qed.c | 8 +- block/quorum.c | 27 +- block/raw-format.c | 6 - block/rbd.c | 16 +- block/replication.c | 27 +- block/sheepdog.c | 4 +- block/snapshot.c | 43 +- block/ssh.c | 2 +- block/stream.c | 2 +- block/throttle-groups.c | 768 +- block/throttle.c | 255 + block/trace-events | 2 +- block/vhdx-log.c | 2 +- block/vhdx.c | 7 - block/vpc.c | 4 +- block/vvfat.c | 46 +- blockdev.c | 12 +- blockjob.c | 94 +- bsd-user/main.c | 7 +- capstone | 1 + chardev/Makefile.objs | 1 + chardev/baum.c | 1 + chardev/char-fd.c | 5 +- chardev/char-fe.c | 7 +- chardev/char-pty.c | 5 +- chardev/char-socket.c | 26 +- chardev/char-udp.c | 5 +- chardev/char.c | 15 +- configure | 422 +- contrib/libvhost-user/Makefile.objs | 2 +- contrib/libvhost-user/libvhost-user-glib.c | 154 + contrib/libvhost-user/libvhost-user-glib.h | 32 + contrib/libvhost-user/libvhost-user.c | 72 +- contrib/libvhost-user/libvhost-user.h | 22 +- contrib/vhost-user-scsi/vhost-user-scsi.c | 629 +- cpus.c | 19 +- crypto/block-luks.c | 56 +- crypto/block-qcow.c | 13 +- crypto/block.c | 30 +- crypto/blockpriv.h | 5 +- crypto/cipher-afalg.c | 2 +- crypto/cipher-builtin.c | 8 +- crypto/cipher-gcrypt.c | 4 +- crypto/cipher-nettle.c | 8 +- crypto/cipher.c | 5 +- crypto/hash.c | 13 +- crypto/hmac-gcrypt.c | 2 +- crypto/hmac-glib.c | 2 +- crypto/hmac-nettle.c | 2 +- crypto/hmac.c | 4 +- crypto/pbkdf-gcrypt.c | 2 +- crypto/pbkdf-nettle.c | 2 +- crypto/secret.c | 2 +- crypto/tlscreds.c | 2 +- default-configs/arm-softmmu.mak | 3 + default-configs/i386-softmmu.mak | 2 + default-configs/or1k-softmmu.mak | 1 + default-configs/pci.mak | 3 +- default-configs/ppc-linux-user.mak | 1 - default-configs/ppc-softmmu.mak | 5 +- default-configs/ppc64-linux-user.mak | 1 - default-configs/ppc64-softmmu.mak | 6 +- default-configs/ppc64abi32-linux-user.mak | 1 - default-configs/ppc64le-linux-user.mak | 1 - default-configs/ppcemb-softmmu.mak | 2 +- default-configs/s390x-softmmu.mak | 4 +- default-configs/sparc64-softmmu.mak | 1 + default-configs/x86_64-softmmu.mak | 2 + disas.c | 383 +- disas/Makefile.objs | 1 - disas/arm.c | 21 +- disas/i386.c | 29 +- disas/ia64.c | 10600 ------------------- docs/colo-proxy.txt | 3 +- docs/devel/atomics.txt | 14 +- docs/devel/build-system.txt | 18 +- docs/devel/loads-stores.rst | 396 + docs/devel/migration.txt | 2 +- docs/devel/qapi-code-gen.txt | 50 +- docs/interop/live-block-operations.rst | 50 +- docs/interop/pr-helper.rst | 83 + docs/interop/qmp-intro.txt | 4 +- docs/memory-hotplug.txt | 2 +- docs/pcie.txt | 53 +- docs/pcie_pci_bridge.txt | 114 + docs/pr-manager.rst | 111 + docs/qdev-device-use.txt | 12 +- docs/qemu-block-drivers.texi | 840 ++ docs/rdma.txt | 2 +- docs/specs/tpm.txt | 202 + docs/specs/vmcoreinfo.txt | 49 + dump.c | 194 +- exec.c | 524 +- fsdev/Makefile.objs | 9 +- fsdev/virtfs-proxy-helper.c | 2 + hax-stub.c | 34 - hmp-commands-info.hx | 156 +- hmp-commands.hx | 12 + hmp.c | 316 +- hmp.h | 2 + hw/9pfs/9p-local.c | 12 +- hw/9pfs/9p.c | 12 +- hw/9pfs/9p.h | 8 +- hw/9pfs/Makefile.objs | 2 +- hw/Makefile.objs | 2 +- hw/acpi/bios-linker-loader.c | 10 + hw/acpi/core.c | 10 +- hw/acpi/piix4.c | 1 + hw/acpi/tco.c | 11 +- hw/acpi/trace-events | 4 + hw/acpi/vmgenid.c | 12 +- hw/alpha/dp264.c | 4 +- hw/arm/Makefile.objs | 3 +- hw/arm/armv7m.c | 69 +- hw/arm/aspeed.c | 12 + hw/arm/aspeed_soc.c | 17 +- hw/arm/collie.c | 11 +- hw/arm/cubieboard.c | 1 + hw/arm/digic_boards.c | 1 + hw/arm/exynos4210.c | 10 +- hw/arm/exynos4_boards.c | 14 +- hw/arm/fsl-imx25.c | 6 +- hw/arm/fsl-imx31.c | 6 +- hw/arm/fsl-imx6.c | 3 +- hw/arm/gumstix.c | 7 +- hw/arm/highbank.c | 40 +- hw/arm/imx25_pdk.c | 1 + hw/arm/integratorcp.c | 31 +- hw/arm/kzm.c | 1 + hw/arm/mainstone.c | 10 +- hw/arm/mps2.c | 17 +- hw/arm/msf2-soc.c | 249 + hw/arm/msf2-som.c | 105 + hw/arm/musicpal.c | 12 +- hw/arm/netduino2.c | 3 +- hw/arm/nseries.c | 6 +- hw/arm/omap1.c | 11 +- hw/arm/omap2.c | 57 +- hw/arm/omap_sx1.c | 7 +- hw/arm/palm.c | 36 +- hw/arm/pxa2xx.c | 22 +- hw/arm/raspi.c | 3 + hw/arm/realview.c | 35 +- hw/arm/sabrelite.c | 1 + hw/arm/spitz.c | 16 +- hw/arm/stellaris.c | 18 +- hw/arm/stm32f205_soc.c | 4 +- hw/arm/strongarm.c | 19 +- hw/arm/tosa.c | 5 +- hw/arm/versatilepb.c | 17 +- hw/arm/vexpress.c | 39 +- hw/arm/virt.c | 92 +- hw/arm/xilinx_zynq.c | 25 +- hw/arm/xlnx-ep108.c | 137 - hw/arm/xlnx-zcu102.c | 270 + hw/arm/xlnx-zynqmp.c | 38 +- hw/arm/z2.c | 10 +- hw/audio/ac97.c | 4 + hw/audio/es1370.c | 4 + hw/audio/intel-hda.c | 62 +- hw/audio/pcspk.c | 2 +- hw/audio/wm8750.c | 10 +- hw/block/fdc.c | 43 +- hw/block/m25p80.c | 4 +- hw/block/nand.c | 4 +- hw/block/nvme.c | 8 +- hw/block/onenand.c | 8 +- hw/block/virtio-blk.c | 2 +- hw/block/xen_disk.c | 34 +- hw/char/escc.c | 2 +- hw/char/serial-pci.c | 12 + hw/char/serial.c | 12 +- hw/char/spapr_vty.c | 18 + hw/char/terminal3270.c | 46 +- hw/char/virtio-console.c | 21 + hw/char/virtio-serial-bus.c | 15 +- hw/core/loader.c | 4 +- hw/core/machine.c | 33 + hw/core/qdev-properties.c | 17 +- hw/core/qdev.c | 32 +- hw/cris/axis_dev88.c | 7 +- hw/display/cirrus_vga.c | 10 +- hw/display/qxl-render.c | 45 +- hw/display/qxl.c | 8 +- hw/display/sm501.c | 6 +- hw/display/trace-events | 1 + hw/display/vga-pci.c | 4 + hw/display/vga.c | 36 +- hw/display/virtio-gpu.c | 107 +- hw/display/vmware_vga.c | 9 +- hw/display/xenfb.c | 1 + hw/dma/sparc32_dma.c | 252 +- hw/dma/sun4m_iommu.c | 101 +- hw/dma/trace-events | 8 +- hw/dma/xilinx_axidma.c | 16 +- hw/gpio/omap_gpio.c | 26 +- hw/i2c/Makefile.objs | 1 + hw/i2c/core.c | 4 +- hw/i2c/omap_i2c.c | 44 +- hw/i2c/ppc4xx_i2c.c | 216 + hw/i2c/smbus_ich9.c | 4 + hw/i386/Makefile.objs | 1 - hw/i386/acpi-build.c | 45 +- hw/i386/amd_iommu.c | 4 + hw/i386/intel_iommu.c | 15 + hw/i386/kvm/Makefile.objs | 2 +- hw/i386/kvm/clock.c | 7 +- hw/i386/kvm/pci-assign.c | 1883 ---- hw/i386/multiboot.c | 3 +- hw/i386/pc.c | 107 +- hw/i386/pc_piix.c | 28 +- hw/i386/pc_q35.c | 23 +- hw/i386/pci-assign-load-rom.c | 88 - hw/i386/xen/xen-hvm.c | 2 +- hw/i386/xen/xen-mapcache.c | 5 +- hw/i386/xen/xen_platform.c | 4 + hw/i386/xen/xen_pvdevice.c | 4 + hw/ide/Makefile.objs | 1 + hw/ide/ahci-allwinner.c | 127 + hw/ide/ahci.c | 330 +- hw/ide/ahci_internal.h | 44 +- hw/ide/atapi.c | 69 +- hw/ide/cmd646.c | 10 +- hw/ide/core.c | 199 +- hw/ide/ich.c | 4 + hw/ide/macio.c | 210 +- hw/ide/pci.c | 25 +- hw/ide/piix.c | 11 +- hw/ide/qdev.c | 87 +- hw/ide/trace-events | 111 + hw/ide/via.c | 10 +- hw/input/ps2.c | 215 +- hw/input/trace-events | 3 +- hw/input/tsc210x.c | 4 +- hw/input/virtio-input-hid.c | 123 +- hw/intc/Makefile.objs | 1 + hw/intc/apic_common.c | 4 +- hw/intc/arm_gic_common.c | 4 +- hw/intc/arm_gicv3_common.c | 4 +- hw/intc/arm_gicv3_its_common.c | 4 +- hw/intc/arm_gicv3_its_kvm.c | 31 +- hw/intc/armv7m_nvic.c | 1412 ++- hw/intc/i8259_common.c | 4 +- hw/intc/ioapic.c | 17 +- hw/intc/ioapic_common.c | 4 +- hw/intc/ompic.c | 179 + hw/intc/openpic.c | 35 + hw/intc/openpic_kvm.c | 2 +- hw/intc/s390_flic_kvm.c | 7 +- hw/intc/trace-events | 18 +- hw/intc/xics.c | 31 +- hw/intc/xics_kvm.c | 19 + hw/ipack/tpci200.c | 4 + hw/isa/i82378.c | 4 + hw/isa/lpc_ich9.c | 5 +- hw/isa/pc87312.c | 2 + hw/isa/piix4.c | 4 + hw/isa/vt82c686.c | 16 + hw/lm32/lm32_boards.c | 22 +- hw/lm32/milkymist.c | 11 +- hw/m68k/an5206.c | 15 +- hw/m68k/mcf5206.c | 7 +- hw/m68k/mcf5208.c | 20 +- hw/mem/pc-dimm.c | 5 + hw/mips/Makefile.objs | 2 +- hw/mips/boston.c | 14 +- hw/mips/cps.c | 8 +- hw/mips/cputimer.c | 165 - hw/mips/gt64xxx_pci.c | 4 + hw/mips/mips_fulong2e.c | 11 +- hw/mips/mips_jazz.c | 12 +- hw/mips/mips_malta.c | 44 +- hw/mips/mips_mipssim.c | 19 +- hw/mips/mips_r4k.c | 25 +- hw/misc/Makefile.objs | 2 + hw/misc/applesmc.c | 2 +- hw/misc/aspeed_scu.c | 5 +- hw/misc/auxbus.c | 11 + hw/misc/edu.c | 5 + hw/misc/ivshmem.c | 6 +- hw/misc/macio/mac_dbdma.c | 242 +- hw/misc/macio/macio.c | 25 +- hw/misc/msf2-sysreg.c | 160 + hw/misc/pci-testdev.c | 4 + hw/misc/trace-events | 5 + hw/misc/vmcoreinfo.c | 97 + hw/moxie/moxiesim.c | 11 +- hw/net/Makefile.objs | 2 + hw/net/e1000.c | 14 +- hw/net/e1000_regs.h | 2 +- hw/net/e1000e.c | 8 +- hw/net/e1000e_core.c | 2 +- hw/net/e1000x_common.h | 2 +- hw/net/eepro100.c | 29 +- hw/net/lance.c | 11 +- hw/net/ne2000.c | 4 + hw/net/net_rx_pkt.c | 2 +- hw/net/net_tx_pkt.c | 2 +- hw/net/pcnet-pci.c | 4 + hw/net/rocker/rocker.c | 98 +- hw/net/rocker/rocker_desc.c | 10 - hw/net/rocker/rocker_fp.c | 4 - hw/net/rocker/rocker_of_dpa.c | 20 - hw/net/rocker/rocker_world.c | 12 +- hw/net/rtl8139.c | 61 +- hw/net/sungem.c | 1451 +++ hw/net/sunhme.c | 982 ++ hw/net/trace-events | 73 + hw/net/virtio-net.c | 19 +- hw/net/vmware_utils.h | 6 + hw/net/vmxnet3.c | 58 +- hw/net/vmxnet3.h | 230 +- hw/net/xilinx_axienet.c | 16 +- hw/nios2/10m50_devboard.c | 2 +- hw/nvram/fw_cfg.c | 40 +- hw/nvram/spapr_nvram.c | 2 + hw/openrisc/cputimer.c | 64 +- hw/openrisc/openrisc_sim.c | 92 +- hw/pci-bridge/Makefile.objs | 2 +- hw/pci-bridge/dec.c | 8 + hw/pci-bridge/gen_pcie_root_port.c | 43 + hw/pci-bridge/i82801b11.c | 4 + hw/pci-bridge/ioh3420.c | 4 +- hw/pci-bridge/pci_bridge_dev.c | 1 + hw/pci-bridge/pci_expander_bridge.c | 8 + hw/pci-bridge/pcie_pci_bridge.c | 205 + hw/pci-bridge/pcie_root_port.c | 4 + hw/pci-bridge/xio3130_downstream.c | 5 + hw/pci-bridge/xio3130_upstream.c | 4 + hw/pci-host/apb.c | 113 +- hw/pci-host/bonito.c | 4 + hw/pci-host/gpex.c | 32 + hw/pci-host/grackle.c | 4 + hw/pci-host/piix.c | 46 +- hw/pci-host/ppce500.c | 4 + hw/pci-host/prep.c | 4 + hw/pci-host/q35.c | 48 +- hw/pci-host/uninorth.c | 16 + hw/pci-host/versatile.c | 4 + hw/pci-host/xilinx-pcie.c | 4 + hw/pci/msix.c | 4 +- hw/pci/pci-stub.c | 14 + hw/pci/pci.c | 56 +- hw/pci/pci_bridge.c | 49 +- hw/pci/pcie_host.c | 2 +- hw/ppc/e500.c | 51 +- hw/ppc/e500plat.c | 1 + hw/ppc/mac.h | 10 +- hw/ppc/mac_newworld.c | 33 +- hw/ppc/mac_oldworld.c | 37 +- hw/ppc/mpc8544ds.c | 2 + hw/ppc/pnv.c | 140 +- hw/ppc/pnv_core.c | 67 +- hw/ppc/ppc.c | 50 +- hw/ppc/ppc405.h | 3 + hw/ppc/ppc405_uc.c | 533 +- hw/ppc/ppc440_bamboo.c | 11 +- hw/ppc/ppc4xx_devs.c | 236 +- hw/ppc/ppc4xx_pci.c | 4 + hw/ppc/prep.c | 20 +- hw/ppc/spapr.c | 398 +- hw/ppc/spapr_cpu_core.c | 227 +- hw/ppc/spapr_drc.c | 44 +- hw/ppc/spapr_events.c | 11 + hw/ppc/spapr_hcall.c | 95 +- hw/ppc/spapr_iommu.c | 61 +- hw/ppc/spapr_pci.c | 180 +- hw/ppc/spapr_rtas.c | 4 +- hw/ppc/virtex_ml507.c | 15 +- hw/s390x/3270-ccw.c | 5 +- hw/s390x/Makefile.objs | 4 +- hw/s390x/css.c | 409 +- hw/s390x/event-facility.c | 35 +- hw/s390x/s390-ccw.c | 11 +- hw/s390x/s390-pci-bus.c | 53 +- hw/s390x/s390-pci-bus.h | 14 +- hw/s390x/s390-pci-inst.c | 28 +- hw/s390x/s390-pci-stub.c | 77 + hw/s390x/s390-skeys-kvm.c | 4 + hw/s390x/s390-skeys.c | 4 + hw/s390x/s390-stattrib-kvm.c | 5 + hw/s390x/s390-stattrib.c | 6 +- hw/s390x/s390-virtio-ccw.c | 298 +- hw/s390x/s390-virtio-hcall.c | 2 +- hw/s390x/s390-virtio-hcall.h | 23 + hw/s390x/s390-virtio.c | 206 - hw/s390x/s390-virtio.h | 33 - hw/s390x/sclp.c | 81 +- hw/s390x/sclpcpu.c | 7 +- hw/s390x/sclpquiesce.c | 7 +- hw/s390x/virtio-ccw.c | 310 +- hw/s390x/virtio-ccw.h | 32 + hw/scsi/esp-pci.c | 4 + hw/scsi/esp.c | 21 +- hw/scsi/lsi53c895a.c | 8 +- hw/scsi/megasas.c | 12 +- hw/scsi/mptendian.c | 2 +- hw/scsi/mptsas.c | 12 +- hw/scsi/scsi-bus.c | 411 +- hw/scsi/scsi-disk.c | 71 +- hw/scsi/scsi-generic.c | 50 +- hw/scsi/spapr_vscsi.c | 2 +- hw/scsi/vhost-scsi.c | 2 + hw/scsi/vhost-user-scsi.c | 2 + hw/scsi/virtio-scsi-dataplane.c | 2 +- hw/scsi/virtio-scsi.c | 10 +- hw/scsi/vmw_pvscsi.c | 8 +- hw/sd/sd.c | 12 +- hw/sd/sdhci.c | 4 + hw/sh4/r2d.c | 12 +- hw/sh4/sh_pci.c | 4 + hw/sh4/shix.c | 11 +- hw/sparc/leon3.c | 12 +- hw/sparc/sun4m.c | 115 +- hw/sparc64/niagara.c | 4 +- hw/sparc64/sparc64.c | 12 +- hw/sparc64/sun4u.c | 92 +- hw/ssi/Makefile.objs | 1 + hw/ssi/mss-spi.c | 414 + hw/timer/Makefile.objs | 1 + hw/timer/cadence_ttc.c | 4 +- hw/timer/hpet.c | 4 +- hw/timer/i8254_common.c | 8 +- hw/timer/mc146818rtc.c | 4 +- hw/timer/mss-timer.c | 289 + hw/timer/omap_gptimer.c | 49 +- hw/timer/omap_synctimer.c | 35 +- hw/timer/pl031.c | 4 +- hw/timer/twl92230.c | 4 +- hw/tpm/Makefile.objs | 1 + hw/tpm/tpm_emulator.c | 585 + hw/tpm/tpm_int.h | 36 +- hw/tpm/tpm_ioctl.h | 246 + hw/tpm/tpm_passthrough.c | 289 +- hw/tpm/tpm_tis.c | 477 +- hw/tpm/tpm_tis.h | 70 - hw/tpm/tpm_util.c | 36 +- hw/tpm/tpm_util.h | 4 + hw/tricore/tricore_testboard.c | 10 +- hw/unicore32/puv3.c | 12 +- hw/usb/Makefile.objs | 20 +- hw/usb/bus.c | 4 +- hw/usb/ccid-card-passthru.c | 2 +- hw/usb/dev-hub.c | 8 +- hw/usb/dev-smartcard-reader.c | 27 +- hw/usb/dev-uas.c | 2 +- hw/usb/hcd-ehci-pci.c | 4 + hw/usb/hcd-ehci-sysbus.c | 25 + hw/usb/hcd-ehci.c | 9 +- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ohci.c | 19 +- hw/usb/hcd-uhci.c | 4 + hw/usb/hcd-xhci.c | 9 +- hw/usb/redirect.c | 4 +- hw/vfio/ccw.c | 29 +- hw/vfio/pci-quirks.c | 118 + hw/vfio/pci.c | 22 +- hw/vfio/pci.h | 4 + hw/vfio/spapr.c | 2 +- hw/virtio/vhost-vsock.c | 4 +- hw/virtio/vhost.c | 17 +- hw/virtio/virtio-balloon.c | 3 +- hw/virtio/virtio-pci.c | 188 +- hw/virtio/virtio-pci.h | 17 +- hw/virtio/virtio.c | 50 +- hw/watchdog/watchdog.c | 65 +- hw/watchdog/wdt_aspeed.c | 97 +- hw/watchdog/wdt_diag288.c | 6 +- hw/watchdog/wdt_i6300esb.c | 4 + hw/xen/Makefile.objs | 1 + hw/xen/xen_backend.c | 11 + hw/xen/xen_pt.c | 5 + hw/xen/xen_pt_load_rom.c | 88 + hw/xtensa/sim.c | 13 +- hw/xtensa/xtfpga.c | 16 +- include/block/block.h | 36 +- include/block/block_int.h | 95 +- include/block/blockjob.h | 8 +- include/block/blockjob_int.h | 6 +- include/block/dirty-bitmap.h | 43 +- include/block/nbd.h | 135 +- include/block/scsi.h | 316 - include/block/snapshot.h | 6 +- include/block/throttle-groups.h | 52 +- include/chardev/char.h | 13 +- include/crypto/block.h | 29 +- include/disas/bfd.h | 12 +- include/disas/capstone.h | 38 + include/disas/disas.h | 4 +- include/elf.h | 3 +- include/exec/cpu-all.h | 5 +- include/exec/cpu-defs.h | 1 + include/exec/cpu_ldst.h | 2 + include/exec/cpu_ldst_useronly_template.h | 14 +- include/exec/cputlb.h | 3 +- include/exec/exec-all.h | 182 +- include/exec/gen-icount.h | 27 +- include/exec/helper-gen.h | 22 +- include/exec/helper-head.h | 16 +- include/exec/log.h | 4 +- include/exec/memattrs.h | 10 + include/exec/memory-internal.h | 78 +- include/exec/memory.h | 85 +- include/exec/ram_addr.h | 10 + include/exec/tb-context.h | 6 +- include/exec/tb-hash-xx.h | 9 +- include/exec/tb-hash.h | 4 +- include/exec/tb-lookup.h | 49 + include/exec/translator.h | 144 + include/glib-compat.h | 9 + include/hw/acpi/bios-linker-loader.h | 2 + include/hw/acpi/vmgenid.h | 1 - include/hw/arm/arm.h | 2 +- include/hw/arm/armv7m.h | 8 +- include/hw/arm/armv7m_nvic.h | 62 - include/hw/arm/aspeed_soc.h | 2 +- include/hw/arm/msf2-soc.h | 67 + include/hw/arm/stm32f205_soc.h | 2 +- include/hw/arm/xlnx-zynqmp.h | 2 + include/hw/boards.h | 28 + include/hw/compat.h | 15 +- include/hw/elf_ops.h | 72 +- include/hw/i2c/ppc4xx_i2c.h | 61 + include/hw/i386/apic-msidef.h | 2 +- include/hw/i386/pc.h | 18 +- include/hw/ide/internal.h | 23 +- include/hw/intc/armv7m_nvic.h | 90 + include/hw/loader.h | 2 +- include/hw/mem/pc-dimm.h | 1 + include/hw/mips/cps.h | 2 +- include/hw/misc/aspeed_scu.h | 3 + include/hw/misc/msf2-sysreg.h | 77 + include/hw/misc/vmcoreinfo.h | 46 + include/hw/net/lance.h | 45 + include/hw/net/mii.h | 4 + include/hw/nvram/fw_cfg.h | 10 +- include/hw/or-irq.h | 1 - include/hw/pci-host/gpex.h | 3 + include/hw/pci-host/q35.h | 1 + include/hw/pci/pci-assign.h | 27 - include/hw/pci/pci.h | 9 + include/hw/pci/pci_bridge.h | 25 + include/hw/pci/pci_bus.h | 1 + include/hw/pci/pci_ids.h | 2 + include/hw/pci/pcie_port.h | 1 + include/hw/ppc/mac_dbdma.h | 11 +- include/hw/ppc/openpic.h | 1 + include/hw/ppc/pnv.h | 12 +- include/hw/ppc/pnv_core.h | 4 +- include/hw/ppc/pnv_xscom.h | 2 +- include/hw/ppc/ppc.h | 2 - include/hw/ppc/ppc4xx.h | 3 + include/hw/ppc/spapr.h | 7 +- include/hw/ppc/spapr_cpu_core.h | 7 +- include/hw/ppc/spapr_drc.h | 1 + include/hw/ppc/spapr_ovec.h | 3 +- include/hw/ppc/xics.h | 2 + include/hw/qdev-core.h | 3 +- include/hw/s390x/3270-ccw.h | 5 +- include/hw/s390x/css.h | 119 +- include/hw/s390x/event-facility.h | 20 +- include/hw/s390x/ioinst.h | 12 +- include/hw/s390x/s390-ccw.h | 2 +- include/hw/s390x/s390-virtio-ccw.h | 5 +- include/hw/s390x/sclp.h | 19 +- include/hw/scsi/esp.h | 14 + include/hw/scsi/scsi.h | 94 +- include/hw/sparc/sparc32_dma.h | 55 + include/hw/sparc/sparc64.h | 3 +- include/hw/sparc/sun4m.h | 35 +- include/hw/ssi/mss-spi.h | 58 + include/hw/timer/mss-timer.h | 64 + include/hw/virtio/virtio-input.h | 1 + include/hw/virtio/virtio-scsi.h | 2 +- include/hw/virtio/virtio-serial.h | 3 + include/hw/virtio/virtio.h | 3 +- include/hw/watchdog/wdt_aspeed.h | 2 + include/hw/xen/xen_backend.h | 1 + include/io/channel-websock.h | 3 +- include/io/channel.h | 145 +- include/migration/register.h | 1 + include/migration/vmstate.h | 6 +- include/net/checksum.h | 6 + include/qapi/qmp/qbool.h | 1 + include/qapi/qmp/qdict.h | 6 +- include/qapi/qmp/qlist.h | 4 + include/qapi/qmp/qlit.h | 54 + include/qapi/qmp/qnull.h | 32 + include/qapi/qmp/qnum.h | 22 + include/qapi/qmp/qobject.h | 21 +- include/qapi/qmp/qstring.h | 1 + include/qapi/qmp/types.h | 1 + include/qapi/util.h | 10 +- include/qapi/visitor.h | 2 +- include/qemu-common.h | 4 +- include/qemu/atomic.h | 8 + include/qemu/bitmap.h | 17 + include/qemu/coroutine_int.h | 13 +- include/qemu/futex.h | 5 + include/qemu/hbitmap.h | 8 +- include/qemu/host-utils.h | 36 +- include/qemu/iov.h | 6 - include/qemu/osdep.h | 60 +- include/qemu/sockets.h | 15 +- include/qemu/thread-posix.h | 4 +- include/qemu/throttle-options.h | 60 +- include/qemu/throttle.h | 11 +- include/qemu/typedefs.h | 3 + include/qom/cpu.h | 73 +- include/qom/object.h | 65 +- include/qom/object_interfaces.h | 13 +- include/scsi/constants.h | 314 + include/scsi/pr-manager.h | 56 + include/scsi/utils.h | 128 + include/standard-headers/asm-s390/kvm_virtio.h | 64 - include/standard-headers/asm-x86/hyperv.h | 19 +- include/standard-headers/linux/pci_regs.h | 42 +- include/standard-headers/linux/virtio_ring.h | 4 +- include/sysemu/block-backend.h | 20 +- include/sysemu/dump.h | 2 + include/sysemu/iothread.h | 13 + include/sysemu/kvm.h | 2 +- include/sysemu/numa.h | 7 +- include/sysemu/seccomp.h | 8 +- include/sysemu/sysemu.h | 2 +- include/sysemu/tpm.h | 1 + include/sysemu/tpm_backend.h | 95 +- include/sysemu/tpm_backend_int.h | 41 - include/sysemu/watchdog.h | 12 +- include/ui/console.h | 64 +- include/ui/egl-helpers.h | 12 +- include/ui/gtk.h | 2 +- include/ui/input.h | 12 +- include/ui/sdl2.h | 2 +- include/ui/shader.h | 14 +- include/ui/spice-display.h | 2 +- io/channel-socket.c | 2 +- io/channel-websock.c | 559 +- io/channel.c | 134 + io/trace-events | 9 +- iothread.c | 85 +- libdecnumber/Makefile.objs | 5 + libdecnumber/decNumber.c | 2 +- linux-headers/asm-s390/kvm.h | 6 + linux-headers/linux/kvm.h | 3 +- linux-headers/linux/userfaultfd.h | 16 +- linux-user/arm/target_cpu.h | 4 + linux-user/elfload.c | 13 +- linux-user/hppa/syscall_nr.h | 2 +- linux-user/hppa/target_cpu.h | 4 + linux-user/ioctls.h | 5 + linux-user/main.c | 68 +- linux-user/signal.c | 47 +- linux-user/sparc/target_syscall.h | 2 +- linux-user/strace.c | 4 + linux-user/syscall.c | 108 +- linux-user/syscall_defs.h | 90 +- memory.c | 416 +- migration/Makefile.objs | 1 + migration/block.c | 13 +- migration/channel.c | 18 +- migration/colo-comm.c | 4 +- migration/colo-failover.c | 4 +- migration/colo.c | 14 +- migration/exec.c | 2 +- migration/fd.c | 2 +- migration/global_state.c | 10 +- migration/migration.c | 350 +- migration/migration.h | 21 +- migration/page_cache.c | 93 +- migration/page_cache.h | 18 +- migration/postcopy-ram.c | 154 +- migration/postcopy-ram.h | 6 +- migration/ram.c | 499 +- migration/ram.h | 12 +- migration/savevm.c | 110 +- migration/socket.c | 10 +- migration/tls.c | 1 - migration/trace-events | 3 +- migration/vmstate-types.c | 11 +- migration/vmstate.c | 43 +- monitor.c | 95 +- nbd/client.c | 264 +- nbd/common.c | 129 +- nbd/nbd-internal.h | 93 +- nbd/server.c | 365 +- nbd/trace-events | 17 +- net/Makefile.objs | 2 + net/colo-compare.c | 244 +- net/colo.c | 18 +- net/colo.h | 1 + net/filter-mirror.c | 6 + net/filter-rewriter.c | 6 +- net/filter.c | 2 +- net/hub.c | 10 +- net/net.c | 41 +- net/slirp.c | 13 +- net/socket.c | 162 +- numa.c | 60 +- os-posix.c | 1 - pc-bios/README | 4 +- pc-bios/bios-256k.bin | Bin 262144 -> 262144 bytes pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/keymaps/Makefile | 56 + pc-bios/keymaps/ar | 819 +- pc-bios/keymaps/bepo | 1108 +- pc-bios/keymaps/cz | 853 +- pc-bios/keymaps/da | 732 +- pc-bios/keymaps/de | 767 +- pc-bios/keymaps/de-ch | 921 +- pc-bios/keymaps/en-gb | 724 +- pc-bios/keymaps/en-us | 718 +- pc-bios/keymaps/es | 744 +- pc-bios/keymaps/et | 818 +- pc-bios/keymaps/fi | 814 +- pc-bios/keymaps/fo | 879 +- pc-bios/keymaps/fr | 706 +- pc-bios/keymaps/fr-be | 724 +- pc-bios/keymaps/fr-ca | 802 +- pc-bios/keymaps/fr-ch | 800 +- pc-bios/keymaps/hr | 752 +- pc-bios/keymaps/hu | 883 +- pc-bios/keymaps/is | 802 +- pc-bios/keymaps/it | 757 +- pc-bios/keymaps/ja | 792 +- pc-bios/keymaps/lt | 844 +- pc-bios/keymaps/lv | 766 +- pc-bios/keymaps/mk | 814 +- pc-bios/keymaps/nl | 794 +- pc-bios/keymaps/no | 758 +- pc-bios/keymaps/pl | 789 +- pc-bios/keymaps/pt | 737 +- pc-bios/keymaps/pt-br | 775 +- pc-bios/keymaps/ru | 835 +- pc-bios/keymaps/th | 878 +- pc-bios/keymaps/tr | 819 +- pc-bios/openbios-ppc | Bin 754936 -> 754936 bytes pc-bios/openbios-sparc32 | Bin 382048 -> 382048 bytes pc-bios/openbios-sparc64 | Bin 1593408 -> 1593408 bytes pc-bios/s390-ccw.img | Bin 30520 -> 26416 bytes pc-bios/s390-ccw/netboot.mak | 2 +- pc-bios/s390-ccw/sclp.c | 24 +- pc-bios/s390-ccw/virtio-scsi.c | 3 +- pc-bios/s390-netboot.img | Bin 83864 -> 83864 bytes pc-bios/vgabios-cirrus.bin | Bin 38400 -> 38400 bytes pc-bios/vgabios-qxl.bin | Bin 38912 -> 38912 bytes pc-bios/vgabios-stdvga.bin | Bin 38912 -> 38912 bytes pc-bios/vgabios-virtio.bin | Bin 38912 -> 38912 bytes pc-bios/vgabios-vmware.bin | Bin 38912 -> 38912 bytes pc-bios/vgabios.bin | Bin 38400 -> 38400 bytes pixman | 1 - qapi-schema.json | 5631 ++-------- qapi/block-core.json | 99 +- qapi/block.json | 73 +- qapi/char.json | 538 + qapi/common.json | 132 +- qapi/crypto.json | 2 +- qapi/event.json | 646 -- qapi/introspect.json | 6 +- qapi/migration.json | 1166 ++ qapi/net.json | 706 ++ qapi/qapi-clone-visitor.c | 1 + qapi/qapi-util.c | 16 +- qapi/qapi-visit-core.c | 34 +- qapi/qmp-dispatch.c | 2 +- qapi/run-state.json | 352 + qapi/sockets.json | 147 + qapi/string-input-visitor.c | 1 + qapi/tpm.json | 152 + qapi/trace.json | 2 +- qapi/transaction.json | 158 + qapi/ui.json | 984 ++ qdev-monitor.c | 1 - qemu-doc.texi | 812 +- qemu-img-cmds.hx | 4 +- qemu-img.c | 416 +- qemu-img.texi | 24 +- qemu-io-cmds.c | 25 +- qemu-io.c | 15 +- qemu-keymap.c | 258 + qemu-nbd.c | 4 +- qemu-options.hx | 81 +- qemu-seccomp.c | 303 +- qemu.nsi | 2 +- qga/commands-posix.c | 74 +- qga/commands-win32.c | 108 +- qga/qapi-schema.json | 38 +- qga/vss-win32.c | 3 +- qga/vss-win32/install.cpp | 13 +- qga/vss-win32/requester.cpp | 12 + qmp.c | 13 + qobject/Makefile.objs | 2 +- qobject/qbool.c | 8 + qobject/qdict.c | 29 + qobject/qlist.c | 32 + qobject/qlit.c | 84 + qobject/qnull.c | 11 +- qobject/qnum.c | 54 + qobject/qobject.c | 29 + qobject/qstring.c | 9 + qom/cpu.c | 94 +- qom/object.c | 36 +- qom/object_interfaces.c | 11 +- qtest.c | 82 +- replay/replay-snapshot.c | 4 +- roms/config.seabios-128k | 4 + roms/openbios | 2 +- roms/seabios | 2 +- scripts/archive-source.sh | 73 + scripts/argparse.py | 2406 +++++ scripts/checkpatch.pl | 146 +- scripts/coccinelle/qobject.cocci | 6 + scripts/create_config | 2 +- scripts/device-crash-test | 5 +- scripts/dump-guest-memory.py | 63 + scripts/get_maintainer.pl | 2 +- scripts/git-submodule.sh | 82 + scripts/make-release | 4 + scripts/qapi-event.py | 1 + scripts/qapi-types.py | 4 + scripts/qapi-visit.py | 2 +- scripts/qapi.py | 24 +- scripts/qemu.py | 174 +- scripts/qmp/qemu-ga-client | 2 +- scripts/qmp/qmp-shell | 4 +- scripts/qmp/qmp.py | 65 +- scripts/qtest.py | 13 +- scripts/update-linux-headers.sh | 5 +- scsi/Makefile.objs | 3 + scsi/pr-helper.h | 41 + scsi/pr-manager-helper.c | 302 + scsi/pr-manager.c | 109 + scsi/qemu-pr-helper.c | 1086 ++ scsi/trace-events | 3 + scsi/utils.c | 548 + slirp/if.c | 69 +- slirp/slirp.c | 8 +- slirp/slirp.h | 1 - slirp/tcp_subr.c | 11 +- softmmu_template.h | 433 - stubs/Makefile.objs | 3 +- stubs/qmp_pc_dimm.c | 13 + stubs/qmp_pc_dimm_device_list.c | 8 - stubs/tpm.c | 33 + target/alpha/cpu.c | 136 +- target/alpha/cpu.h | 13 +- target/alpha/helper.c | 8 + target/alpha/mem_helper.c | 19 +- target/alpha/translate.c | 359 +- target/arm/arch_dump.c | 11 +- target/arm/cpu.c | 214 +- target/arm/cpu.h | 262 +- target/arm/helper-a64.c | 46 +- target/arm/helper-a64.h | 4 + target/arm/helper.c | 1764 ++- target/arm/helper.h | 5 +- target/arm/internals.h | 87 +- target/arm/kvm.c | 6 +- target/arm/kvm32.c | 8 +- target/arm/kvm64.c | 63 +- target/arm/kvm_arm.h | 9 +- target/arm/machine.c | 171 +- target/arm/op_helper.c | 203 +- target/arm/psci.c | 2 +- target/arm/translate-a64.c | 590 +- target/arm/translate.c | 1001 +- target/arm/translate.h | 41 +- target/cris/cpu.c | 106 +- target/cris/cpu.h | 6 +- target/cris/translate.c | 25 +- target/cris/translate_v10.c | 2 - target/hppa/cpu.c | 14 +- target/hppa/cpu.h | 4 +- target/hppa/helper.h | 2 + target/hppa/op_helper.c | 32 +- target/hppa/translate.c | 922 +- target/i386/arch_dump.c | 41 +- target/i386/arch_memory_mapping.c | 1 - target/i386/cpu.c | 121 +- target/i386/cpu.h | 24 +- target/i386/hax-mem.c | 6 +- target/i386/hyperv-proto.h | 260 + target/i386/hyperv.c | 6 +- target/i386/kvm.c | 195 +- target/i386/machine.c | 22 +- target/i386/monitor.c | 18 +- target/i386/ops_sse.h | 47 +- target/i386/svm_helper.c | 1 - target/i386/translate.c | 596 +- target/lm32/cpu.c | 85 +- target/lm32/cpu.h | 6 +- target/lm32/helper.c | 5 - target/lm32/translate.c | 26 +- target/m68k/cpu.c | 88 +- target/m68k/cpu.h | 6 +- target/m68k/fpu_helper.c | 44 +- target/m68k/helper.c | 20 - target/m68k/helper.h | 1 + target/m68k/op_helper.c | 33 +- target/m68k/translate.c | 34 +- target/microblaze/cpu.c | 13 +- target/microblaze/cpu.h | 3 +- target/microblaze/translate.c | 29 +- target/mips/Makefile.objs | 2 +- target/mips/cp0_timer.c | 165 + target/mips/cpu-qom.h | 1 + target/mips/cpu.c | 55 +- target/mips/cpu.h | 363 +- target/mips/dsp_helper.c | 56 +- target/mips/gdbstub.c | 1 + target/mips/helper.c | 1 + target/mips/internal.h | 422 + target/mips/kvm.c | 11 +- target/mips/machine.c | 1 + target/mips/mips-defs.h | 6 +- target/mips/msa_helper.c | 1 + target/mips/op_helper.c | 1 + target/mips/translate.c | 86 +- target/mips/translate_init.c | 70 +- target/moxie/cpu.c | 75 +- target/moxie/cpu.h | 6 +- target/moxie/translate.c | 11 +- target/nios2/cpu.c | 16 +- target/nios2/cpu.h | 9 +- target/nios2/translate.c | 17 +- target/openrisc/cpu.c | 86 +- target/openrisc/cpu.h | 11 +- target/openrisc/machine.c | 1 - target/openrisc/sys_helper.c | 9 +- target/openrisc/translate.c | 17 +- target/ppc/Makefile.objs | 1 + target/ppc/STATUS | 550 - target/ppc/arch_dump.c | 12 +- target/ppc/compat.c | 2 +- target/ppc/cpu-models.c | 1026 +- target/ppc/cpu-models.h | 263 +- target/ppc/cpu-qom.h | 1 + target/ppc/cpu.h | 56 +- target/ppc/excp_helper.c | 7 +- target/ppc/helper_regs.h | 17 +- target/ppc/int_helper.c | 16 +- target/ppc/kvm.c | 148 +- target/ppc/kvm_ppc.h | 30 +- target/ppc/machine.c | 12 +- target/ppc/mem_helper.c | 2 +- target/ppc/mmu_helper.c | 16 +- target/ppc/translate.c | 39 +- target/ppc/translate_init.c | 630 +- target/s390x/Makefile.objs | 4 +- target/s390x/arch_dump.c | 3 +- target/s390x/cc_helper.c | 1 + target/s390x/cpu-qom.h | 9 +- target/s390x/cpu.c | 221 +- target/s390x/cpu.h | 814 +- target/s390x/cpu_features.c | 2 +- target/s390x/cpu_models.c | 90 +- target/s390x/cpu_models.h | 8 +- target/s390x/crypto_helper.c | 65 + target/s390x/diag.c | 11 +- target/s390x/excp_helper.c | 166 +- target/s390x/fpu_helper.c | 1 + target/s390x/gdbstub.c | 1 + target/s390x/helper.c | 256 +- target/s390x/helper.h | 9 +- target/s390x/insn-data.def | 17 +- target/s390x/int_helper.c | 1 + target/s390x/internal.h | 425 + target/s390x/interrupt.c | 174 +- target/s390x/ioinst.c | 153 +- target/s390x/kvm-stub.c | 124 + target/s390x/kvm.c | 602 +- target/s390x/kvm_s390x.h | 50 + target/s390x/machine.c | 8 +- target/s390x/mem_helper.c | 151 +- target/s390x/misc_helper.c | 153 +- target/s390x/mmu_helper.c | 113 +- target/s390x/sigp.c | 508 + target/s390x/trace-events | 4 +- target/s390x/translate.c | 145 +- target/sh4/cpu-qom.h | 8 +- target/sh4/cpu.c | 120 +- target/sh4/cpu.h | 12 +- target/sh4/translate.c | 25 +- target/sparc/cpu-qom.h | 2 + target/sparc/cpu.c | 388 +- target/sparc/cpu.h | 20 +- target/sparc/int32_helper.c | 2 +- target/sparc/int64_helper.c | 2 +- target/sparc/ldst_helper.c | 14 +- target/sparc/machine.c | 4 +- target/sparc/mmu_helper.c | 10 +- target/sparc/translate.c | 40 +- target/sparc/win_helper.c | 4 +- target/tilegx/cpu.c | 18 +- target/tilegx/cpu.h | 4 +- target/tilegx/translate.c | 5 +- target/tricore/cpu.c | 77 +- target/tricore/cpu.h | 6 +- target/tricore/helper.c | 5 - target/tricore/translate.c | 13 +- target/unicore32/cpu.c | 72 +- target/unicore32/cpu.h | 5 +- target/unicore32/helper.c | 11 +- target/unicore32/translate.c | 19 +- target/xtensa/cpu.c | 16 +- target/xtensa/cpu.h | 8 +- target/xtensa/helper.c | 24 +- target/xtensa/op_helper.c | 4 +- target/xtensa/translate.c | 37 +- tcg/aarch64/tcg-target.h | 10 + tcg/aarch64/tcg-target.inc.c | 397 +- tcg/arm/tcg-target.h | 11 + tcg/arm/tcg-target.inc.c | 931 +- tcg/i386/tcg-target.h | 14 + tcg/i386/tcg-target.inc.c | 52 +- tcg/ia64/tcg-target.h | 198 - tcg/ia64/tcg-target.inc.c | 2482 ----- tcg/mips/tcg-target.h | 9 + tcg/mips/tcg-target.inc.c | 382 +- tcg/optimize.c | 654 +- tcg/ppc/tcg-target.h | 9 + tcg/ppc/tcg-target.inc.c | 709 +- tcg/s390/tcg-target.h | 19 + tcg/s390/tcg-target.inc.c | 1057 +- tcg/sparc/tcg-target.h | 7 + tcg/sparc/tcg-target.inc.c | 531 +- tcg/tcg-be-ldst.h | 97 - tcg/tcg-be-null.h | 44 - tcg/tcg-ldst.inc.c | 78 + tcg/tcg-op.c | 208 +- tcg/tcg-op.h | 144 +- tcg/tcg-pool.inc.c | 85 + tcg/tcg-runtime.c | 234 - tcg/tcg-runtime.h | 136 - tcg/tcg.c | 1445 ++- tcg/tcg.h | 325 +- tcg/tci.c | 552 +- tcg/tci/tcg-target.h | 14 + tcg/tci/tcg-target.inc.c | 15 +- tests/.gitignore | 3 + tests/Makefile.include | 55 +- tests/acpi-test-data/pc/DSDT | Bin 5098 -> 5144 bytes tests/acpi-test-data/pc/DSDT.bridge | Bin 6957 -> 7003 bytes tests/acpi-test-data/pc/DSDT.cphp | Bin 5561 -> 5607 bytes tests/acpi-test-data/pc/DSDT.ipmikcs | Bin 5170 -> 5216 bytes tests/acpi-test-data/pc/DSDT.memhp | Bin 6463 -> 6509 bytes tests/acpi-test-data/q35/DSDT | Bin 7782 -> 7828 bytes tests/acpi-test-data/q35/DSDT.bridge | Bin 7799 -> 7845 bytes tests/acpi-test-data/q35/DSDT.cphp | Bin 8245 -> 8291 bytes tests/acpi-test-data/q35/DSDT.ipmibt | Bin 7857 -> 7903 bytes tests/acpi-test-data/q35/DSDT.memhp | Bin 9147 -> 9193 bytes tests/acpi-utils.h | 27 +- tests/ahci-test.c | 4 +- tests/benchmark-crypto-cipher.c | 4 +- tests/benchmark-crypto-hash.c | 4 +- tests/benchmark-crypto-hmac.c | 4 +- tests/bios-tables-test.c | 42 +- tests/boot-order-test.c | 11 +- tests/boot-sector.c | 65 +- tests/boot-serial-test.c | 12 +- tests/check-qjson.c | 150 +- tests/check-qlit.c | 74 + tests/check-qnull.c | 2 +- tests/check-qobject.c | 328 + tests/check-qom-proplist.c | 14 +- tests/crypto-tls-x509-helpers.c | 3 +- tests/docker/Makefile.include | 35 +- tests/docker/common.rc | 28 +- tests/docker/docker.py | 31 +- tests/docker/dockerfiles/centos6.docker | 1 + tests/docker/dockerfiles/centos7.docker | 1 + tests/docker/dockerfiles/debian-ports.docker | 1 + tests/docker/dockerfiles/debian8-mxe.docker | 1 + tests/docker/dockerfiles/debian8.docker | 1 + tests/docker/dockerfiles/debian9.docker | 1 + tests/docker/dockerfiles/fedora.docker | 3 +- tests/docker/dockerfiles/min-glib.docker | 2 +- tests/docker/dockerfiles/travis.docker | 6 +- tests/docker/dockerfiles/ubuntu.docker | 13 +- tests/docker/run | 22 +- tests/docker/test-block | 21 + tests/docker/test-build | 1 + tests/docker/test-clang | 1 + tests/docker/test-full | 82 +- tests/docker/test-mingw | 1 + tests/docker/test-quick | 1 + tests/drive_del-test.c | 25 +- tests/endianness-test.c | 33 +- tests/fw_cfg-test.c | 4 +- tests/io-channel-helpers.c | 102 +- tests/ipmi-bt-test.c | 11 +- tests/keys/README | 6 + tests/keys/id_rsa | 27 + tests/keys/id_rsa.pub | 1 + tests/libqos/ahci.c | 2 +- tests/libqos/libqos.c | 2 +- tests/libqos/malloc.c | 6 +- tests/libqos/pci.c | 26 +- tests/libqos/usb.c | 30 +- tests/libqos/virtio.c | 17 + tests/libqos/virtio.h | 3 + tests/libqtest.c | 129 +- tests/libqtest.h | 52 +- tests/m25p80-test.c | 9 +- tests/migration-test.c | 592 ++ tests/migration/guestperf/engine.py | 6 +- tests/migration/guestperf/shell.py | 21 +- tests/numa-test.c | 21 +- tests/pc-cpu-test.c | 2 +- tests/pnv-xscom-test.c | 16 +- tests/postcopy-test.c | 537 - tests/prom-env-test.c | 27 +- tests/ptimer-test-stubs.c | 4 + tests/pxe-test.c | 38 +- .../qapi-schema/alternate-conflict-bool-string.err | 1 + .../alternate-conflict-bool-string.exit | 1 + .../alternate-conflict-bool-string.json | 4 + .../qapi-schema/alternate-conflict-bool-string.out | 0 .../qapi-schema/alternate-conflict-num-string.err | 1 + .../qapi-schema/alternate-conflict-num-string.exit | 1 + .../qapi-schema/alternate-conflict-num-string.json | 4 + .../qapi-schema/alternate-conflict-num-string.out | 0 tests/qemu-iotests/020 | 27 + tests/qemu-iotests/020.out | 17 + tests/qemu-iotests/030 | 12 +- tests/qemu-iotests/039.out | 10 +- tests/qemu-iotests/040 | 8 +- tests/qemu-iotests/051 | 12 +- tests/qemu-iotests/051.out | 2 +- tests/qemu-iotests/051.pc.out | 12 +- tests/qemu-iotests/055 | 25 +- tests/qemu-iotests/058 | 8 +- tests/qemu-iotests/060 | 197 + tests/qemu-iotests/060.out | 230 + tests/qemu-iotests/061.out | 4 +- tests/qemu-iotests/067 | 4 +- tests/qemu-iotests/067.out | 2 +- tests/qemu-iotests/068 | 2 +- tests/qemu-iotests/068.out | 4 + tests/qemu-iotests/074.out | 2 - tests/qemu-iotests/075 | 18 +- tests/qemu-iotests/077 | 3 +- tests/qemu-iotests/077.out | 16 - tests/qemu-iotests/078 | 14 +- tests/qemu-iotests/083 | 138 +- tests/qemu-iotests/083.out | 164 +- tests/qemu-iotests/087 | 11 +- tests/qemu-iotests/093 | 62 + tests/qemu-iotests/093.out | 4 +- tests/qemu-iotests/102 | 4 +- tests/qemu-iotests/106 | 2 +- tests/qemu-iotests/125 | 7 +- tests/qemu-iotests/125.out | 480 +- tests/qemu-iotests/127 | 97 + tests/qemu-iotests/127.out | 14 + tests/qemu-iotests/133 | 9 + tests/qemu-iotests/133.out | 5 + tests/qemu-iotests/136 | 14 +- tests/qemu-iotests/137.out | 2 +- tests/qemu-iotests/139 | 12 +- tests/qemu-iotests/140 | 4 +- tests/qemu-iotests/147 | 1 + tests/qemu-iotests/163 | 170 + tests/qemu-iotests/163.out | 5 + tests/qemu-iotests/165 | 2 +- tests/qemu-iotests/172 | 2 +- tests/qemu-iotests/172.out | 8 - tests/qemu-iotests/176 | 56 +- tests/qemu-iotests/176.out | 216 +- tests/qemu-iotests/177 | 12 +- tests/qemu-iotests/177.out | 19 +- tests/qemu-iotests/181 | 2 + tests/qemu-iotests/181.out | 1 - tests/qemu-iotests/182 | 15 +- tests/qemu-iotests/184 | 206 + tests/qemu-iotests/184.out | 302 + tests/qemu-iotests/186 | 6 +- tests/qemu-iotests/187.out | 2 +- tests/qemu-iotests/191 | 154 + tests/qemu-iotests/191.out | 827 ++ tests/qemu-iotests/192 | 23 +- tests/qemu-iotests/194 | 95 +- tests/qemu-iotests/194.out | 11 +- tests/qemu-iotests/195 | 93 + tests/qemu-iotests/195.out | 78 + tests/qemu-iotests/196 | 66 + tests/qemu-iotests/196.out | 5 + tests/qemu-iotests/197 | 109 + tests/qemu-iotests/197.out | 26 + tests/qemu-iotests/198 | 104 + tests/qemu-iotests/198.out | 126 + tests/qemu-iotests/200 | 99 + tests/qemu-iotests/200.out | 14 + tests/qemu-iotests/check | 587 +- tests/qemu-iotests/common | 459 - tests/qemu-iotests/common.config | 206 +- tests/qemu-iotests/common.filter | 15 +- tests/qemu-iotests/common.qemu | 23 +- tests/qemu-iotests/common.rc | 207 +- tests/qemu-iotests/group | 9 + tests/qemu-iotests/iotests.py | 35 +- tests/qemu-iotests/nbd-fault-injector.py | 8 +- tests/qht-bench.c | 2 +- tests/qmp-test.c | 181 +- tests/tco-test.c | 10 +- tests/test-aio-multithread.c | 5 +- tests/test-blockjob-txn.c | 2 +- tests/test-crypto-block.c | 3 +- tests/test-filter-mirror.c | 24 +- tests/test-filter-redirector.c | 76 +- tests/test-hbitmap.c | 10 +- tests/test-hmp.c | 11 +- tests/test-io-channel-tls.c | 6 +- tests/test-iov.c | 13 +- tests/test-netfilter.c | 11 +- tests/test-qapi-util.c | 18 +- tests/test-qga.c | 90 - tests/test-qobject-input-visitor.c | 8 +- tests/test-qobject-output-visitor.c | 2 +- tests/test-string-input-visitor.c | 4 +- tests/test-string-output-visitor.c | 4 +- tests/test-throttle.c | 191 +- tests/test-vmstate.c | 13 +- tests/usb-hcd-uhci-test.c | 26 +- tests/usb-hcd-xhci-test.c | 51 +- tests/vhost-user-bridge.c | 1 + tests/vhost-user-test.c | 17 +- tests/virtio-balloon-test.c | 8 +- tests/virtio-blk-test.c | 5 +- tests/virtio-console-test.c | 19 +- tests/virtio-scsi-test.c | 26 +- tests/virtio-serial-test.c | 35 +- tests/vm/Makefile.include | 42 + tests/vm/README | 89 + tests/vm/basevm.py | 262 + tests/vm/freebsd | 42 + tests/vm/netbsd | 42 + tests/vm/openbsd | 43 + tests/vm/ubuntu.i386 | 89 + tests/vmgenid-test.c | 53 +- tpm.c | 145 +- trace-events | 3 + trace/control-target.c | 18 +- trace/control.c | 4 +- trace/simple.c | 3 +- ui/Makefile.objs | 1 + ui/cocoa.m | 135 +- ui/console-gl.c | 47 +- ui/console.c | 37 +- ui/curses.c | 27 +- ui/cursor.c | 2 +- ui/egl-headless.c | 65 +- ui/egl-helpers.c | 99 +- ui/gtk-egl.c | 6 +- ui/gtk-gl-area.c | 9 +- ui/input-keymap.c | 326 +- ui/input-legacy.c | 11 +- ui/input.c | 52 +- ui/keycodemapdb | 1 + ui/keymaps.c | 10 +- ui/qemu-pixman.c | 4 - ui/sdl2-gl.c | 8 +- ui/sdl2.c | 49 +- ui/shader.c | 57 +- ui/shader/texture-blit-flip.vert | 10 + ui/spice-display.c | 4 +- ui/trace-events | 21 + ui/vnc-auth-sasl.c | 113 +- ui/vnc-auth-vencrypt.c | 26 +- ui/vnc-enc-tight.c | 2 +- ui/vnc-ws.c | 12 +- ui/vnc.c | 67 +- user-exec-stub.c | 34 - user-exec.c | 575 - util/Makefile.objs | 1 + util/aio-posix.c | 16 +- util/async.c | 15 +- util/bitmap.c | 47 + util/bitops.c | 6 +- util/cacheinfo.c | 11 +- util/cutils.c | 3 +- util/hbitmap.c | 8 +- util/keyval.c | 1 - util/main-loop.c | 54 +- util/osdep.c | 41 + util/oslib-posix.c | 28 +- util/pagesize.c | 18 + util/qemu-config.c | 15 +- util/qemu-coroutine-sleep.c | 12 + util/qemu-coroutine.c | 14 + util/qemu-sockets.c | 354 +- util/qemu-thread-posix.c | 10 +- util/stats64.c | 4 +- util/throttle.c | 238 +- version.rc | 2 +- vl.c | 190 +- 1358 files changed, 89932 insertions(+), 52550 deletions(-) diff --git a/.gitignore b/.gitignore index cf65316..588769b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ /trace/generated-tcg-tracers.h /ui/shader/texture-blit-frag.h /ui/shader/texture-blit-vert.h +/ui/shader/texture-blit-flip-vert.h +/ui/input-keymap-*.c *-timestamp /*-softmmu /*-darwin-user @@ -44,14 +46,17 @@ /qemu-io /qemu-ga /qemu-bridge-helper +/qemu-keymap /qemu-monitor.texi /qemu-monitor-info.texi /qemu-version.h /qemu-version.h.tmp /module_block.h +/scsi/qemu-pr-helper /vscclient /vhost-user-scsi /fsdev/virtfs-proxy-helper +*.tmp *.[1-9] *.a *.aux @@ -111,6 +116,7 @@ /docs/version.texi *.tps .stgit-* +.git-submodule-status cscope.* tags TAGS diff --git a/.gitmodules b/.gitmodules index 5b0c212..1500579 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,9 +22,6 @@ [submodule "roms/sgabios"] path = roms/sgabios url = git://git.qemu-project.org/sgabios.git -[submodule "pixman"] - path = pixman - url = git://anongit.freedesktop.org/pixman [submodule "dtc"] path = dtc url = git://git.qemu-project.org/dtc.git @@ -37,3 +34,9 @@ [submodule "roms/QemuMacDrivers"] path = roms/QemuMacDrivers url = git://git.qemu.org/QemuMacDrivers.git +[submodule "ui/keycodemapdb"] + path = ui/keycodemapdb + url = git://git.qemu.org/keycodemapdb.git +[submodule "capstone"] + path = capstone + url = git://git.qemu.org/capstone.git diff --git a/.mailmap b/.mailmap index 28defa1..ee81ac8 100644 --- a/.mailmap +++ b/.mailmap @@ -8,8 +8,11 @@ Aurelien Jarno <aurelien@xxxxxxxxxxx> aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-7 Blue Swirl <blauwirbel@xxxxxxxxx> blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> Fabrice Bellard <fabrice@xxxxxxxxxxx> bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> +James Hogan <jhogan@xxxxxxxxxx> <james.hogan@xxxxxxxxxx> Jocelyn Mayer <l_indien@xxxxxxxx> j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> Paul Brook <paul@xxxxxxxxxxxxxxxx> pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> +Paul Burton <paul.burton@xxxxxxxx> <paul.burton@xxxxxxxxxx> +Paul Burton <paul.burton@xxxxxxxx> <paul@xxxxxxxxxxxxxxxxx> Thiemo Seufer <ths@xxxxxxxxxxxx> ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> malc <av1474@xxxxxxxx> malc <malc@c046a42c-6fe2-441c-8c8c-71466251a162> # There is also a: diff --git a/COPYING.PYTHON b/COPYING.PYTHON new file mode 100644 index 0000000..4d3f1ef --- /dev/null +++ b/COPYING.PYTHON @@ -0,0 +1,270 @@ +A. HISTORY OF THE SOFTWARE +========================== + +Python was created in the early 1990s by Guido van Rossum at Stichting +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +as a successor of a language called ABC. Guido remains Python's +principal author, although it includes many contributions from others. + +In 1995, Guido continued his work on Python at the Corporation for +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +in Reston, Virginia where he released several versions of the +software. + +In May 2000, Guido and the Python core development team moved to +BeOpen.com to form the BeOpen PythonLabs team. In October of the same +year, the PythonLabs team moved to Digital Creations (now Zope +Corporation, see http://www.zope.com). In 2001, the Python Software +Foundation (PSF, see http://www.python.org/psf/) was formed, a +non-profit organization created specifically to own Python-related +Intellectual Property. Zope Corporation is a sponsoring member of +the PSF. + +All Python releases are Open Source (see http://www.opensource.org for +the Open Source Definition). Historically, most, but not all, Python +releases have also been GPL-compatible; the table below summarizes +the various releases. + + Release Derived Year Owner GPL- + from compatible? (1) + + 0.9.0 thru 1.2 1991-1995 CWI yes + 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes + 1.6 1.5.2 2000 CNRI no + 2.0 1.6 2000 BeOpen.com no + 1.6.1 1.6 2001 CNRI yes (2) + 2.1 2.0+1.6.1 2001 PSF no + 2.0.1 2.0+1.6.1 2001 PSF yes + 2.1.1 2.1+2.0.1 2001 PSF yes + 2.2 2.1.1 2001 PSF yes + 2.1.2 2.1.1 2002 PSF yes + 2.1.3 2.1.2 2002 PSF yes + 2.2.1 2.2 2002 PSF yes + 2.2.2 2.2.1 2002 PSF yes + 2.2.3 2.2.2 2003 PSF yes + 2.3 2.2.2 2002-2003 PSF yes + 2.3.1 2.3 2002-2003 PSF yes + 2.3.2 2.3.1 2002-2003 PSF yes + 2.3.3 2.3.2 2002-2003 PSF yes + 2.3.4 2.3.3 2004 PSF yes + 2.3.5 2.3.4 2005 PSF yes + 2.4 2.3 2004 PSF yes + 2.4.1 2.4 2005 PSF yes + 2.4.2 2.4.1 2005 PSF yes + 2.4.3 2.4.2 2006 PSF yes + 2.5 2.4 2006 PSF yes + 2.7 2.6 2010 PSF yes + +Footnotes: + +(1) GPL-compatible doesn't mean that we're distributing Python under + the GPL. All Python licenses, unlike the GPL, let you distribute + a modified version without making your changes open source. The + GPL-compatible licenses make it possible to combine Python with + other software that is released under the GPL; the others don't. + +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, + because its license has a choice of law clause. According to + CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 + is "not incompatible" with the GPL. + +Thanks to the many outside volunteers who have worked under Guido's +direction to make these releases possible. + + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON +=============================================================== + +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights +Reserved" are retained in Python alone or in any derivative version +prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + ACCEPT + + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/Changelog b/Changelog index 1249b8a..4a90bb9 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,6 @@ This file documents changes for QEMU releases 0.12 and earlier. For changelog information for later releases, see -http://wiki.qemu-project.org/ChangeLog or look at the git history for +https://wiki.qemu.org/ChangeLog or look at the git history for more detailed information. diff --git a/MAINTAINERS b/MAINTAINERS index ccee28b..0255113 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -61,7 +61,7 @@ F: */ Responsible Disclosure, Reporting Security Issues ------------------------------ -W: http://wiki.qemu.org/SecurityProcess +W: https://wiki.qemu.org/SecurityProcess M: Michael S. Tsirkin <mst@xxxxxxxxxx> L: secalert@xxxxxxxxxx @@ -86,7 +86,6 @@ M: Richard Henderson <rth@xxxxxxxxxxx> S: Maintained F: cpus.c F: exec.c -F: softmmu_template.h F: accel/tcg/ F: include/exec/cpu*.h F: include/exec/exec-all.h @@ -163,7 +162,7 @@ F: disas/microblaze.c MIPS M: Aurelien Jarno <aurelien@xxxxxxxxxxx> -M: Yongbok Kim <yongbok.kim@xxxxxxxxxx> +M: Yongbok Kim <yongbok.kim@xxxxxxxx> S: Maintained F: target/mips/ F: hw/mips/ @@ -217,6 +216,7 @@ S: Maintained F: target/s390x/ F: hw/s390x/ F: disas/s390.c +L: qemu-s390x@xxxxxxxxxx SH4 M: Aurelien Jarno <aurelien@xxxxxxxxxxx> @@ -250,6 +250,7 @@ S: Maintained F: target/i386/ F: hw/i386/ F: disas/i386.c +T: git git://github.com/ehabkost/qemu.git x86-next Xtensa M: Max Filippov <jcmvbkbc@xxxxxxxxx> @@ -284,7 +285,7 @@ S: Maintained F: target/arm/kvm.c MIPS -M: James Hogan <james.hogan@xxxxxxxxxx> +M: James Hogan <jhogan@xxxxxxxxxx> S: Maintained F: target/mips/kvm.c @@ -299,14 +300,18 @@ M: Cornelia Huck <cohuck@xxxxxxxxxx> M: Alexander Graf <agraf@xxxxxxx> S: Maintained F: target/s390x/kvm.c +F: target/s390x/kvm_s390x.h +F: target/s390x/kvm-stub.c F: target/s390x/ioinst.[ch] F: target/s390x/machine.c +F: target/s390x/sigp.c F: hw/intc/s390_flic.c F: hw/intc/s390_flic_kvm.c F: include/hw/s390x/s390_flic.h F: gdb-xml/s390*.xml T: git git://github.com/cohuck/qemu.git s390-next T: git git://github.com/borntraeger/qemu.git s390-next +L: qemu-s390x@xxxxxxxxxx X86 M: Paolo Bonzini <pbonzini@xxxxxxxxxx> @@ -380,6 +385,7 @@ M: Peter Maydell <peter.maydell@xxxxxxxxxx> L: qemu-arm@xxxxxxxxxx S: Maintained F: hw/char/pl011.c +F: include/hw/char/pl011.h F: hw/display/pl110* F: hw/dma/pl080.c F: hw/dma/pl330.c @@ -403,13 +409,15 @@ F: hw/intc/gic_internal.h F: hw/misc/a9scu.c F: hw/misc/arm11scu.c F: hw/timer/a9gtimer* -F: hw/timer/arm_* -F: include/hw/arm/arm.h +F: hw/timer/arm* +F: include/hw/arm/arm*.h F: include/hw/intc/arm* F: include/hw/misc/a9scu.h F: include/hw/misc/arm11scu.h F: include/hw/timer/a9gtimer.h F: include/hw/timer/arm_mptimer.h +F: include/hw/timer/armv7m_systick.h +F: tests/test-arm-mptimer.c Exynos M: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> @@ -512,6 +520,7 @@ M: Peter Maydell <peter.maydell@xxxxxxxxxx> L: qemu-arm@xxxxxxxxxx S: Maintained F: hw/*/versatile* +F: hw/misc/arm_sysctl.c Xilinx Zynq M: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> @@ -548,12 +557,30 @@ F: hw/char/stm32f2xx_usart.c F: hw/timer/stm32f2xx_timer.c F: hw/adc/* F: hw/ssi/stm32f2xx_spi.c +F: include/hw/*/stm32*.h Netduino 2 M: Alistair Francis <alistair@xxxxxxxxxxxxx> S: Maintained F: hw/arm/netduino2.c +SmartFusion2 +M: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx> +S: Maintained +F: hw/arm/msf2-soc.c +F: hw/misc/msf2-sysreg.c +F: hw/timer/mss-timer.c +F: hw/ssi/mss-spi.c +F: include/hw/arm/msf2-soc.h +F: include/hw/misc/msf2-sysreg.h +F: include/hw/timer/mss-timer.h +F: include/hw/ssi/mss-spi.h + +Emcraft M2S-FG484 +M: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx> +S: Maintained +F: hw/arm/msf2-som.c + CRIS Machines ------------- Axis Dev88 @@ -616,7 +643,7 @@ S: Maintained F: hw/mips/mips_malta.c Mipssim -M: Yongbok Kim <yongbok.kim@xxxxxxxxxx> +M: Yongbok Kim <yongbok.kim@xxxxxxxx> S: Odd Fixes F: hw/mips/mips_mipssim.c F: hw/net/mipsnet.c @@ -627,12 +654,12 @@ S: Maintained F: hw/mips/mips_r4k.c Fulong 2E -M: Yongbok Kim <yongbok.kim@xxxxxxxxxx> +M: Yongbok Kim <yongbok.kim@xxxxxxxx> S: Odd Fixes F: hw/mips/mips_fulong2e.c Boston -M: Paul Burton <paul.burton@xxxxxxxxxx> +M: Paul Burton <paul.burton@xxxxxxxx> S: Maintained F: hw/core/loader-fit.c F: hw/mips/boston.c @@ -771,7 +798,7 @@ F: pc-bios/openbios-sparc64 Sun4v M: Artyom Tarasenko <atar4qemu@xxxxxxxxx> S: Maintained -F: hw/sparc64/sun4v.c +F: hw/sparc64/niagara.c F: hw/timer/sun4v-rtc.c F: include/hw/timer/sun4v-rtc.h @@ -790,6 +817,7 @@ M: Christian Borntraeger <borntraeger@xxxxxxxxxx> M: Alexander Graf <agraf@xxxxxxx> S: Supported F: hw/char/sclp*.[hc] +F: hw/char/terminal3270.c F: hw/s390x/ F: include/hw/s390x/ F: pc-bios/s390-ccw/ @@ -799,6 +827,7 @@ F: pc-bios/s390-ccw.img F: default-configs/s390x-softmmu.mak T: git git://github.com/cohuck/qemu.git s390-next T: git git://github.com/borntraeger/qemu.git s390-next +L: qemu-s390x@xxxxxxxxxx UniCore32 Machines ------------- @@ -858,6 +887,7 @@ S: Supported F: hw/core/machine.c F: hw/core/null-machine.c F: include/hw/boards.h +T: git git://github.com/ehabkost/qemu.git machine-next Xtensa Machines --------------- @@ -923,6 +953,9 @@ F: include/hw/pci/* F: hw/misc/pci-testdev.c F: hw/pci/* F: hw/pci-bridge/* +F: docs/pci* +F: docs/specs/*pci* +F: default-configs/pci.mak ACPI/SMBIOS M: Michael S. Tsirkin <mst@xxxxxxxxxx> @@ -973,16 +1006,15 @@ F: hw/scsi/* F: tests/virtio-scsi-test.c T: git git://github.com/bonzini/qemu.git scsi-next -LSI53C895A -S: Orphan -F: hw/scsi/lsi53c895a.c - SSI M: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx> +M: Alistair Francis <alistair.francis@xxxxxxxxxx> S: Maintained F: hw/ssi/* F: hw/block/m25p80.c +F: include/hw/ssi/ssi.h X: hw/ssi/xilinx_* +F: tests/m25p80-test.c Xilinx SPI M: Alistair Francis <alistair.francis@xxxxxxxxxx> @@ -999,6 +1031,7 @@ F: docs/usb2.txt F: docs/usb-storage.txt F: include/hw/usb.h F: include/hw/usb/ +F: default-configs/usb.mak USB (serial adapter) M: Gerd Hoffmann <kraxel@xxxxxxxxxx> @@ -1019,11 +1052,13 @@ F: hw/vfio/ccw.c F: hw/s390x/s390-ccw.c F: include/hw/s390x/s390-ccw.h T: git git://github.com/cohuck/qemu.git s390-next +L: qemu-s390x@xxxxxxxxxx vhost M: Michael S. Tsirkin <mst@xxxxxxxxxx> S: Supported F: hw/*/*vhost* +F: docs/interop/vhost-user.txt virtio M: Michael S. Tsirkin <mst@xxxxxxxxxx> @@ -1061,6 +1096,7 @@ S: Supported F: hw/s390x/virtio-ccw.[hc] T: git git://github.com/cohuck/qemu.git s390-next T: git git://github.com/borntraeger/qemu.git s390-next +L: qemu-s390x@xxxxxxxxxx virtio-input M: Gerd Hoffmann <kraxel@xxxxxxxxxx> @@ -1101,11 +1137,12 @@ F: hw/block/nvme* F: tests/nvme-test.c megasas -M: Hannes Reinecke <hare@xxxxxxx> +M: Hannes Reinecke <hare@xxxxxxxx> L: qemu-block@xxxxxxxxxx S: Supported F: hw/scsi/megasas.c F: hw/scsi/mfi.h +F: tests/megasas-test.c Network packet abstractions M: Dmitry Fleytman <dmitry@xxxxxxxxxx> @@ -1120,6 +1157,7 @@ M: Dmitry Fleytman <dmitry@xxxxxxxxxx> S: Maintained F: hw/net/vmxnet* F: hw/scsi/vmw_pvscsi* +F: tests/vmxnet3-test.c Rocker M: Jiri Pirko <jiri@xxxxxxxxxxx> @@ -1129,7 +1167,7 @@ F: tests/rocker/ F: docs/specs/rocker.txt NVDIMM -M: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> +M: Xiao Guangrong <xiaoguangrong.eric@xxxxxxxxx> S: Maintained F: hw/acpi/nvdimm.c F: hw/mem/nvdimm.c @@ -1145,11 +1183,17 @@ M: Dmitry Fleytman <dmitry@xxxxxxxxxx> S: Maintained F: hw/net/e1000e* +eepro100 +M: Stefan Weil <sw@xxxxxxxxxxx> +S: Maintained +F: hw/net/eepro100.c + Generic Loader M: Alistair Francis <alistair.francis@xxxxxxxxxx> S: Maintained F: hw/core/generic-loader.c F: include/hw/core/generic-loader.h +F: docs/generic-loader.txt CHRP NVRAM M: Thomas Huth <thuth@xxxxxxxxxx> @@ -1211,8 +1255,16 @@ F: util/aio-*.c F: block/io.c F: migration/block* F: include/block/aio.h +F: scripts/qemugdb/aio.py T: git git://github.com/stefanha/qemu.git block +Block SCSI subsystem +M: Paolo Bonzini <pbonzini@xxxxxxxxxx> +L: qemu-block@xxxxxxxxxx +S: Supported +F: include/scsi/* +F: scsi/* + Block Jobs M: Jeff Cody <jcody@xxxxxxxxxx> L: qemu-block@xxxxxxxxxx @@ -1231,6 +1283,7 @@ S: Supported F: blockdev.c F: block/qapi.c F: qapi/block*.json +F: qapi/transaction.json T: git git://repo.or.cz/qemu/armbru.git block-next Dirty Bitmaps @@ -1243,7 +1296,7 @@ F: block/dirty-bitmap.c F: include/qemu/hbitmap.h F: include/block/dirty-bitmap.h F: tests/test-hbitmap.c -F: docs/bitmaps.md +F: docs/interop/bitmaps.rst T: git git://github.com/famz/qemu.git bitmaps T: git git://github.com/jnsnow/qemu.git bitmaps @@ -1253,6 +1306,7 @@ M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> S: Maintained F: chardev/ F: include/chardev/ +F: qapi/char.json Character Devices (Braille) M: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> @@ -1286,6 +1340,17 @@ S: Maintained F: device_tree.c F: include/sysemu/device_tree.h +Dump +S: Supported +M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> +F: dump.c +F: hw/misc/vmcoreinfo.c +F: include/hw/misc/vmcoreinfo.h +F: include/sysemu/dump-arch.h +F: include/sysemu/dump.h +F: scripts/dump-guest-memory.py +F: stubs/dump.c + Error reporting M: Markus Armbruster <armbru@xxxxxxxxxx> S: Supported @@ -1319,12 +1384,14 @@ F: include/ui/spice-display.h F: ui/spice-*.c F: audio/spiceaudio.c F: hw/display/qxl* +F: qapi/ui.json Graphics M: Gerd Hoffmann <kraxel@xxxxxxxxxx> S: Odd Fixes F: ui/ F: include/ui/ +F: qapi/ui.json Cocoa graphics M: Peter Maydell <peter.maydell@xxxxxxxxxx> @@ -1338,6 +1405,7 @@ F: cpus.c F: util/main-loop.c F: util/qemu-timer.c F: vl.c +F: qapi/run-state.json Human Monitor (HMP) M: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx> @@ -1354,6 +1422,7 @@ S: Maintained F: net/ F: include/net/ T: git git://github.com/jasowang/qemu.git net +F: qapi/net.json Netmap network backend M: Luigi Rizzo <rizzo@xxxxxxxxxxxx> @@ -1368,7 +1437,7 @@ M: Eduardo Habkost <ehabkost@xxxxxxxxxx> S: Maintained F: numa.c F: include/sysemu/numa.h -T: git git://github.com/ehabkost/qemu.git numa +T: git git://github.com/ehabkost/qemu.git machine-next Host Memory Backends M: Eduardo Habkost <ehabkost@xxxxxxxxxx> @@ -1376,6 +1445,7 @@ M: Igor Mammedov <imammedo@xxxxxxxxxx> S: Maintained F: backends/hostmem*.c F: include/sysemu/hostmem.h +T: git git://github.com/ehabkost/qemu.git machine-next Cryptodev Backends M: Gonglei <arei.gonglei@xxxxxxxxxx> @@ -1383,6 +1453,14 @@ S: Maintained F: include/sysemu/cryptodev*.h F: backends/cryptodev*.c +Python scripts +M: Eduardo Habkost <ehabkost@xxxxxxxxxx> +M: Cleber Rosa <crosa@xxxxxxxxxx> +S: Odd fixes +F: scripts/qmp/* +F: scripts/*.py +F: tests/*.py + QAPI M: Markus Armbruster <armbru@xxxxxxxxxx> M: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> @@ -1398,7 +1476,7 @@ F: tests/test-qapi-*.c F: tests/test-qmp-*.c F: tests/test-visitor-serialization.c F: scripts/qapi* -F: docs/qapi* +F: docs/devel/qapi* T: git git://repo.or.cz/qemu/armbru.git qapi-next QAPI Schema @@ -1427,6 +1505,10 @@ QEMU Guest Agent M: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> S: Maintained F: qga/ +F: qemu-ga.texi +F: scripts/qemu-guest-agent/ +F: tests/test-qga.c +F: docs/interop/qemu-ga-ref.texi T: git git://github.com/mdroth/qemu.git qga QOM @@ -1446,7 +1528,7 @@ M: Markus Armbruster <armbru@xxxxxxxxxx> S: Supported F: qmp.c F: monitor.c -F: docs/*qmp-* +F: docs/devel/*qmp-* F: scripts/qmp/ F: tests/qmp-test.c T: git git://repo.or.cz/qemu/armbru.git qapi-next @@ -1477,9 +1559,20 @@ S: Maintained F: trace/ F: scripts/tracetool.py F: scripts/tracetool/ -F: docs/tracing.txt +F: docs/devel/tracing.txt T: git git://github.com/stefanha/qemu.git tracing +TPM +M: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> +S: Maintained +F: tpm.c +F: stubs/tpm.c +F: hw/tpm/* +F: include/hw/acpi/tpm.h +F: include/sysemu/tpm* +F: qapi/tpm.json +F: backends/tpm.c + Checkpatch S: Odd Fixes F: scripts/checkpatch.pl @@ -1492,7 +1585,9 @@ F: include/migration/ F: migration/ F: scripts/vmstate-static-checker.py F: tests/vmstate-static-checker-data/ -F: docs/migration.txt +F: tests/migration-test.c +F: docs/devel/migration.txt +F: qapi/migration.json Seccomp M: Eduardo Otubo <otubo@xxxxxxxxxx> @@ -1506,6 +1601,7 @@ S: Maintained F: crypto/ F: include/crypto/ F: tests/test-crypto-* +F: tests/benchmark-crypto-* F: qemu.sasl Coroutines @@ -1535,14 +1631,17 @@ M: Paolo Bonzini <pbonzini@xxxxxxxxxx> S: Maintained F: include/qemu/sockets.h F: util/qemu-sockets.c +F: qapi/sockets.json Throttling infrastructure M: Alberto Garcia <berto@xxxxxxxxxx> S: Supported F: block/throttle-groups.c F: include/block/throttle-groups.h -F: include/qemu/throttle.h +F: include/qemu/throttle*.h F: util/throttle.c +F: docs/throttle.txt +F: tests/test-throttle.c L: qemu-block@xxxxxxxxxx UUID @@ -1561,7 +1660,7 @@ F: include/migration/failover.h F: docs/COLO-FT.txt COLO Proxy -M: Zhang Chen <zhangchen.fnst@xxxxxxxxxxxxxx> +M: Zhang Chen <zhangckid@xxxxxxxxx> M: Li Zhijian <lizhijian@xxxxxxxxxxxxxx> S: Supported F: docs/colo-proxy.txt @@ -1572,7 +1671,7 @@ F: net/filter-mirror.c Record/replay M: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx> R: Paolo Bonzini <pbonzini@xxxxxxxxxx> -W: http://wiki.qemu.org/Features/record-replay +W: https://wiki.qemu.org/Features/record-replay S: Supported F: replay/* F: block/blkreplay.c @@ -1587,8 +1686,7 @@ Overall M: Riku Voipio <riku.voipio@xxxxxx> S: Maintained F: thunk.c -F: user-exec.c -F: user-exec-stub.c +F: accel/tcg/user-exec*.c BSD user S: Orphan @@ -1631,12 +1729,6 @@ S: Maintained F: tcg/i386/ F: disas/i386.c -IA64 target -M: Aurelien Jarno <aurelien@xxxxxxxxxxx> -S: Maintained -F: tcg/ia64/ -F: disas/ia64.c - MIPS target M: Aurelien Jarno <aurelien@xxxxxxxxxxx> S: Maintained @@ -1655,6 +1747,7 @@ M: Richard Henderson <rth@xxxxxxxxxxx> S: Maintained F: tcg/s390/ F: disas/s390.c +L: qemu-s390x@xxxxxxxxxx SPARC target S: Odd Fixes @@ -1805,7 +1898,7 @@ M: Denis V. Lunev <den@xxxxxxxxxx> L: qemu-block@xxxxxxxxxx S: Supported F: block/parallels.c -F: docs/specs/parallels.txt +F: docs/interop/parallels.txt qed M: Stefan Hajnoczi <stefanha@xxxxxxxxxx> @@ -1830,6 +1923,7 @@ M: Max Reitz <mreitz@xxxxxxxxxx> L: qemu-block@xxxxxxxxxx S: Supported F: block/qcow2* +F: docs/interop/qcow2.txt qcow M: Kevin Wolf <kwolf@xxxxxxxxxx> @@ -1873,6 +1967,7 @@ F: docs/block-replication.txt Build and test automation ------------------------- +Build and test automation M: Alex Bennée <alex.bennee@xxxxxxxxxx> M: Fam Zheng <famz@xxxxxxxxxx> R: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx> @@ -1881,6 +1976,7 @@ S: Maintained F: .travis.yml F: .shippable.yml F: tests/docker/ +F: tests/vm/ W: https://travis-ci.org/qemu/qemu W: https://app.shippable.com/github/qemu/qemu W: http://patchew.org/QEMU/ @@ -1890,5 +1986,11 @@ Documentation Build system architecture M: Daniel P. Berrange <berrange@xxxxxxxxxx> S: Odd Fixes -F: docs/build-system.txt +F: docs/devel/build-system.txt +Build System +------------ +GIT submodules +M: Daniel P. Berrange <berrange@xxxxxxxxxx> +S: Odd Fixes +F: scripts/git-submodule.sh diff --git a/Makefile b/Makefile index 81447b1..ab0354c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR) # Before including a proper config-host.mak, assume we are in the source tree SRC_PATH=. -UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% +UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help # All following code might depend on configuration variables ifneq ($(wildcard config-host.mak),) @@ -14,6 +14,36 @@ ifneq ($(wildcard config-host.mak),) all: include config-host.mak +git-submodule-update: + +.PHONY: git-submodule-update + +git_module_status := $(shell \ + cd '$(SRC_PATH)' && \ + GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \ + echo $$?; \ +) + +ifeq (1,$(git_module_status)) +ifeq (no,$(GIT_UPDATE)) +git-submodule-update: + $(call quiet-command, \ + echo && \ + echo "GIT submodule checkout is out of date. Please run" && \ + echo " scripts/git-submodule.sh update $(GIT_SUBMODULES)" && \ + echo "from the source directory checkout $(SRC_PATH)" && \ + echo && \ + exit 1) +else +git-submodule-update: + $(call quiet-command, \ + (cd $(SRC_PATH) && GIT="$(GIT)" ./scripts/git-submodule.sh update $(GIT_SUBMODULES)), \ + "GIT","$(GIT_SUBMODULES)") +endif +endif + +.git-submodule-status: git-submodule-update config-host.mak + # Check that we're not trying to do an out-of-tree build from # a tree that's been used for an in-tree build. ifneq ($(realpath $(SRC_PATH)),$(realpath .)) @@ -84,6 +114,7 @@ endif GENERATED_FILES += $(TRACE_HEADERS) GENERATED_FILES += $(TRACE_SOURCES) GENERATED_FILES += $(BUILD_DIR)/trace-events-all +GENERATED_FILES += .git-submodule-status trace-group-name = $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g') @@ -191,13 +222,38 @@ trace-dtrace-root.h: trace-dtrace-root.dtrace trace-dtrace-root.o: trace-dtrace-root.dtrace +KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen +KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv + +KEYCODEMAP_FILES = \ + ui/input-keymap-linux-to-qcode.c \ + ui/input-keymap-qcode-to-qnum.c \ + ui/input-keymap-qnum-to-qcode.c \ + $(NULL) + +GENERATED_FILES += $(KEYCODEMAP_FILES) + +ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile.objs + $(call quiet-command,\ + src=$$(echo $@ | sed -E -e "s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\1,") && \ + dst=$$(echo $@ | sed -E -e "s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\2,") && \ + test -e $(KEYCODEMAP_GEN) && \ + $(PYTHON) $(KEYCODEMAP_GEN) \ + --lang glib2 \ + --varname qemu_input_map_$${src}_to_$${dst} \ + code-map $(KEYCODEMAP_CSV) $${src} $${dst} \ + > $@ || rm -f $@, "GEN", "$@") + +$(KEYCODEMAP_GEN): .git-submodule-status +$(KEYCODEMAP_CSV): .git-submodule-status + # Don't try to regenerate Makefile or configure # We don't generate any of them Makefile: ; configure: ; .PHONY: all clean cscope distclean html info install install-doc \ - pdf txt recurse-all speed test dist msi FORCE + pdf txt recurse-all dist msi FORCE $(call set-vpath, $(SRC_PATH)) @@ -209,6 +265,7 @@ ifdef BUILD_DOCS DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7 DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7 +DOCS+=docs/qemu-block-drivers.7 ifdef CONFIG_VIRTFS DOCS+=fsdev/virtfs-proxy-helper.1 endif @@ -325,26 +382,32 @@ $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak subdir-%: $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) -subdir-pixman: pixman/Makefile - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,) - -pixman/Makefile: $(SRC_PATH)/pixman/configure - (cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static) - -$(SRC_PATH)/pixman/configure: - (cd $(SRC_PATH)/pixman; autoreconf -v --install) - DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS) DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt -subdir-dtc:dtc/libfdt dtc/tests +subdir-dtc: .git-submodule-status dtc/libfdt dtc/tests $(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(LDFLAGS)" ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) libfdt/libfdt.a,) -dtc/%: +dtc/%: .git-submodule-status mkdir -p $@ -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \ +# Overriding CFLAGS causes us to lose defines added in the sub-makefile. +# Not overriding CFLAGS leads to mis-matches between compilation modes. +# Therefore we replicate some of the logic in the sub-makefile. +# Remove all the extra -Warning flags that QEMU uses that Capstone doesn't; +# no need to annoy QEMU developers with such things. +CAP_CFLAGS = $(patsubst -W%,,$(CFLAGS) $(QEMU_CFLAGS)) +CAP_CFLAGS += -DCAPSTONE_USE_SYS_DYN_MEM +CAP_CFLAGS += -DCAPSTONE_HAS_ARM +CAP_CFLAGS += -DCAPSTONE_HAS_ARM64 +CAP_CFLAGS += -DCAPSTONE_HAS_POWERPC +CAP_CFLAGS += -DCAPSTONE_HAS_X86 + +subdir-capstone: .git-submodule-status + $(call quiet-command,$(MAKE) -C $(SRC_PATH)/capstone CAPSTONE_SHARED=no BUILDDIR="$(BUILD_DIR)/capstone" CC="$(CC)" AR="$(AR)" LD="$(LD)" RANLIB="$(RANLIB)" CFLAGS="$(CAP_CFLAGS)" $(SUBDIR_MAKEFLAGS) $(BUILD_DIR)/capstone/$(LIBCAPSTONE)) + +$(SUBDIR_RULES): libqemuutil.a $(common-obj-y) $(chardev-obj-y) \ $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS)) @@ -364,12 +427,12 @@ Makefile: $(version-obj-y) ###################################################################### # Build libraries -libqemustub.a: $(stub-obj-y) -libqemuutil.a: $(util-obj-y) $(trace-obj-y) +libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y) +libvhost-user.a: $(libvhost-user-obj-y) ###################################################################### -COMMON_LDADDS = libqemuutil.a libqemustub.a +COMMON_LDADDS = libqemuutil.a qemu-img.o: qemu-img-cmds.h @@ -379,15 +442,25 @@ qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $(qom-obj qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o $(COMMON_LDADDS) +qemu-keymap$(EXESUF): qemu-keymap.o ui/input-keymap.o $(COMMON_LDADDS) + fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/9p-marshal.o fsdev/9p-iov-marshal.o $(COMMON_LDADDS) fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap +scsi/qemu-pr-helper$(EXESUF): scsi/qemu-pr-helper.o scsi/utils.o $(crypto-obj-y) $(io-obj-y) $(qom-obj-y) $(COMMON_LDADDS) +ifdef CONFIG_MPATH +scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmultipath -lmpathpersist +endif + qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@") qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) qemu-ga$(EXESUF): QEMU_CFLAGS += -I qga/qapi-generated +qemu-keymap$(EXESUF): LIBS += $(XKBCOMMON_LIBS) +qemu-keymap$(EXESUF): QEMU_CFLAGS += $(XKBCOMMON_CFLAGS) + gen-out-type = $(subst .,-,$(suffix $@)) qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py @@ -410,9 +483,18 @@ $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py) qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \ $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \ - $(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \ - $(SRC_PATH)/qapi/crypto.json $(SRC_PATH)/qapi/rocker.json \ - $(SRC_PATH)/qapi/trace.json + $(SRC_PATH)/qapi/char.json \ + $(SRC_PATH)/qapi/crypto.json \ + $(SRC_PATH)/qapi/introspect.json \ + $(SRC_PATH)/qapi/migration.json \ + $(SRC_PATH)/qapi/net.json \ + $(SRC_PATH)/qapi/rocker.json \ + $(SRC_PATH)/qapi/run-state.json \ + $(SRC_PATH)/qapi/sockets.json \ + $(SRC_PATH)/qapi/tpm.json \ + $(SRC_PATH)/qapi/trace.json \ + $(SRC_PATH)/qapi/transaction.json \ + $(SRC_PATH)/qapi/ui.json qapi-types.c qapi-types.h :\ $(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py) @@ -474,7 +556,7 @@ ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS) ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS) $(call LINK, $^) endif -vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) +vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a $(call LINK, $^) module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak @@ -489,7 +571,7 @@ clean: rm -f *.msi find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} + rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ - rm -f fsdev/*.pod + rm -f fsdev/*.pod scsi/*.pod rm -f qemu-img-cmds.h rm -f ui/shader/*-vert.h ui/shader/*-frag.h @# May not be present in GENERATED_FILES @@ -528,11 +610,11 @@ distclean: clean rm -f docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt rm -f docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf rm -f docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html + rm -f docs/qemu-block-drivers.7 for d in $(TARGET_DIRS); do \ rm -rf $$d || exit 1 ; \ done rm -Rf .sdk - if test -f pixman/config.log; then $(MAKE) -C pixman distclean; fi if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi KEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \ @@ -573,6 +655,7 @@ ifdef CONFIG_POSIX $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man7" $(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7" + $(INSTALL_DATA) docs/qemu-block-drivers.7 "$(DESTDIR)$(mandir)/man7" ifneq ($(TOOLS),) $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1" $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8" @@ -633,10 +716,6 @@ endif $(MAKE) $(SUBDIR_MAKEFLAGS) TARGET_DIR=$$d/ -C $$d $@ || exit 1 ; \ done -# various test targets -test speed: all - $(MAKE) -C tests/tcg $@ - .PHONY: ctags ctags: rm -f tags @@ -665,8 +744,10 @@ ui/shader/%-frag.h: $(SRC_PATH)/ui/shader/%.frag $(SRC_PATH)/scripts/shaderinclu perl $(SRC_PATH)/scripts/shaderinclude.pl $< > $@,\ "FRAG","$@") -ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \ - ui/shader/texture-blit-vert.h ui/shader/texture-blit-frag.h +ui/shader.o: $(SRC_PATH)/ui/shader.c \ + ui/shader/texture-blit-vert.h \ + ui/shader/texture-blit-flip-vert.h \ + ui/shader/texture-blit-frag.h # documentation MAKEINFO=makeinfo @@ -718,6 +799,7 @@ qemu-img.1: qemu-img.texi qemu-option-trace.texi qemu-img-cmds.texi fsdev/virtfs-proxy-helper.1: fsdev/virtfs-proxy-helper.texi qemu-nbd.8: qemu-nbd.texi qemu-option-trace.texi qemu-ga.8: qemu-ga.texi +docs/qemu-block-drivers.7: docs/qemu-block-drivers.texi html: qemu-doc.html docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html info: qemu-doc.info docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info @@ -727,7 +809,7 @@ txt: qemu-doc.txt docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt qemu-doc.html qemu-doc.info qemu-doc.pdf qemu-doc.txt: \ qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-option-trace.texi \ qemu-monitor.texi qemu-img-cmds.texi qemu-ga.texi \ - qemu-monitor-info.texi + qemu-monitor-info.texi docs/qemu-block-drivers.texi docs/interop/qemu-ga-ref.dvi docs/interop/qemu-ga-ref.html \ docs/interop/qemu-ga-ref.info docs/interop/qemu-ga-ref.pdf \ @@ -813,6 +895,7 @@ endif -include $(wildcard *.d tests/*.d) include $(SRC_PATH)/tests/docker/Makefile.include +include $(SRC_PATH)/tests/vm/Makefile.include .PHONY: help help: @@ -836,6 +919,7 @@ help: @echo 'Test targets:' @echo ' check - Run all tests (check-help for details)' @echo ' docker - Help about targets running tests inside Docker containers' + @echo ' vm-test - Help about targets running tests inside VM' @echo '' @echo 'Documentation targets:' @echo ' html info pdf txt' diff --git a/Makefile.objs b/Makefile.objs index 24a4ea0..285c6f3 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -11,7 +11,7 @@ chardev-obj-y = chardev/ block-obj-y += nbd/ block-obj-y += block.o blockjob.o -block-obj-y += block/ +block-obj-y += block/ scsi/ block-obj-y += qemu-io-cmds.o block-obj-$(CONFIG_REPLICATION) += replication.o @@ -62,7 +62,7 @@ bt-host.o-cflags := $(BLUEZ_CFLAGS) common-obj-y += dma-helpers.o common-obj-y += vl.o vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) -common-obj-y += tpm.o +common-obj-$(CONFIG_TPM) += tpm.o common-obj-$(CONFIG_SLIRP) += slirp/ @@ -70,6 +70,8 @@ common-obj-y += backends/ common-obj-y += chardev/ common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o +qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) +qemu-seccomp.o-libs := $(SECCOMP_LIBS) common-obj-$(CONFIG_FDT) += device_tree.o @@ -113,7 +115,6 @@ libvhost-user-obj-y = contrib/libvhost-user/ vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ -vhost-user-scsi-obj-y += contrib/libvhost-user/libvhost-user.o ###################################################################### trace-events-subdirs = @@ -153,6 +154,7 @@ trace-events-subdirs += hw/acpi trace-events-subdirs += hw/arm trace-events-subdirs += hw/alpha trace-events-subdirs += hw/xen +trace-events-subdirs += hw/ide trace-events-subdirs += ui trace-events-subdirs += audio trace-events-subdirs += net @@ -168,6 +170,7 @@ trace-events-subdirs += qapi trace-events-subdirs += accel/tcg trace-events-subdirs += accel/kvm trace-events-subdirs += nbd +trace-events-subdirs += scsi trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) diff --git a/Makefile.target b/Makefile.target index 7f42c45..f9a9da7 100644 --- a/Makefile.target +++ b/Makefile.target @@ -22,7 +22,7 @@ QEMU_PROG_BUILD = $(QEMU_PROG) else # system emulator name QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF) -ifneq (,$(findstring -mwindows,$(libs_softmmu))) +ifneq (,$(findstring -mwindows,$(SDL_LIBS))) # Terminate program name with a 'w' because the linker builds a windows executable. QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF) $(QEMU_PROG): $(QEMU_PROGW) @@ -94,20 +94,13 @@ all: $(PROGS) stap obj-y += exec.o obj-y += accel/ obj-$(CONFIG_TCG) += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o -obj-$(CONFIG_TCG) += tcg/tcg-common.o tcg/tcg-runtime.o +obj-$(CONFIG_TCG) += tcg/tcg-common.o obj-$(CONFIG_TCG_INTERPRETER) += tcg/tci.o obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o obj-y += fpu/softfloat.o obj-y += target/$(TARGET_BASE_ARCH)/ obj-y += disas.o obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o -obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o - -obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decContext.o -obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decNumber.o -obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal32.o -obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal64.o -obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/dpd/decimal128.o ######################################################### # Linux user emulator target @@ -119,7 +112,7 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \ -I$(SRC_PATH)/linux-user obj-y += linux-user/ -obj-y += gdbstub.o thunk.o user-exec.o user-exec-stub.o +obj-y += gdbstub.o thunk.o endif #CONFIG_LINUX_USER @@ -132,7 +125,7 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ABI_DIR) \ -I$(SRC_PATH)/bsd-user/$(HOST_VARIANT_DIR) obj-y += bsd-user/ -obj-y += gdbstub.o user-exec.o user-exec-stub.o +obj-y += gdbstub.o endif #CONFIG_BSD_USER @@ -193,7 +186,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y) $(QEMU_PROG_BUILD): config-devices.mak -COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a +COMMON_LDADDS = ../libqemuutil.a # build either PROG or PROGW $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS) diff --git a/README b/README index cb60d05..b92a07a 100644 --- a/README +++ b/README @@ -44,9 +44,9 @@ of other UNIX targets. The simple steps to build QEMU are: Additional information can also be found online via the QEMU website: - http://qemu-project.org/Hosts/Linux - http://qemu-project.org/Hosts/Mac - http://qemu-project.org/Hosts/W32 + https://qemu.org/Hosts/Linux + https://qemu.org/Hosts/Mac + https://qemu.org/Hosts/W32 Submitting patches @@ -54,7 +54,7 @@ Submitting patches The QEMU source code is maintained under the GIT version control system. - git clone git://git.qemu-project.org/qemu.git + git clone git://git.qemu.org/qemu.git When submitting patches, the preferred approach is to use 'git format-patch' and/or 'git send-email' to format & send the mail to the @@ -65,8 +65,8 @@ guidelines set out in the HACKING and CODING_STYLE files. Additional information on submitting patches can be found online via the QEMU website - http://qemu-project.org/Contribute/SubmitAPatch - http://qemu-project.org/Contribute/TrivialPatches + https://qemu.org/Contribute/SubmitAPatch + https://qemu.org/Contribute/TrivialPatches Bug reporting @@ -85,7 +85,7 @@ reported via launchpad. For additional information on bug reporting consult: - http://qemu-project.org/Contribute/ReportABug + https://qemu.org/Contribute/ReportABug Contact @@ -95,12 +95,12 @@ The QEMU community can be contacted in a number of ways, with the two main methods being email and IRC - qemu-devel@xxxxxxxxxx - http://lists.nongnu.org/mailman/listinfo/qemu-devel + https://lists.nongnu.org/mailman/listinfo/qemu-devel - #qemu on irc.oftc.net Information on additional methods of contacting the community can be found online via the QEMU website: - http://qemu-project.org/Contribute/StartHere + https://qemu.org/Contribute/StartHere -- End diff --git a/VERSION b/VERSION index 8bbb6e4..46b81d8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.10.1 +2.11.0 diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 46ce479..f290f48 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -79,7 +79,6 @@ struct KVMState int coalesced_mmio; struct kvm_coalesced_mmio_ring *coalesced_mmio_ring; bool coalesced_flush_in_progress; - int broken_set_mem_region; int vcpu_events; int robust_singlestep; int debugregs; @@ -88,6 +87,7 @@ struct KVMState #endif int many_ioeventfds; int intx_set_mask; + bool sync_mmu; /* The man page (and posix) say ioctl numbers are signed int, but * they're not. Linux, glibc and *BSD all treat ioctl numbers as * unsigned, and treating them as signed here can break things */ @@ -127,6 +127,7 @@ static bool kvm_immediate_exit; static const KVMCapabilityInfo kvm_required_capabilites[] = { KVM_CAP_INFO(USER_MEMORY), KVM_CAP_INFO(DESTROY_MEMORY_REGION_WORKS), + KVM_CAP_INFO(JOIN_MEMORY_REGIONS_WORKS), KVM_CAP_LAST_INFO }; @@ -172,7 +173,7 @@ static KVMSlot *kvm_alloc_slot(KVMMemoryListener *kml) static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml, hwaddr start_addr, - hwaddr end_addr) + hwaddr size) { KVMState *s = kvm_state; int i; @@ -180,8 +181,7 @@ static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml, for (i = 0; i < s->nr_slots; i++) { KVMSlot *mem = &kml->slots[i]; - if (start_addr == mem->start_addr && - end_addr == mem->start_addr + mem->memory_size) { + if (start_addr == mem->start_addr && size == mem->memory_size) { return mem; } } @@ -190,31 +190,27 @@ static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml, } /* - * Find overlapping slot with lowest start address + * Calculate and align the start address and the size of the section. + * Return the size. If the size is 0, the aligned section is empty. */ -static KVMSlot *kvm_lookup_overlapping_slot(KVMMemoryListener *kml, - hwaddr start_addr, - hwaddr end_addr) +static hwaddr kvm_align_section(MemoryRegionSection *section, + hwaddr *start) { - KVMState *s = kvm_state; - KVMSlot *found = NULL; - int i; - - for (i = 0; i < s->nr_slots; i++) { - KVMSlot *mem = &kml->slots[i]; - - if (mem->memory_size == 0 || - (found && found->start_addr < mem->start_addr)) { - continue; - } + hwaddr size = int128_get64(section->size); + hwaddr delta, aligned; - if (end_addr > mem->start_addr && - start_addr < mem->start_addr + mem->memory_size) { - found = mem; - } + /* kvm works in page size chunks, but the function may be called + with sub-page size and unaligned start address. Pad the start + address to next and truncate size to previous page boundary. */ + aligned = ROUND_UP(section->offset_within_address_space, + qemu_real_host_page_size); + delta = aligned - section->offset_within_address_space; + *start = aligned; + if (delta > size) { + return 0; } - return found; + return (size - delta) & qemu_real_host_page_mask; } int kvm_physical_memory_addr_from_host(KVMState *s, void *ram, @@ -382,15 +378,21 @@ static int kvm_slot_update_flags(KVMMemoryListener *kml, KVMSlot *mem, static int kvm_section_update_flags(KVMMemoryListener *kml, MemoryRegionSection *section) { - hwaddr phys_addr = section->offset_within_address_space; - ram_addr_t size = int128_get64(section->size); - KVMSlot *mem = kvm_lookup_matching_slot(kml, phys_addr, phys_addr + size); + hwaddr start_addr, size; + KVMSlot *mem; - if (mem == NULL) { + size = kvm_align_section(section, &start_addr); + if (!size) { return 0; - } else { - return kvm_slot_update_flags(kml, mem, section->mr); } + + mem = kvm_lookup_matching_slot(kml, start_addr, size); + if (!mem) { + /* We don't have a slot if we want to trap every access. */ + return 0; + } + + return kvm_slot_update_flags(kml, mem, section->mr); } static void kvm_log_start(MemoryListener *listener, @@ -454,18 +456,16 @@ static int kvm_physical_sync_dirty_bitmap(KVMMemoryListener *kml, MemoryRegionSection *section) { KVMState *s = kvm_state; - unsigned long size, allocated_size = 0; struct kvm_dirty_log d = {}; KVMSlot *mem; - int ret = 0; - hwaddr start_addr = section->offset_within_address_space; - hwaddr end_addr = start_addr + int128_get64(section->size); + hwaddr start_addr, size; - d.dirty_bitmap = NULL; - while (start_addr < end_addr) { - mem = kvm_lookup_overlapping_slot(kml, start_addr, end_addr); - if (mem == NULL) { - break; + size = kvm_align_section(section, &start_addr); + if (size) { + mem = kvm_lookup_matching_slot(kml, start_addr, size); + if (!mem) { + /* We don't have a slot if we want to trap every access. */ + return 0; } /* XXX bad kernel interface alert _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |