[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [qemu-xen master] Merge tag 'v2.10.0' into 'staging'
=== This changeset includes merge from high-traffic branch === Commits on that branch are not reported individually. commit 948d3cb064ff82acd7faab6a23b6c57c5185d097 Merge: 1ab5eb4efb91a3d4569b0df6e824cc08ab4bd8ec c7c6232bd304568d4da4bef521603aae0035e172 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> AuthorDate: Fri Sep 8 14:35:56 2017 +0100 Commit: Anthony PERARD <anthony.perard@xxxxxxxxxx> CommitDate: Fri Sep 8 14:35:56 2017 +0100 Merge tag 'v2.10.0' into 'staging' .editorconfig | 15 + .gdbinit | 8 + .gitignore | 19 +- .gitmodules | 3 + .shippable.yml | 34 +- .travis.yml | 7 +- CODING_STYLE | 35 + MAINTAINERS | 124 +- Makefile | 94 +- Makefile.objs | 20 +- Makefile.target | 40 +- VERSION | 2 +- accel.c | 155 -- accel/Makefile.objs | 4 + accel/accel.c | 134 + accel/kvm/Makefile.objs | 1 + accel/kvm/kvm-all.c | 2627 ++++++++++++++++++++ accel/kvm/trace-events | 15 + accel/stubs/Makefile.objs | 2 + accel/stubs/kvm-stub.c | 163 ++ accel/stubs/tcg-stub.c | 22 + accel/tcg/Makefile.objs | 3 + accel/tcg/cpu-exec-common.c | 84 + accel/tcg/cpu-exec.c | 687 +++++ accel/tcg/cputlb.c | 1063 ++++++++ accel/tcg/tcg-all.c | 92 + accel/tcg/trace-events | 10 + accel/tcg/translate-all.c | 2218 +++++++++++++++++ accel/tcg/translate-all.h | 36 + arch_init.c | 126 +- audio/audio.c | 2 + audio/rate_template.h | 6 + audio/trace-events | 6 +- audio/wavcapture.c | 1 + backends/Makefile.objs | 4 - backends/baum.c | 677 ----- backends/cryptodev.c | 2 +- backends/hostmem-file.c | 6 +- backends/hostmem-ram.c | 2 +- backends/hostmem.c | 19 +- backends/msmouse.c | 190 -- backends/rng-egd.c | 6 +- backends/testdev.c | 129 - backends/trace-events | 10 - backends/wctablet.c | 369 --- block.c | 668 +++-- block/Makefile.objs | 6 +- block/accounting.c | 78 +- block/backup.c | 142 +- block/blkdebug.c | 293 ++- block/blkreplay.c | 11 +- block/blkverify.c | 14 +- block/block-backend.c | 184 +- block/bochs.c | 5 +- block/cloop.c | 5 +- block/commit.c | 82 +- block/crypto.c | 114 +- block/crypto.h | 101 + block/curl.c | 243 +- block/dirty-bitmap.c | 268 +- block/dmg.c | 6 +- block/file-posix.c | 518 +++- block/file-win32.c | 32 +- block/gluster.c | 161 +- block/io.c | 533 ++-- block/iscsi.c | 55 +- block/mirror.c | 368 +-- block/nbd-client.c | 127 +- block/nbd-client.h | 15 +- block/nbd.c | 100 +- block/nfs.c | 98 +- block/null.c | 33 +- block/parallels.c | 24 +- block/qapi.c | 71 +- block/qcow.c | 281 ++- block/qcow2-bitmap.c | 1486 +++++++++++ block/qcow2-cluster.c | 510 ++-- block/qcow2-refcount.c | 501 ++-- block/qcow2-snapshot.c | 7 +- block/qcow2.c | 1413 +++++++++-- block/qcow2.h | 106 +- block/qed-cluster.c | 124 +- block/qed-gencb.c | 33 - block/qed-l2-cache.c | 6 + block/qed-table.c | 281 +-- block/qed.c | 893 +++---- block/qed.h | 65 +- block/quorum.c | 20 +- block/raw-format.c | 43 +- block/rbd.c | 117 +- block/replication.c | 75 +- block/sheepdog.c | 80 +- block/snapshot.c | 2 +- block/ssh.c | 49 +- block/stream.c | 39 +- block/throttle-groups.c | 121 +- block/trace-events | 68 +- block/vdi.c | 55 +- block/vhdx-log.c | 52 +- block/vhdx.c | 41 +- block/vmdk.c | 86 +- block/vpc.c | 74 +- block/vvfat.c | 2422 +++++++++--------- block/vxhs.c | 575 +++++ blockdev-nbd.c | 27 +- blockdev.c | 288 ++- blockjob.c | 896 ++++--- bootdevice.c | 2 +- bsd-user/bsdload.c | 25 +- bsd-user/elfload.c | 10 +- bsd-user/main.c | 24 +- bsd-user/mmap.c | 2 +- bsd-user/qemu.h | 2 + chardev/Makefile.objs | 7 + chardev/baum.c | 677 +++++ chardev/char-console.c | 4 +- chardev/char-fd.c | 15 +- chardev/char-fd.h | 44 - chardev/char-fe.c | 375 +++ chardev/char-file.c | 8 +- chardev/char-io.c | 25 +- chardev/char-io.h | 46 - chardev/char-mux.c | 18 +- chardev/char-mux.h | 63 - chardev/char-null.c | 2 +- chardev/char-parallel.c | 6 +- chardev/char-parallel.h | 32 - chardev/char-pipe.c | 16 +- chardev/char-pty.c | 12 +- chardev/char-ringbuf.c | 2 +- chardev/char-serial.c | 8 +- chardev/char-serial.h | 35 - chardev/char-socket.c | 176 +- chardev/char-stdio.c | 8 +- chardev/char-udp.c | 58 +- chardev/char-win-stdio.c | 4 +- chardev/char-win-stdio.h | 29 - chardev/char-win.c | 95 +- chardev/char-win.h | 53 - chardev/char.c | 719 ++---- chardev/msmouse.c | 190 ++ chardev/spice.c | 421 ++++ chardev/testdev.c | 129 + chardev/trace-events | 18 + chardev/wctablet.c | 369 +++ configure | 832 ++++--- contrib/libvhost-user/libvhost-user.c | 32 +- contrib/libvhost-user/libvhost-user.h | 17 +- contrib/vhost-user-scsi/Makefile.objs | 1 + contrib/vhost-user-scsi/vhost-user-scsi.c | 886 +++++++ cpu-exec-common.c | 82 - cpu-exec.c | 685 ----- cpus.c | 29 +- cputlb.c | 1045 -------- crypto/Makefile.objs | 3 + crypto/afalg.c | 116 + crypto/afalgpriv.h | 64 + crypto/block-luks.c | 26 +- crypto/block-qcow.c | 8 +- crypto/block.c | 6 +- crypto/blockpriv.h | 2 + crypto/cipher-afalg.c | 226 ++ crypto/cipher-builtin.c | 125 +- crypto/cipher-gcrypt.c | 105 +- crypto/cipher-nettle.c | 84 +- crypto/cipher.c | 80 + crypto/cipherpriv.h | 56 + crypto/hash-afalg.c | 214 ++ crypto/hash-gcrypt.c | 19 +- crypto/hash-glib.c | 19 +- crypto/hash-nettle.c | 19 +- crypto/hash.c | 30 + crypto/hashpriv.h | 39 + crypto/hmac-gcrypt.c | 42 +- crypto/hmac-glib.c | 63 +- crypto/hmac-nettle.c | 42 +- crypto/hmac.c | 58 + crypto/hmac.h | 166 -- crypto/hmacpriv.h | 48 + crypto/init.c | 6 + crypto/random-gcrypt.c | 2 + crypto/random-gnutls.c | 3 + crypto/random-platform.c | 45 +- crypto/trace-events | 2 +- default-configs/arm-softmmu.mak | 8 + default-configs/i386-softmmu.mak | 1 - default-configs/pci.mak | 4 +- default-configs/ppc-softmmu.mak | 1 + default-configs/ppc64-softmmu.mak | 5 + default-configs/ppcemb-softmmu.mak | 1 + default-configs/s390x-softmmu.mak | 3 + default-configs/x86_64-softmmu.mak | 1 - device_tree.c | 1 + disas/libvixl/Makefile.objs | 5 +- disas/microblaze.c | 18 +- docs/aio_notify.promela | 93 - docs/aio_notify_accept.promela | 152 -- docs/aio_notify_bug.promela | 140 -- docs/atomics.txt | 388 --- docs/bitmaps.md | 505 ---- docs/blkdebug.txt | 162 -- docs/blkverify.txt | 69 - docs/bootindex.txt | 2 +- docs/build-system.txt | 512 ---- docs/colo-proxy.txt | 26 + docs/config/ich9-ehci-uhci.cfg | 37 + docs/config/mach-virt-graphical.cfg | 281 +++ docs/config/mach-virt-serial.cfg | 243 ++ docs/config/q35-emulated.cfg | 288 +++ docs/config/q35-virtio-graphical.cfg | 248 ++ docs/config/q35-virtio-serial.cfg | 193 ++ docs/devel/atomics.txt | 388 +++ docs/devel/blkdebug.txt | 162 ++ docs/devel/blkverify.txt | 69 + docs/devel/build-system.txt | 512 ++++ docs/devel/lockcnt.txt | 277 +++ docs/devel/memory.txt | 347 +++ docs/devel/migration.txt | 555 +++++ docs/devel/multi-thread-tcg.txt | 350 +++ docs/devel/multiple-iothreads.txt | 137 + docs/devel/qapi-code-gen.txt | 1312 ++++++++++ docs/devel/rcu.txt | 390 +++ docs/devel/tracing.txt | 441 ++++ docs/devel/virtio-migration.txt | 108 + docs/devel/writing-qmp-commands.txt | 607 +++++ docs/ich9-ehci-uhci.cfg | 37 - docs/interop/bitmaps.rst | 555 +++++ docs/interop/live-block-operations.rst | 1088 ++++++++ docs/interop/parallels.txt | 228 ++ docs/interop/qcow2.txt | 682 +++++ docs/interop/qed_spec.txt | 138 + docs/interop/qemu-ga-ref.texi | 80 + docs/interop/qemu-qmp-ref.texi | 80 + docs/interop/qmp-intro.txt | 86 + docs/interop/qmp-spec.txt | 341 +++ docs/interop/vhost-user.txt | 636 +++++ docs/interop/vnc-ledstate-Pseudo-encoding.txt | 50 + docs/live-block-ops.txt | 72 - docs/lockcnt.txt | 277 --- docs/mach-virt-graphical.cfg | 281 --- docs/mach-virt-serial.cfg | 243 -- docs/memory.txt | 316 --- docs/migration.txt | 555 ----- docs/multi-thread-tcg.txt | 350 --- docs/multiple-iothreads.txt | 137 - docs/q35-emulated.cfg | 288 --- docs/q35-virtio-graphical.cfg | 248 -- docs/q35-virtio-serial.cfg | 193 -- docs/qapi-code-gen.txt | 1310 ---------- docs/qcow2-cache.txt | 2 +- docs/qdev-device-use.txt | 19 +- docs/qemu-ga-ref.texi | 80 - docs/qemu-qmp-ref.texi | 80 - docs/qmp-intro.txt | 86 - docs/qmp-spec.txt | 341 --- docs/rcu.txt | 390 --- docs/specs/parallels.txt | 228 -- docs/specs/pci-ids.txt | 2 +- docs/specs/qcow2.txt | 581 ----- docs/specs/qed_spec.txt | 138 - docs/specs/vhost-user.txt | 508 ---- docs/spin/aio_notify.promela | 93 + docs/spin/aio_notify_accept.promela | 152 ++ docs/spin/aio_notify_bug.promela | 140 ++ docs/spin/tcg-exclusive.promela | 225 ++ docs/spin/win32-qemu-event.promela | 98 + docs/tcg-exclusive.promela | 225 -- docs/tracing.txt | 442 ---- docs/usb2.txt | 2 +- docs/virtio-migration.txt | 108 - docs/vnc-ledstate-Pseudo-encoding.txt | 50 - docs/win32-qemu-event.promela | 98 - docs/writing-qmp-commands.txt | 607 ----- dump.c | 7 + exec.c | 474 +++- fpu/softfloat-specialize.h | 34 +- fpu/softfloat.c | 16 + fsdev/9p-iov-marshal.c | 4 +- fsdev/file-op-9p.h | 4 + fsdev/qemu-fsdev-opts.c | 12 + fsdev/qemu-fsdev-throttle.c | 2 +- fsdev/virtfs-proxy-helper.c | 11 +- gdb-xml/i386-32bit-core.xml | 65 + gdb-xml/i386-32bit-sse.xml | 52 + gdb-xml/i386-32bit.xml | 14 + gdb-xml/i386-64bit-core.xml | 73 + gdb-xml/i386-64bit-sse.xml | 60 + gdb-xml/i386-64bit.xml | 14 + gdb-xml/m68k-fp.xml | 21 + gdb-xml/s390-gs.xml | 14 + gdbstub.c | 191 +- hmp-commands-info.hx | 40 +- hmp-commands.hx | 98 +- hmp.c | 502 +++- hmp.h | 7 + hw/9pfs/9p-handle.c | 5 - hw/9pfs/9p-local.c | 309 ++- hw/9pfs/9p-synth.c | 3 +- hw/9pfs/9p-util.c | 43 - hw/9pfs/9p-util.h | 26 +- hw/9pfs/9p.c | 83 +- hw/9pfs/9p.h | 15 +- hw/9pfs/Makefile.objs | 1 + hw/9pfs/trace-events | 2 +- hw/9pfs/virtio-9p-device.c | 63 +- hw/9pfs/xen-9p-backend.c | 482 ++++ hw/9pfs/xen-9pfs.h | 21 + hw/acpi/aml-build.c | 53 + hw/acpi/core.c | 4 +- hw/acpi/cpu.c | 7 +- hw/acpi/ich9.c | 1 - hw/acpi/memory_hotplug.c | 12 +- hw/acpi/nvdimm.c | 25 +- hw/acpi/pcihp.c | 7 +- hw/acpi/piix4.c | 13 +- hw/acpi/trace-events | 2 +- hw/alpha/dp264.c | 1 - hw/alpha/trace-events | 2 +- hw/alpha/typhoon.c | 33 +- hw/arm/Makefile.objs | 1 + hw/arm/allwinner-a10.c | 6 - hw/arm/aspeed.c | 46 +- hw/arm/aspeed_soc.c | 42 +- hw/arm/bcm2835_peripherals.c | 10 +- hw/arm/bcm2836.c | 6 - hw/arm/boot.c | 64 +- hw/arm/digic.c | 6 - hw/arm/exynos4210.c | 62 +- hw/arm/exynos4_boards.c | 55 +- hw/arm/fsl-imx25.c | 8 +- hw/arm/fsl-imx31.c | 8 +- hw/arm/fsl-imx6.c | 8 +- hw/arm/highbank.c | 12 +- hw/arm/imx25_pdk.c | 6 +- hw/arm/integratorcp.c | 3 +- hw/arm/kzm.c | 6 +- hw/arm/mainstone.c | 1 - hw/arm/mps2.c | 385 +++ hw/arm/musicpal.c | 3 +- hw/arm/omap1.c | 11 +- hw/arm/omap2.c | 5 +- hw/arm/omap_sx1.c | 6 +- hw/arm/palm.c | 1 - hw/arm/pxa2xx.c | 23 +- hw/arm/raspi.c | 4 +- hw/arm/realview.c | 3 - hw/arm/spitz.c | 5 +- hw/arm/stellaris.c | 64 +- hw/arm/stm32f205_soc.c | 3 - hw/arm/strongarm.c | 7 +- hw/arm/tosa.c | 3 +- hw/arm/trace-events | 2 +- hw/arm/vexpress.c | 3 - hw/arm/virt-acpi-build.c | 47 +- hw/arm/virt.c | 155 +- hw/arm/xilinx_zynq.c | 1 - hw/arm/xlnx-zynqmp.c | 13 +- hw/audio/Makefile.objs | 2 +- hw/audio/ac97.c | 2 +- hw/audio/adlib.c | 63 +- hw/audio/cs4231a.c | 2 +- hw/audio/es1370.c | 2 +- hw/audio/fmopl.c | 295 +-- hw/audio/fmopl.h | 182 +- hw/audio/gus.c | 4 +- hw/audio/gusemu.h | 22 +- hw/audio/gusemu_hal.c | 74 +- hw/audio/gusemu_mixer.c | 28 +- hw/audio/hda-codec.c | 3 +- hw/audio/intel-hda.c | 7 +- hw/audio/intel-hda.h | 2 +- hw/audio/marvell_88w8618.c | 2 +- hw/audio/pcspk.c | 4 +- hw/audio/sb16.c | 2 +- hw/audio/soundhw.c | 156 ++ hw/audio/trace-events | 6 +- hw/block/dataplane/trace-events | 2 +- hw/block/fdc.c | 26 +- hw/block/nvme.c | 178 +- hw/block/nvme.h | 75 + hw/block/onenand.c | 2 +- hw/block/pflash_cfi01.c | 1 - hw/block/pflash_cfi02.c | 1 - hw/block/trace-events | 12 +- hw/block/virtio-blk.c | 26 +- hw/block/xen_blkif.h | 2 +- hw/block/xen_disk.c | 163 +- hw/bt/hci-csr.c | 11 +- hw/bt/sdp.c | 17 +- hw/char/Makefile.objs | 2 + hw/char/bcm2835_aux.c | 2 +- hw/char/cadence_uart.c | 7 +- hw/char/cmsdk-apb-uart.c | 403 +++ hw/char/debugcon.c | 6 +- hw/char/digic-uart.c | 4 +- hw/char/escc.c | 12 +- hw/char/etraxfs_ser.c | 4 +- hw/char/exynos4210_uart.c | 15 +- hw/char/grlib_apbuart.c | 6 +- hw/char/imx_serial.c | 3 +- hw/char/ipoctal232.c | 6 +- hw/char/lm32_juart.c | 4 +- hw/char/lm32_uart.c | 4 +- hw/char/mcf_uart.c | 4 +- hw/char/milkymist-uart.c | 4 +- hw/char/omap_uart.c | 2 +- hw/char/parallel.c | 11 +- hw/char/pl011.c | 4 +- hw/char/sclpconsole-lm.c | 6 +- hw/char/sclpconsole.c | 6 +- hw/char/serial.c | 67 +- hw/char/sh_serial.c | 6 +- hw/char/spapr_vty.c | 6 +- hw/char/stm32f2xx_usart.c | 3 +- hw/char/terminal3270.c | 293 +++ hw/char/trace-events | 23 +- hw/char/virtio-console.c | 37 +- hw/char/virtio-serial-bus.c | 6 + hw/char/xen_console.c | 8 +- hw/char/xilinx_uartlite.c | 4 +- hw/core/Makefile.objs | 2 +- hw/core/generic-loader.c | 9 +- hw/core/loader.c | 11 +- hw/core/machine.c | 217 +- hw/core/null-machine.c | 6 + hw/core/or-irq.c | 2 +- hw/core/platform-bus.c | 2 +- hw/core/qdev-properties-system.c | 14 +- hw/core/qdev-properties.c | 186 +- hw/core/qdev.c | 113 +- hw/core/register.c | 10 +- hw/core/sysbus.c | 11 + hw/cpu/Makefile.objs | 3 +- hw/cpu/core.c | 5 + hw/cris/axis_dev88.c | 5 +- hw/display/cg3.c | 52 +- hw/display/exynos4210_fimd.c | 11 +- hw/display/framebuffer.c | 11 +- hw/display/g364fb.c | 28 +- hw/display/jazz_led.c | 4 +- hw/display/qxl.c | 45 +- hw/display/qxl.h | 2 + hw/display/sm501.c | 1792 +++++++------ hw/display/sm501_template.h | 90 +- hw/display/tc6393xb.c | 1 - hw/display/tcx.c | 325 +-- hw/display/trace-events | 16 +- hw/display/vga.c | 54 +- hw/display/virtio-gpu-3d.c | 16 + hw/display/virtio-gpu.c | 67 +- hw/display/vmware_vga.c | 24 +- hw/display/xenfb.c | 82 +- hw/display/xlnx_dp.c | 5 +- hw/dma/i8257.c | 2 +- hw/dma/rc4030.c | 36 +- hw/dma/sparc32_dma.c | 27 +- hw/dma/sun4m_iommu.c | 12 +- hw/dma/trace-events | 22 +- hw/dma/xilinx_axidma.c | 4 +- hw/gpio/omap_gpio.c | 4 +- hw/i2c/aspeed_i2c.c | 65 +- hw/i2c/i2c-ddc.c | 1 + hw/i2c/omap_i2c.c | 2 +- hw/i2c/smbus_eeprom.c | 2 +- hw/i2c/smbus_ich9.c | 2 +- hw/i386/acpi-build.c | 165 +- hw/i386/amd_iommu.c | 78 +- hw/i386/amd_iommu.h | 5 +- hw/i386/intel_iommu.c | 1191 ++++++--- hw/i386/intel_iommu_internal.h | 2 + hw/i386/kvm/clock.c | 3 + hw/i386/kvm/pci-assign.c | 60 +- hw/i386/kvmvapic.c | 84 +- hw/i386/pc.c | 107 +- hw/i386/pc_piix.c | 32 +- hw/i386/pc_q35.c | 28 +- hw/i386/pc_sysfw.c | 2 - hw/i386/pci-assign-load-rom.c | 2 +- hw/i386/trace-events | 58 +- hw/i386/x86-iommu.c | 48 +- hw/i386/xen/Makefile.objs | 2 +- hw/i386/xen/trace-events | 21 +- hw/i386/xen/xen-hvm.c | 1461 +++++++++++ hw/i386/xen/xen-mapcache.c | 573 +++++ hw/i386/xen/xen_platform.c | 60 +- hw/ide/ahci.c | 12 +- hw/ide/ahci_internal.h | 359 +++ hw/ide/core.c | 10 +- hw/ide/ich.c | 4 +- hw/ide/qdev.c | 3 + hw/input/adb.c | 1 - hw/input/hid.c | 5 + hw/input/milkymist-softusb.c | 4 +- hw/input/pckbd.c | 4 +- hw/input/ps2.c | 42 +- hw/input/trace-events | 9 +- hw/input/virtio-input-hid.c | 6 +- hw/input/vmmouse.c | 4 +- hw/intc/Makefile.objs | 1 + hw/intc/apic_common.c | 12 +- hw/intc/arm_gic.c | 7 + hw/intc/arm_gic_kvm.c | 11 +- hw/intc/arm_gicv3_common.c | 3 +- hw/intc/arm_gicv3_cpuif.c | 56 +- hw/intc/arm_gicv3_its_common.c | 12 +- hw/intc/arm_gicv3_its_kvm.c | 133 +- hw/intc/arm_gicv3_kvm.c | 50 +- hw/intc/armv7m_nvic.c | 104 + hw/intc/etraxfs_pic.c | 2 +- hw/intc/exynos4210_gic.c | 14 +- hw/intc/grlib_irqmp.c | 2 +- hw/intc/i8259_common.c | 2 +- hw/intc/nios2_iic.c | 2 +- hw/intc/omap_intc.c | 4 +- hw/intc/openpic.c | 141 +- hw/intc/s390_flic.c | 149 +- hw/intc/s390_flic_kvm.c | 167 +- hw/intc/trace-events | 178 +- hw/intc/xics.c | 121 +- hw/intc/xics_kvm.c | 75 +- hw/intc/xics_pnv.c | 192 ++ hw/intc/xics_spapr.c | 28 +- hw/ipmi/ipmi.c | 6 +- hw/ipmi/ipmi_bmc_extern.c | 6 +- hw/ipmi/ipmi_bmc_sim.c | 196 +- hw/isa/lpc_ich9.c | 4 +- hw/isa/pc87312.c | 2 +- hw/isa/piix4.c | 2 +- hw/isa/trace-events | 6 +- hw/isa/vt82c686.c | 2 +- hw/m68k/an5206.c | 1 - hw/m68k/mcf5208.c | 1 - hw/mem/nvdimm.c | 2 +- hw/mem/pc-dimm.c | 67 +- hw/mem/trace-events | 2 +- hw/microblaze/boot.c | 2 +- hw/microblaze/petalogix_ml605_mmu.c | 2 - hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 - hw/mips/addr.c | 12 + hw/mips/boston.c | 12 +- hw/mips/gt64xxx_pci.c | 2 +- hw/mips/mips_fulong2e.c | 17 +- hw/mips/mips_jazz.c | 4 +- hw/mips/mips_malta.c | 46 +- hw/mips/mips_mipssim.c | 6 +- hw/mips/mips_r4k.c | 11 +- hw/misc/Makefile.objs | 9 +- hw/misc/applesmc.c | 211 +- hw/misc/arm_sysctl.c | 8 +- hw/misc/aspeed_sdmc.c | 8 +- hw/misc/auxbus.c | 2 +- hw/misc/cbus.c | 2 +- hw/misc/eccmemctl.c | 25 +- hw/misc/edu.c | 12 +- hw/misc/exynos4210_pmu.c | 24 +- hw/misc/exynos4210_rng.c | 277 +++ hw/misc/ivshmem.c | 53 +- hw/misc/macio/cuda.c | 4 +- hw/misc/max111x.c | 2 +- hw/misc/mips_cmgcr.c | 16 +- hw/misc/mmio_interface.c | 135 + hw/misc/mps2-scc.c | 310 +++ hw/misc/pvpanic.c | 2 +- hw/misc/slavio_misc.c | 47 +- hw/misc/tmp421.c | 402 +++ hw/misc/trace-events | 88 +- hw/misc/vmport.c | 2 +- hw/misc/zynq_slcr.c | 2 +- hw/moxie/moxiesim.c | 4 +- hw/net/Makefile.objs | 1 + hw/net/cadence_gem.c | 45 +- hw/net/dp8393x.c | 4 +- hw/net/e1000e.c | 36 +- hw/net/e1000e_core.c | 10 +- hw/net/eepro100.c | 18 +- hw/net/etraxfs_eth.c | 2 +- hw/net/fsl_etsec/etsec.c | 2 + hw/net/ftgmac100.c | 1016 ++++++++ hw/net/lance.c | 2 +- hw/net/milkymist-minimac2.c | 2 +- hw/net/rocker/rocker.c | 9 +- hw/net/rocker/rocker_desc.c | 4 +- hw/net/trace-events | 54 +- hw/net/vhost_net.c | 1 + hw/net/virtio-net.c | 69 +- hw/net/vmxnet3.c | 9 +- hw/net/xgmac.c | 1 - hw/net/xilinx_axienet.c | 4 +- hw/nios2/10m50_devboard.c | 8 +- hw/nios2/boot.c | 2 +- hw/nvram/eeprom93xx.c | 2 +- hw/nvram/fw_cfg.c | 113 +- hw/nvram/spapr_nvram.c | 10 +- hw/nvram/trace-events | 4 +- hw/openrisc/cputimer.c | 1 + hw/openrisc/openrisc_sim.c | 1 - hw/pci-bridge/dec.c | 4 +- hw/pci-bridge/gen_pcie_root_port.c | 25 + hw/pci-bridge/i82801b11.c | 12 +- hw/pci-bridge/pci_bridge_dev.c | 16 +- hw/pci-bridge/pci_expander_bridge.c | 2 +- hw/pci-bridge/pcie_root_port.c | 18 +- hw/pci-bridge/xio3130_downstream.c | 20 +- hw/pci-bridge/xio3130_upstream.c | 20 +- hw/pci-host/apb.c | 37 +- hw/pci-host/bonito.c | 4 +- hw/pci-host/gpex.c | 4 +- hw/pci-host/grackle.c | 2 +- hw/pci-host/piix.c | 24 +- hw/pci-host/ppce500.c | 2 +- hw/pci-host/prep.c | 4 +- hw/pci-host/q35.c | 60 +- hw/pci-host/uninorth.c | 8 +- hw/pci-host/versatile.c | 37 +- hw/pci-host/xilinx-pcie.c | 6 +- hw/pci/msi.c | 2 +- hw/pci/msix.c | 13 +- hw/pci/pci-stub.c | 3 + hw/pci/pci.c | 28 +- hw/pci/pci_bridge.c | 8 +- hw/pci/pcie.c | 28 +- hw/pci/pcie_aer.c | 50 +- hw/pci/shpc.c | 10 +- hw/pci/slotid_cap.c | 12 +- hw/pci/trace-events | 9 +- hw/ppc/Makefile.objs | 2 +- hw/ppc/e500.c | 2 +- hw/ppc/mac_newworld.c | 19 +- hw/ppc/mac_oldworld.c | 19 +- hw/ppc/mpc8544_guts.c | 2 +- hw/ppc/pnv.c | 422 +++- hw/ppc/pnv_bmc.c | 122 + hw/ppc/pnv_core.c | 29 +- hw/ppc/pnv_lpc.c | 106 +- hw/ppc/pnv_occ.c | 136 + hw/ppc/pnv_psi.c | 572 +++++ hw/ppc/ppc.c | 2 +- hw/ppc/ppc405_boards.c | 3 - hw/ppc/ppc405_uc.c | 3 +- hw/ppc/ppc4xx_pci.c | 2 +- hw/ppc/ppc_booke.c | 1 - hw/ppc/prep.c | 3 - hw/ppc/spapr.c | 1166 ++++++--- hw/ppc/spapr_cpu_core.c | 115 +- hw/ppc/spapr_drc.c | 1190 +++++---- hw/ppc/spapr_events.c | 163 +- hw/ppc/spapr_hcall.c | 665 ++++- hw/ppc/spapr_iommu.c | 58 +- hw/ppc/spapr_pci.c | 162 +- hw/ppc/spapr_rng.c | 8 +- hw/ppc/spapr_rtas.c | 316 +-- hw/ppc/spapr_rtc.c | 43 +- hw/ppc/spapr_vio.c | 4 +- hw/ppc/trace-events | 76 +- hw/s390x/3270-ccw.c | 179 ++ hw/s390x/Makefile.objs | 4 + hw/s390x/ccw-device.c | 50 + hw/s390x/ccw-device.h | 13 +- hw/s390x/css-bridge.c | 5 + hw/s390x/css.c | 960 +++++-- hw/s390x/ipl.c | 43 +- hw/s390x/ipl.h | 3 + hw/s390x/s390-ccw.c | 153 ++ hw/s390x/s390-pci-bus.c | 56 +- hw/s390x/s390-pci-bus.h | 4 +- hw/s390x/s390-pci-inst.c | 37 +- hw/s390x/s390-skeys.c | 11 +- hw/s390x/s390-stattrib-kvm.c | 190 ++ hw/s390x/s390-stattrib.c | 404 +++ hw/s390x/s390-virtio-ccw.c | 176 +- hw/s390x/sclp.c | 14 +- hw/s390x/trace-events | 21 +- hw/s390x/virtio-ccw.c | 214 +- hw/scsi/Makefile.objs | 3 +- hw/scsi/lsi53c895a.c | 10 +- hw/scsi/megasas.c | 185 +- hw/scsi/scsi-bus.c | 13 +- hw/scsi/scsi-disk.c | 5 + hw/scsi/scsi-generic.c | 2 +- hw/scsi/trace-events | 120 +- hw/scsi/vhost-scsi-common.c | 142 ++ hw/scsi/vhost-scsi.c | 202 +- hw/scsi/vhost-user-scsi.c | 205 ++ hw/scsi/virtio-scsi.c | 30 +- hw/scsi/vmw_pvscsi.c | 14 +- hw/sd/milkymist-memcard.c | 2 +- hw/sd/pl181.c | 2 +- hw/sd/trace-events | 6 +- hw/sh4/r2d.c | 14 +- hw/sh4/sh_pci.c | 2 +- hw/sh4/shix.c | 3 - hw/sparc/leon3.c | 2 - hw/sparc/sun4m.c | 56 +- hw/sparc/trace-events | 2 +- hw/sparc64/sun4u.c | 24 +- hw/ssi/xilinx_spips.c | 104 +- hw/timer/Makefile.objs | 1 + hw/timer/altera_timer.c | 2 +- hw/timer/aspeed_timer.c | 37 +- hw/timer/cmsdk-apb-timer.c | 253 ++ hw/timer/etraxfs_timer.c | 2 +- hw/timer/exynos4210_mct.c | 56 +- hw/timer/exynos4210_pwm.c | 13 +- hw/timer/exynos4210_rtc.c | 19 +- hw/timer/i8254_common.c | 2 +- hw/timer/m48t59.c | 42 +- hw/timer/mc146818rtc.c | 242 +- hw/timer/milkymist-sysctl.c | 4 +- hw/timer/pxa2xx_timer.c | 2 +- hw/timer/slavio_timer.c | 12 +- hw/timer/trace-events | 27 +- hw/tricore/tricore_testboard.c | 28 +- hw/unicore32/puv3.c | 6 +- hw/usb/Makefile.objs | 1 + hw/usb/bus.c | 4 +- hw/usb/ccid-card-emulated.c | 2 +- hw/usb/ccid-card-passthru.c | 13 +- hw/usb/core.c | 8 + hw/usb/dev-hub.c | 16 +- hw/usb/dev-serial.c | 45 +- hw/usb/dev-smartcard-reader.c | 11 +- hw/usb/hcd-ehci.c | 27 +- hw/usb/hcd-ehci.h | 1 + hw/usb/hcd-ohci.c | 13 +- hw/usb/hcd-uhci.c | 2 +- hw/usb/hcd-xhci-nec.c | 63 + hw/usb/hcd-xhci.c | 255 +- hw/usb/hcd-xhci.h | 226 ++ hw/usb/host-libusb.c | 24 +- hw/usb/redirect.c | 28 +- hw/usb/trace-events | 58 +- hw/usb/xen-usb.c | 15 +- hw/vfio/Makefile.objs | 1 + hw/vfio/amd-xgbe.c | 2 + hw/vfio/calxeda-xgmac.c | 2 + hw/vfio/ccw.c | 435 ++++ hw/vfio/common.c | 63 +- hw/vfio/pci.c | 49 +- hw/vfio/platform.c | 3 +- hw/vfio/spapr.c | 3 +- hw/vfio/trace-events | 46 +- hw/virtio/trace-events | 12 +- hw/virtio/vhost-backend.c | 138 +- hw/virtio/vhost-user.c | 242 +- hw/virtio/vhost-vsock.c | 1 - hw/virtio/vhost.c | 34 +- hw/virtio/virtio-crypto-pci.c | 2 - hw/virtio/virtio-crypto.c | 27 +- hw/virtio/virtio-pci.c | 78 +- hw/virtio/virtio-pci.h | 11 + hw/virtio/virtio-rng.c | 41 +- hw/virtio/virtio.c | 6 +- hw/watchdog/watchdog.c | 2 +- hw/xen/Makefile.objs | 2 +- hw/xen/trace-events | 11 +- hw/xen/xen-common.c | 185 ++ hw/xen/xen_backend.c | 10 +- hw/xen/xen_pt.c | 2 +- hw/xen/xen_pt_config_init.c | 1 + hw/xen/xen_pt_msi.c | 12 +- hw/xenpv/xen_domainbuild.c | 2 +- hw/xenpv/xen_machine_pv.c | 3 - hw/xtensa/sim.c | 18 +- hw/xtensa/xtfpga.c | 8 +- include/block/accounting.h | 11 +- include/block/aio.h | 10 +- include/block/block.h | 91 +- include/block/block_backup.h | 11 +- include/block/block_int.h | 126 +- include/block/blockjob.h | 34 +- include/block/blockjob_int.h | 27 +- include/block/dirty-bitmap.h | 47 +- include/block/nbd.h | 73 +- include/chardev/char-fd.h | 44 + include/chardev/char-fe.h | 273 ++ include/chardev/char-io.h | 46 + include/chardev/char-mux.h | 64 + include/chardev/char-parallel.h | 45 + include/chardev/char-serial.h | 49 + include/chardev/char-win-stdio.h | 29 + include/chardev/char-win.h | 51 + include/chardev/char.h | 250 ++ include/crypto/block.h | 18 +- include/crypto/cipher.h | 1 + include/crypto/hmac.h | 167 ++ include/crypto/random.h | 9 + include/elf.h | 1 + include/exec/cpu-common.h | 2 + include/exec/cpu-defs.h | 4 +- include/exec/exec-all.h | 51 +- include/exec/gdbstub.h | 9 - include/exec/gen-icount.h | 12 +- include/exec/helper-tcg.h | 17 +- include/exec/memory.h | 425 +++- include/exec/poison.h | 39 + include/exec/ram_addr.h | 45 +- include/exec/ramlist.h | 6 + include/exec/target_page.h | 21 + include/exec/tb-context.h | 3 +- include/exec/tb-hash-xx.h | 7 +- include/exec/tb-hash.h | 17 +- include/fpu/softfloat.h | 6 +- include/glib-compat.h | 6 + include/hw/acpi/acpi-defs.h | 118 +- include/hw/acpi/aml-build.h | 4 + include/hw/acpi/memory_hotplug.h | 1 - include/hw/acpi/pcihp.h | 1 - include/hw/arm/aspeed_soc.h | 6 +- include/hw/arm/exynos4210.h | 5 +- include/hw/audio/audio.h | 10 - include/hw/audio/soundhw.h | 13 + include/hw/boards.h | 43 +- include/hw/char/bcm2835_aux.h | 2 +- include/hw/char/cadence_uart.h | 2 +- include/hw/char/cmsdk-apb-uart.h | 78 + include/hw/char/digic-uart.h | 2 +- include/hw/char/imx_serial.h | 2 +- include/hw/char/serial.h | 4 +- include/hw/char/stm32f2xx_usart.h | 2 +- include/hw/compat.h | 31 + include/hw/devices.h | 5 - include/hw/hw.h | 1 + include/hw/i386/intel_iommu.h | 18 +- include/hw/i386/pc.h | 81 +- include/hw/i386/x86-iommu.h | 1 + include/hw/ide/ahci.h | 320 +-- include/hw/input/ps2.h | 4 +- include/hw/intc/arm_gicv3_its_common.h | 8 + include/hw/ipmi/ipmi.h | 4 + include/hw/isa/isa.h | 2 +- include/hw/mem/pc-dimm.h | 2 +- include/hw/mips/cpudevs.h | 5 +- include/hw/mips/mips.h | 3 +- include/hw/misc/mmio_interface.h | 49 + include/hw/misc/mps2-scc.h | 43 + include/hw/misc/unimp.h | 2 + include/hw/net/cadence_gem.h | 1 + include/hw/net/ftgmac100.h | 64 + include/hw/net/mii.h | 71 +- include/hw/nvram/fw_cfg.h | 50 + include/hw/pci-host/q35.h | 6 + include/hw/pci-host/spapr.h | 3 + include/hw/pci/pci.h | 2 - include/hw/pci/pci_bridge.h | 3 +- include/hw/pci/pci_ids.h | 3 + include/hw/pci/pcie.h | 3 +- include/hw/pci/pcie_aer.h | 4 - include/hw/pci/shpc.h | 4 +- include/hw/pci/slotid_cap.h | 3 +- include/hw/ppc/pnv.h | 56 +- include/hw/ppc/pnv_lpc.h | 8 + include/hw/ppc/pnv_occ.h | 38 + include/hw/ppc/pnv_psi.h | 65 + include/hw/ppc/pnv_xscom.h | 6 + include/hw/ppc/spapr.h | 101 +- include/hw/ppc/spapr_cpu_core.h | 1 + include/hw/ppc/spapr_drc.h | 165 +- include/hw/ppc/spapr_ovec.h | 10 + include/hw/ppc/xics.h | 37 +- include/hw/ptimer.h | 120 + include/hw/qdev-core.h | 48 +- include/hw/qdev-properties.h | 174 +- include/hw/s390x/3270-ccw.h | 53 + include/hw/s390x/css-bridge.h | 1 + include/hw/s390x/css.h | 113 +- include/hw/s390x/ioinst.h | 1 + include/hw/s390x/s390-ccw.h | 39 + include/hw/s390x/s390-virtio-ccw.h | 12 + include/hw/s390x/s390_flic.h | 19 +- include/hw/s390x/sclp.h | 3 +- include/hw/s390x/storage-attributes.h | 81 + include/hw/timer/cmsdk-apb-timer.h | 59 + include/hw/timer/mc146818rtc_regs.h | 20 + include/hw/vfio/vfio-common.h | 4 +- include/hw/virtio/vhost-backend.h | 23 +- include/hw/virtio/vhost-scsi-common.h | 48 + include/hw/virtio/vhost-scsi.h | 11 +- include/hw/virtio/vhost-user-scsi.h | 35 + include/hw/virtio/vhost.h | 2 +- include/hw/virtio/virtio-gpu.h | 3 + include/hw/virtio/virtio-net.h | 2 + include/hw/virtio/virtio-rng.h | 2 + include/hw/virtio/virtio-scsi.h | 12 +- include/hw/virtio/virtio.h | 1 + include/hw/xen/io/ring.h | 482 ++++ include/hw/xen/xen.h | 3 +- include/hw/xen/xen_backend.h | 7 +- include/hw/xen/xen_common.h | 360 ++- include/io/channel-file.h | 2 +- include/io/channel-socket.h | 4 +- include/io/channel.h | 2 +- include/migration/block.h | 23 - include/migration/blocker.h | 35 + include/migration/colo.h | 5 - include/migration/cpu.h | 7 + include/migration/global_state.h | 24 + include/migration/migration.h | 388 --- include/migration/misc.h | 58 + include/migration/page_cache.h | 86 - include/migration/postcopy-ram.h | 94 - include/migration/qemu-file-types.h | 164 ++ include/migration/qemu-file.h | 313 --- include/migration/qjson.h | 29 - include/migration/register.h | 55 + include/migration/snapshot.h | 21 + include/migration/vmstate.h | 135 +- include/monitor/monitor.h | 7 - include/net/eth.h | 1 + include/net/net.h | 10 +- include/qapi/clone-visitor.h | 14 + include/qapi/error.h | 12 +- include/qapi/qmp/qdict.h | 9 + include/qapi/qmp/qfloat.h | 29 - include/qapi/qmp/qint.h | 28 - include/qapi/qmp/qlist.h | 9 + include/qapi/qmp/qnum.h | 53 + include/qapi/qmp/qobject.h | 10 +- include/qapi/qmp/types.h | 3 +- include/qapi/qobject-input-visitor.h | 6 +- include/qapi/qobject-output-visitor.h | 8 +- include/qapi/visitor-impl.h | 5 +- include/qapi/visitor.h | 24 +- include/qemu-common.h | 13 +- include/qemu/atomic.h | 38 +- include/qemu/bitmap.h | 2 + include/qemu/bitops.h | 10 - include/qemu/compiler.h | 12 +- include/qemu/coroutine.h | 18 + include/qemu/cpuid.h | 57 + include/qemu/error-report.h | 7 + include/qemu/hbitmap.h | 49 +- include/qemu/host-utils.h | 121 - include/qemu/main-loop.h | 2 +- include/qemu/osdep.h | 22 +- include/qemu/ratelimit.h | 3 +- include/qemu/rcu.h | 7 +- include/qemu/sockets.h | 40 +- include/qemu/stats64.h | 193 ++ include/qemu/thread-posix.h | 4 + include/qemu/thread-win32.h | 5 + include/qemu/throttle.h | 2 +- include/qemu/timer.h | 5 +- include/qemu/typedefs.h | 10 +- include/qom/cpu.h | 43 +- include/qom/object.h | 29 +- include/standard-headers/asm-x86/hyperv.h | 28 +- include/standard-headers/linux/input-event-codes.h | 2 + include/standard-headers/linux/input.h | 11 +- include/standard-headers/linux/pci_regs.h | 4 +- include/sysemu/accel.h | 13 +- include/sysemu/arch_init.h | 2 - include/sysemu/block-backend.h | 38 +- include/sysemu/char.h | 501 ---- include/sysemu/cpus.h | 1 + include/sysemu/dump.h | 1 + include/sysemu/hax.h | 1 + include/sysemu/hostmem.h | 1 + include/sysemu/hw_accel.h | 10 + include/sysemu/kvm.h | 69 +- include/sysemu/numa.h | 19 +- include/sysemu/os-posix.h | 11 - include/sysemu/replay.h | 3 +- include/sysemu/sysemu.h | 92 +- include/sysemu/xen-mapcache.h | 16 +- include/ui/console.h | 3 + include/ui/egl-helpers.h | 18 +- include/ui/gtk.h | 4 +- include/ui/input.h | 12 +- include/ui/sdl2.h | 8 +- include/ui/spice-display.h | 2 + io/channel-socket.c | 5 +- io/channel-websock.c | 4 +- io/channel.c | 10 +- io/dns-resolver.c | 23 +- io/trace-events | 2 +- kvm-all.c | 2617 ------------------- kvm-stub.c | 158 -- linux-headers/asm-arm/kvm.h | 18 +- linux-headers/asm-arm/unistd-common.h | 1 + linux-headers/asm-arm64/kvm.h | 13 +- linux-headers/asm-powerpc/kvm.h | 9 + linux-headers/asm-powerpc/unistd.h | 1 + linux-headers/asm-s390/kvm.h | 41 +- linux-headers/asm-s390/unistd.h | 4 +- linux-headers/asm-x86/kvm.h | 3 + linux-headers/asm-x86/kvm_para.h | 1 + linux-headers/asm-x86/unistd_32.h | 2 + linux-headers/asm-x86/unistd_64.h | 1 + linux-headers/asm-x86/unistd_x32.h | 1 + linux-headers/linux/kvm.h | 62 + linux-headers/linux/userfaultfd.h | 11 +- linux-headers/linux/vfio.h | 18 + linux-headers/linux/vfio_ccw.h | 24 + linux-user/elfload.c | 27 +- linux-user/host/aarch64/hostdep.h | 2 +- linux-user/host/arm/hostdep.h | 2 +- linux-user/host/i386/hostdep.h | 2 +- linux-user/host/ppc64/hostdep.h | 2 +- linux-user/host/s390x/hostdep.h | 2 +- linux-user/host/x86_64/hostdep.h | 2 +- linux-user/main.c | 56 +- linux-user/openrisc/target_cpu.h | 6 +- linux-user/openrisc/target_signal.h | 2 +- linux-user/signal.c | 58 +- linux-user/strace.c | 177 +- linux-user/strace.list | 16 +- linux-user/syscall.c | 172 +- linux-user/trace-events | 12 +- memory.c | 448 +++- memory_mapping.c | 1 + migration/Makefile.objs | 8 +- migration/block.c | 125 +- migration/block.h | 45 + migration/channel.c | 69 + migration/channel.h | 26 + migration/colo-comm.c | 4 +- migration/colo-failover.c | 2 + migration/colo.c | 33 +- migration/exec.c | 10 +- migration/exec.h | 26 + migration/fd.c | 6 +- migration/fd.h | 23 + migration/global_state.c | 134 + migration/migration.c | 1031 ++++---- migration/migration.h | 196 ++ migration/page_cache.c | 236 ++ migration/page_cache.h | 86 + migration/postcopy-ram.c | 62 +- migration/postcopy-ram.h | 117 + migration/qemu-file-channel.c | 4 +- migration/qemu-file-channel.h | 32 + migration/qemu-file.c | 6 +- migration/qemu-file.h | 177 ++ migration/qjson.c | 2 +- migration/qjson.h | 29 + migration/ram.c | 1481 ++++++----- migration/ram.h | 55 + migration/rdma.c | 161 +- migration/rdma.h | 25 + migration/savevm.c | 554 ++--- migration/savevm.h | 58 + migration/socket.c | 30 +- migration/socket.h | 28 + migration/tls.c | 7 +- migration/tls.h | 34 + migration/trace-events | 44 +- migration/vmstate-types.c | 677 +++++ migration/vmstate.c | 661 +---- migration/xbzrle.c | 2 +- migration/xbzrle.h | 21 + monitor.c | 271 +- nbd/client.c | 479 ++-- nbd/common.c | 149 +- nbd/nbd-internal.h | 82 +- nbd/server.c | 966 +++---- nbd/trace-events | 61 + net/Makefile.objs | 15 +- net/colo-compare.c | 186 +- net/colo.c | 9 +- net/colo.h | 4 +- net/dump.c | 5 +- net/eth.c | 4 +- net/filter-buffer.c | 2 +- net/filter-mirror.c | 120 +- net/filter-rewriter.c | 41 +- net/net.c | 50 +- net/slirp.c | 140 +- net/socket.c | 170 +- net/tap-aix.c | 88 - net/tap-haiku.c | 87 - net/tap-linux.c | 2 +- net/tap-stub.c | 87 + net/trace-events | 7 +- net/vhost-user.c | 18 +- numa.c | 306 ++- os-posix.c | 2 - os-win32.c | 2 +- page_cache.c | 236 -- pc-bios/README | 5 +- pc-bios/efi-e1000.rom | Bin 209920 -> 240128 bytes pc-bios/efi-e1000e.rom | Bin 209920 -> 240128 bytes pc-bios/efi-eepro100.rom | Bin 209920 -> 240128 bytes pc-bios/efi-ne2k_pci.rom | Bin 208896 -> 238080 bytes pc-bios/efi-pcnet.rom | Bin 208896 -> 238080 bytes pc-bios/efi-rtl8139.rom | Bin 212480 -> 241664 bytes pc-bios/efi-virtio.rom | Bin 212480 -> 242176 bytes pc-bios/efi-vmxnet3.rom | Bin 206848 -> 236032 bytes pc-bios/keymaps/fr-ca | 10 + pc-bios/linuxboot_dma.bin | Bin 1536 -> 1536 bytes pc-bios/openbios-ppc | Bin 750840 -> 754936 bytes pc-bios/openbios-sparc32 | Bin 382048 -> 382048 bytes pc-bios/openbios-sparc64 | Bin 1593408 -> 1593408 bytes pc-bios/optionrom/Makefile | 1 + pc-bios/qemu_vga.ndrv | Bin 0 -> 14752 bytes pc-bios/s390-ccw.img | Bin 26456 -> 30520 bytes pc-bios/s390-ccw/Makefile | 17 +- pc-bios/s390-ccw/bootmap.c | 36 +- pc-bios/s390-ccw/bootmap.h | 50 +- pc-bios/s390-ccw/bswap.h | 30 + pc-bios/s390-ccw/libc.h | 45 + pc-bios/s390-ccw/main.c | 30 +- pc-bios/s390-ccw/netboot.mak | 59 + pc-bios/s390-ccw/netmain.c | 361 +++ pc-bios/s390-ccw/s390-ccw.h | 57 +- pc-bios/s390-ccw/sclp-ascii.c | 82 - pc-bios/s390-ccw/sclp.c | 111 + pc-bios/s390-ccw/sclp.h | 2 + pc-bios/s390-ccw/scsi.h | 30 + pc-bios/s390-ccw/virtio-blkdev.c | 296 +++ pc-bios/s390-ccw/virtio-net.c | 135 + pc-bios/s390-ccw/virtio-scsi.c | 86 +- pc-bios/s390-ccw/virtio-scsi.h | 2 + pc-bios/s390-ccw/virtio.c | 306 +-- pc-bios/s390-ccw/virtio.h | 47 +- pc-bios/s390-netboot.img | Bin 0 -> 83864 bytes pc-bios/sgabios.bin | Bin 4096 -> 4096 bytes pc-bios/slof.bin | Bin 902120 -> 905200 bytes pc-bios/u-boot.e500 | Bin 347788 -> 388672 bytes qapi-schema.json | 349 ++- qapi/block-core.json | 355 ++- qapi/block.json | 4 +- qapi/common.json | 5 +- qapi/event.json | 17 +- qapi/introspect.json | 2 +- qapi/qapi-clone-visitor.c | 20 +- qapi/qapi-dealloc-visitor.c | 8 +- qapi/qapi-util.c | 2 +- qapi/qapi-visit-core.c | 13 +- qapi/qmp-dispatch.c | 14 +- qapi/qmp-event.c | 2 +- qapi/qobject-input-visitor.c | 99 +- qapi/qobject-output-visitor.c | 12 +- qapi/string-input-visitor.c | 17 + qapi/string-output-visitor.c | 37 +- qapi/trace-events | 4 +- qdev-monitor.c | 51 +- qemu-doc.texi | 499 +++- qemu-img-cmds.hx | 62 +- qemu-img.c | 998 +++++--- qemu-img.texi | 82 +- qemu-io-cmds.c | 187 +- qemu-io.c | 76 +- qemu-nbd.c | 47 +- qemu-options.hx | 419 +++- qemu.sasl | 54 +- qga/commands-posix.c | 227 +- qga/commands-win32.c | 305 ++- qga/commands.c | 51 +- qga/installer/qemu-ga.wxs | 4 + qga/main.c | 45 +- qga/qapi-schema.json | 153 +- qga/vss-win32.c | 2 +- qga/vss-win32.h | 3 +- qga/vss-win32/install.cpp | 63 +- qga/vss-win32/install.h | 20 + qga/vss-win32/provider.cpp | 1 - qga/vss-win32/requester.cpp | 2 + qga/vss-win32/vss-common.h | 11 +- qga/vss-win32/vss-handles.h | 14 + qmp.c | 52 +- qobject/Makefile.objs | 2 +- qobject/json-lexer.c | 4 + qobject/json-parser.c | 58 +- qobject/qdict.c | 39 +- qobject/qfloat.c | 62 - qobject/qint.c | 61 - qobject/qjson.c | 37 +- qobject/qnull.c | 8 +- qobject/qnum.c | 223 ++ qobject/qobject.c | 3 +- qom/container.c | 1 + qom/cpu.c | 30 +- qom/object.c | 76 +- qom/object_interfaces.c | 9 + qom/trace-events | 2 +- qtest.c | 4 +- replay/replay-char.c | 2 +- replay/replay-internal.h | 3 +- replay/replay-snapshot.c | 9 +- replay/replay.c | 9 +- roms/QemuMacDrivers | 1 + roms/SLOF | 2 +- roms/ipxe | 2 +- roms/openbios | 2 +- roms/sgabios | 2 +- roms/u-boot | 2 +- rules.mak | 5 +- scripts/checkpatch.pl | 54 +- scripts/clean-header-guards.pl | 3 +- scripts/cleanup-trace-events.pl | 2 +- scripts/coccinelle/memory-region-init-ram.cocci | 38 + scripts/coccinelle/qobject.cocci | 41 + scripts/coccinelle/return_directly.cocci | 2 +- scripts/coccinelle/tcg_gen_extract.cocci | 107 + scripts/device-crash-test | 624 +++++ scripts/disas-objdump.pl | 4 +- scripts/get_maintainer.pl | 56 +- scripts/git.orderfile | 29 + scripts/hxtool | 46 +- scripts/qapi-commands.py | 8 +- scripts/qapi-event.py | 12 +- scripts/qapi-visit.py | 12 +- scripts/qapi.py | 54 +- scripts/qapi2texi.py | 2 +- scripts/qemu-binfmt-conf.sh | 4 +- scripts/qemu.py | 17 +- scripts/qmp/qmp-shell | 44 +- scripts/qmp/qom-set | 2 +- scripts/shaderinclude.pl | 2 +- scripts/simpletrace.py | 59 +- scripts/switch-timer-api | 2 +- scripts/texi2pod.pl | 4 +- scripts/tracetool/__init__.py | 8 +- scripts/tracetool/backend/__init__.py | 3 + scripts/tracetool/backend/dtrace.py | 16 +- scripts/tracetool/backend/ftrace.py | 25 +- scripts/tracetool/backend/log.py | 24 +- scripts/tracetool/backend/simple.py | 9 +- scripts/tracetool/backend/syslog.py | 11 +- scripts/tracetool/backend/ust.py | 14 +- scripts/tracetool/format/h.py | 36 +- scripts/tracetool/format/simpletrace_stap.py | 24 +- scripts/tracetool/format/tcg_h.py | 21 +- scripts/tracetool/format/tcg_helper_c.py | 5 +- scripts/update-linux-headers.sh | 2 +- slirp/Makefile.objs | 2 +- slirp/bootp.c | 3 + slirp/ip6.h | 6 +- slirp/ip_icmp.c | 5 +- slirp/misc.c | 4 +- slirp/ncsi-pkt.h | 419 ++++ slirp/ncsi.c | 130 + slirp/sbuf.c | 2 +- slirp/sbuf.h | 4 +- slirp/slirp.c | 509 ++-- slirp/slirp.h | 3 + slirp/socket.c | 55 +- slirp/socket.h | 24 +- slirp/tcp_input.c | 4 +- slirp/tcp_subr.c | 4 +- slirp/tcp_var.h | 6 +- slirp/tftp.c | 2 +- spice-qemu-char.c | 421 ---- stubs/Makefile.objs | 3 + stubs/change-state-handler.c | 14 + stubs/migr-blocker.c | 2 +- stubs/vmstate.c | 5 +- stubs/xen-common.c | 14 + stubs/xen-hvm.c | 63 + target/alpha/cpu.c | 8 +- target/alpha/cpu.h | 79 +- target/alpha/helper.c | 12 +- target/alpha/machine.c | 10 +- target/alpha/sys_helper.c | 4 +- target/alpha/translate.c | 283 ++- target/arm/cpu.c | 112 +- target/arm/cpu.h | 138 +- target/arm/helper.c | 437 +++- target/arm/internals.h | 21 - target/arm/kvm.c | 51 + target/arm/kvm64.c | 4 +- target/arm/machine.c | 37 +- target/arm/op_helper.c | 26 +- target/arm/psci.c | 4 +- target/arm/trace-events | 12 +- target/arm/translate-a64.c | 137 +- target/arm/translate.c | 246 +- target/arm/translate.h | 18 +- target/cris/translate.c | 7 +- target/hppa/cpu.c | 1 - target/hppa/translate.c | 13 +- target/i386/Makefile.objs | 9 +- target/i386/arch_memory_mapping.c | 18 +- target/i386/cpu.c | 230 +- target/i386/cpu.h | 55 +- target/i386/excp_helper.c | 345 ++- target/i386/fpu_helper.c | 29 +- target/i386/hax-all.c | 29 +- target/i386/hax-mem.c | 19 +- target/i386/helper.c | 452 +--- target/i386/kvm.c | 178 +- target/i386/kvm_i386.h | 23 + target/i386/machine.c | 289 +-- target/i386/mpx_helper.c | 30 - target/i386/seg_helper.c | 28 +- target/i386/smm_helper.c | 18 - target/i386/trace-events | 2 +- target/i386/translate.c | 61 +- target/i386/xsave_helper.c | 114 + target/lm32/translate.c | 4 +- target/m68k/Makefile.objs | 2 +- target/m68k/cpu.c | 11 +- target/m68k/cpu.h | 59 +- target/m68k/fpu_helper.c | 510 ++++ target/m68k/helper.c | 165 +- target/m68k/helper.h | 63 +- target/m68k/qregs.def | 1 - target/m68k/translate.c | 1331 +++++++--- target/microblaze/cpu.c | 39 +- target/microblaze/cpu.h | 7 + target/microblaze/translate.c | 81 +- target/mips/cpu.h | 58 +- target/mips/helper.c | 249 +- target/mips/helper.h | 3 + target/mips/kvm.c | 4 +- target/mips/machine.c | 9 +- target/mips/op_helper.c | 69 +- target/mips/trace-events | 2 +- target/mips/translate.c | 514 +++- target/mips/translate_init.c | 17 +- target/moxie/translate.c | 4 +- target/nios2/translate.c | 7 +- target/openrisc/cpu.c | 16 +- target/openrisc/cpu.h | 46 +- target/openrisc/gdbstub.c | 4 +- target/openrisc/interrupt.c | 11 +- target/openrisc/machine.c | 76 +- target/openrisc/mmu.c | 24 +- target/openrisc/sys_helper.c | 35 + target/openrisc/translate.c | 9 +- target/ppc/Makefile.objs | 1 + target/ppc/arch_dump.c | 2 +- target/ppc/compat.c | 111 +- target/ppc/cpu-models.h | 1 + target/ppc/cpu-qom.h | 1 + target/ppc/cpu.h | 19 +- target/ppc/excp_helper.c | 10 + target/ppc/helper.h | 1 + target/ppc/kvm.c | 291 ++- target/ppc/kvm_ppc.h | 71 +- target/ppc/machine.c | 98 +- target/ppc/misc_helper.c | 8 + target/ppc/mmu-book3s-v3.c | 6 +- target/ppc/mmu-book3s-v3.h | 5 + target/ppc/mmu-hash64.h | 4 + target/ppc/mmu-radix64.c | 298 +++ target/ppc/mmu-radix64.h | 73 + target/ppc/mmu_helper.c | 5 +- target/ppc/monitor.c | 4 +- target/ppc/trace-events | 2 +- target/ppc/translate.c | 74 +- target/ppc/translate/vsx-impl.inc.c | 24 +- target/ppc/translate_init.c | 569 +++-- target/s390x/Makefile.objs | 8 +- target/s390x/arch_dump.c | 18 + target/s390x/cpu.c | 13 +- target/s390x/cpu.h | 117 +- target/s390x/cpu_features.c | 81 +- target/s390x/cpu_features.h | 13 +- target/s390x/cpu_features_def.h | 77 + target/s390x/cpu_models.c | 223 +- target/s390x/cpu_models.h | 12 +- target/s390x/diag.c | 179 ++ target/s390x/excp_helper.c | 515 ++++ target/s390x/fpu_helper.c | 27 + target/s390x/gdbstub.c | 24 + target/s390x/gen-features.c | 141 +- target/s390x/helper.c | 489 +--- target/s390x/helper.h | 44 +- target/s390x/insn-data.def | 157 +- target/s390x/insn-format.def | 1 + target/s390x/interrupt.c | 39 + target/s390x/ioinst.c | 55 +- target/s390x/kvm.c | 231 +- target/s390x/machine.c | 36 + target/s390x/mem_helper.c | 2163 +++++++++++++--- target/s390x/misc_helper.c | 281 +-- target/s390x/mmu_helper.c | 12 +- target/s390x/trace-events | 4 +- target/s390x/translate.c | 1099 +++++--- target/sh4/cpu.c | 3 +- target/sh4/cpu.h | 50 +- target/sh4/helper.c | 30 +- target/sh4/helper.h | 13 +- target/sh4/op_helper.c | 119 +- target/sh4/translate.c | 1155 ++++++--- target/sparc/int32_helper.c | 2 +- target/sparc/trace-events | 32 +- target/sparc/translate.c | 25 +- target/tilegx/cpu.c | 1 - target/tilegx/translate.c | 5 +- target/tricore/cpu.c | 10 + target/tricore/translate.c | 5 +- target/unicore32/softmmu.c | 8 +- target/unicore32/translate.c | 5 +- target/xtensa/cpu.h | 1 + target/xtensa/gdbstub.c | 14 +- target/xtensa/translate.c | 5 +- target/xtensa/xtensa-semi.c | 91 +- tcg-runtime.c | 201 -- tcg/README | 10 +- tcg/aarch64/tcg-target.h | 1 + tcg/aarch64/tcg-target.inc.c | 104 +- tcg/arm/tcg-target.h | 8 +- tcg/arm/tcg-target.inc.c | 132 +- tcg/i386/tcg-target.h | 1 + tcg/i386/tcg-target.inc.c | 60 +- tcg/ia64/tcg-target.h | 1 + tcg/mips/tcg-target.h | 1 + tcg/mips/tcg-target.inc.c | 34 +- tcg/ppc/tcg-target.h | 1 + tcg/ppc/tcg-target.inc.c | 78 +- tcg/s390/tcg-target.h | 1 + tcg/s390/tcg-target.inc.c | 24 +- tcg/sparc/tcg-target.h | 1 + tcg/sparc/tcg-target.inc.c | 11 +- tcg/tcg-op.c | 18 + tcg/tcg-op.h | 11 + tcg/tcg-opc.h | 1 + tcg/tcg-runtime.c | 234 ++ tcg/tcg-runtime.h | 2 + tcg/tcg.c | 25 + tcg/tcg.h | 12 +- tcg/tci.c | 1250 ++++++++++ tcg/tci/tcg-target.h | 1 + tci.c | 1251 ---------- tests/.gitignore | 10 +- tests/Makefile.include | 116 +- tests/acpi-test-data/pc/SLIT.cphp | Bin 0 -> 48 bytes tests/acpi-test-data/pc/SLIT.memhp | Bin 0 -> 48 bytes tests/acpi-test-data/pc/SRAT.memhp | Bin 224 -> 264 bytes tests/acpi-test-data/q35/DSDT | Bin 7824 -> 7782 bytes tests/acpi-test-data/q35/DSDT.bridge | Bin 7841 -> 7799 bytes tests/acpi-test-data/q35/DSDT.cphp | Bin 8287 -> 8245 bytes tests/acpi-test-data/q35/DSDT.ipmibt | Bin 7899 -> 7857 bytes tests/acpi-test-data/q35/DSDT.memhp | Bin 9189 -> 9147 bytes tests/acpi-test-data/q35/SLIT.cphp | Bin 0 -> 48 bytes tests/acpi-test-data/q35/SLIT.memhp | Bin 0 -> 48 bytes tests/acpi-test-data/q35/SRAT.memhp | Bin 224 -> 264 bytes tests/acpi-utils.h | 10 + tests/ahci-test.c | 8 +- tests/benchmark-crypto-cipher.c | 88 + tests/benchmark-crypto-hash.c | 67 + tests/benchmark-crypto-hmac.c | 82 + tests/bios-tables-test.c | 41 +- tests/boot-serial-test.c | 9 +- tests/check-qdict.c | 185 +- tests/check-qfloat.c | 53 - tests/check-qint.c | 87 - tests/check-qjson.c | 141 +- tests/check-qlist.c | 42 +- tests/check-qnull.c | 27 +- tests/check-qnum.c | 170 ++ tests/check-qom-proplist.c | 100 + tests/check-qstring.c | 9 - tests/data/test-qga-os-release | 7 + tests/device-introspect-test.c | 160 +- tests/docker/Makefile.include | 27 +- tests/docker/docker.py | 53 +- tests/docker/dockerfiles/centos6.docker | 31 +- tests/docker/dockerfiles/centos7.docker | 31 + tests/docker/dockerfiles/debian-amd64.docker | 39 + tests/docker/dockerfiles/debian-apt-fake.sh | 46 + tests/docker/dockerfiles/debian-arm64-cross.docker | 22 +- tests/docker/dockerfiles/debian-armel-cross.docker | 24 + tests/docker/dockerfiles/debian-armhf-cross.docker | 19 +- tests/docker/dockerfiles/debian-mips-cross.docker | 29 + .../dockerfiles/debian-mips64el-cross.docker | 30 + .../docker/dockerfiles/debian-mipsel-cross.docker | 29 + tests/docker/dockerfiles/debian-ports.docker | 35 + .../docker/dockerfiles/debian-powerpc-cross.docker | 40 + .../docker/dockerfiles/debian-ppc64el-cross.docker | 25 + tests/docker/dockerfiles/debian-s390x-cross.docker | 25 +- tests/docker/dockerfiles/debian-win32-cross.docker | 32 + tests/docker/dockerfiles/debian-win64-cross.docker | 32 + tests/docker/dockerfiles/debian.docker | 32 +- tests/docker/dockerfiles/debian8-mxe.docker | 18 + tests/docker/dockerfiles/debian8.docker | 36 + tests/docker/dockerfiles/debian9.docker | 30 + tests/docker/dockerfiles/fedora.docker | 4 +- tests/docker/dockerfiles/travis.docker | 2 +- tests/docker/travis.py | 6 +- tests/drive_del-test.c | 2 +- tests/fdc-test.c | 8 +- tests/ide-test.c | 27 +- tests/libqos/virtio.c | 60 + tests/libqos/virtio.h | 8 +- tests/libqtest.c | 51 +- tests/libqtest.h | 20 +- tests/megasas-test.c | 86 + tests/multiboot/run_test.sh | 10 +- tests/numa-test.c | 306 +++ tests/nvme-test.c | 2 +- tests/pc-cpu-test.c | 95 +- tests/postcopy-test.c | 4 +- tests/pxe-test.c | 2 +- tests/q35-test.c | 125 +- tests/qapi-schema/alternate-clash.json | 2 +- tests/qapi-schema/alternate-conflict-dict.json | 2 +- tests/qapi-schema/alternate-conflict-enum-bool.err | 1 + .../qapi-schema/alternate-conflict-enum-bool.exit | 1 + .../qapi-schema/alternate-conflict-enum-bool.json | 6 + tests/qapi-schema/alternate-conflict-enum-bool.out | 0 tests/qapi-schema/alternate-conflict-enum-int.err | 1 + tests/qapi-schema/alternate-conflict-enum-int.exit | 1 + tests/qapi-schema/alternate-conflict-enum-int.json | 6 + tests/qapi-schema/alternate-conflict-enum-int.out | 0 tests/qapi-schema/alternate-conflict-string.err | 2 +- tests/qapi-schema/alternate-conflict-string.json | 6 +- tests/qapi-schema/alternate-nested.json | 2 +- tests/qapi-schema/args-alternate.json | 2 +- tests/qapi-schema/comments.out | 2 +- tests/qapi-schema/doc-bad-alternate-member.json | 2 +- tests/qapi-schema/doc-good.out | 2 +- tests/qapi-schema/empty.out | 2 +- tests/qapi-schema/event-case.out | 2 +- tests/qapi-schema/ident-with-escape.out | 2 +- tests/qapi-schema/include-relpath.out | 2 +- tests/qapi-schema/include-repetition.out | 2 +- tests/qapi-schema/include-simple.out | 2 +- tests/qapi-schema/indented-expr.out | 2 +- tests/qapi-schema/qapi-schema-test.json | 16 +- tests/qapi-schema/qapi-schema-test.out | 33 +- tests/qapi-schema/returns-alternate.json | 2 +- tests/qemu-iotests/017 | 1 + tests/qemu-iotests/019.out | 8 +- tests/qemu-iotests/020 | 1 + tests/qemu-iotests/026 | 2 +- tests/qemu-iotests/026.out | 2 +- tests/qemu-iotests/026.out.nocache | 2 +- tests/qemu-iotests/028 | 1 + tests/qemu-iotests/028.out | 2 +- tests/qemu-iotests/029 | 1 + tests/qemu-iotests/030 | 29 +- tests/qemu-iotests/030.out | 4 +- tests/qemu-iotests/033 | 12 +- tests/qemu-iotests/040 | 63 +- tests/qemu-iotests/040.out | 4 +- tests/qemu-iotests/041 | 54 +- tests/qemu-iotests/041.out | 4 +- tests/qemu-iotests/042 | 2 +- tests/qemu-iotests/044.out | 2 +- tests/qemu-iotests/046 | 2 +- tests/qemu-iotests/048 | 2 +- tests/qemu-iotests/049 | 2 +- tests/qemu-iotests/049.out | 102 +- tests/qemu-iotests/051 | 11 +- tests/qemu-iotests/051.out | 109 +- tests/qemu-iotests/051.pc.out | 135 +- tests/qemu-iotests/055 | 47 +- tests/qemu-iotests/059 | 11 +- tests/qemu-iotests/059.out | 22 +- tests/qemu-iotests/060.out | 9 +- tests/qemu-iotests/063 | 4 +- tests/qemu-iotests/066 | 140 +- tests/qemu-iotests/066.out | 56 +- tests/qemu-iotests/067 | 13 + tests/qemu-iotests/067.out | 40 + tests/qemu-iotests/068 | 39 +- tests/qemu-iotests/068.out | 17 +- tests/qemu-iotests/071.out | 4 +- tests/qemu-iotests/073 | 1 + tests/qemu-iotests/074 | 1 + tests/qemu-iotests/081.out | 2 +- tests/qemu-iotests/082 | 4 +- tests/qemu-iotests/082.out | 288 ++- tests/qemu-iotests/083.out | 2 + tests/qemu-iotests/085 | 35 +- tests/qemu-iotests/085.out | 41 +- tests/qemu-iotests/087 | 45 +- tests/qemu-iotests/087.out | 28 +- tests/qemu-iotests/091 | 2 + tests/qemu-iotests/093 | 4 + tests/qemu-iotests/094 | 11 +- tests/qemu-iotests/094.out | 2 +- tests/qemu-iotests/102 | 5 +- tests/qemu-iotests/102.out | 4 +- tests/qemu-iotests/106 | 92 + tests/qemu-iotests/106.out | 50 + tests/qemu-iotests/109 | 10 +- tests/qemu-iotests/109.out | 76 +- tests/qemu-iotests/111.out | 1 + tests/qemu-iotests/114 | 1 + tests/qemu-iotests/114.out | 5 +- tests/qemu-iotests/117 | 1 + tests/qemu-iotests/117.out | 2 +- tests/qemu-iotests/119.out | 2 +- tests/qemu-iotests/120 | 1 + tests/qemu-iotests/120.out | 2 +- tests/qemu-iotests/122.out | 20 +- tests/qemu-iotests/124 | 7 +- tests/qemu-iotests/125 | 130 + tests/qemu-iotests/125.out | 386 +++ tests/qemu-iotests/126 | 105 + tests/qemu-iotests/126.out | 23 + tests/qemu-iotests/130 | 2 + tests/qemu-iotests/130.out | 4 +- tests/qemu-iotests/134 | 21 +- tests/qemu-iotests/134.out | 10 +- tests/qemu-iotests/136 | 2 +- tests/qemu-iotests/139 | 4 +- tests/qemu-iotests/140 | 10 +- tests/qemu-iotests/140.out | 5 +- tests/qemu-iotests/141 | 3 +- tests/qemu-iotests/142 | 50 +- tests/qemu-iotests/142.out | 10 +- tests/qemu-iotests/143 | 1 + tests/qemu-iotests/143.out | 5 +- tests/qemu-iotests/144.out | 4 +- tests/qemu-iotests/145 | 18 +- tests/qemu-iotests/145.out | 2 +- tests/qemu-iotests/146.out | 30 +- tests/qemu-iotests/147 | 7 + tests/qemu-iotests/149 | 25 +- tests/qemu-iotests/149.out | 1002 ++++++-- tests/qemu-iotests/153 | 234 ++ tests/qemu-iotests/153.out | 396 +++ tests/qemu-iotests/154 | 156 +- tests/qemu-iotests/154.out | 158 +- tests/qemu-iotests/156 | 8 +- tests/qemu-iotests/156.out | 2 +- tests/qemu-iotests/157 | 17 +- tests/qemu-iotests/157.out | 16 +- tests/qemu-iotests/158 | 22 +- tests/qemu-iotests/158.out | 14 +- tests/qemu-iotests/159 | 1 + tests/qemu-iotests/162 | 7 + tests/qemu-iotests/165 | 105 + tests/qemu-iotests/165.out | 5 + tests/qemu-iotests/170 | 1 + tests/qemu-iotests/171 | 14 +- tests/qemu-iotests/172 | 55 +- tests/qemu-iotests/172.out | 50 +- tests/qemu-iotests/174 | 2 +- tests/qemu-iotests/177 | 117 + tests/qemu-iotests/177.out | 54 + tests/qemu-iotests/178 | 170 ++ tests/qemu-iotests/178.out.qcow2 | 286 +++ tests/qemu-iotests/178.out.raw | 158 ++ tests/qemu-iotests/179 | 131 + tests/qemu-iotests/179.out | 156 ++ tests/qemu-iotests/181 | 132 + tests/qemu-iotests/181.out | 38 + tests/qemu-iotests/182 | 68 + tests/qemu-iotests/182.out | 8 + tests/qemu-iotests/183 | 140 ++ tests/qemu-iotests/183.out | 46 + tests/qemu-iotests/185 | 210 ++ tests/qemu-iotests/185.out | 59 + tests/qemu-iotests/186 | 147 ++ tests/qemu-iotests/186.out | 489 ++++ tests/qemu-iotests/187 | 69 + tests/qemu-iotests/187.out | 18 + tests/qemu-iotests/188 | 76 + tests/qemu-iotests/188.out | 18 + tests/qemu-iotests/189 | 86 + tests/qemu-iotests/189.out | 26 + tests/qemu-iotests/190 | 59 + tests/qemu-iotests/190.out | 11 + tests/qemu-iotests/192 | 63 + tests/qemu-iotests/192.out | 7 + tests/qemu-iotests/194 | 73 + tests/qemu-iotests/194.out | 13 + tests/qemu-iotests/check | 36 +- tests/qemu-iotests/common | 27 +- tests/qemu-iotests/common.config | 48 +- tests/qemu-iotests/common.filter | 21 +- tests/qemu-iotests/common.pattern | 2 +- tests/qemu-iotests/common.qemu | 16 +- tests/qemu-iotests/common.rc | 34 +- tests/qemu-iotests/group | 19 + tests/qemu-iotests/iotests.py | 40 + tests/qht-bench.c | 2 +- tests/qom-test.c | 36 +- tests/rocker/all | 10 +- tests/rtc-test.c | 205 +- tests/tcg/cris/Makefile | 8 +- tests/tcg/test-i386.c | 4 +- tests/test-blockjob-txn.c | 7 +- tests/test-blockjob.c | 10 +- tests/test-char.c | 541 +++- tests/test-clone-visitor.c | 23 +- tests/test-crypto-block.c | 20 +- tests/test-hbitmap.c | 19 + tests/test-hmp.c | 163 ++ tests/test-io-channel-socket.c | 52 +- tests/test-keyval.c | 22 +- tests/test-qdev-global-props.c | 39 +- tests/test-qemu-opts.c | 4 +- tests/test-qga.c | 105 +- tests/test-qmp-commands.c | 40 +- tests/test-qmp-event.c | 39 +- tests/test-qobject-input-visitor.c | 194 +- tests/test-qobject-output-visitor.c | 116 +- tests/test-replication.c | 17 +- tests/test-throttle.c | 12 +- tests/test-vmstate.c | 6 +- tests/test-x86-cpuid-compat.c | 163 +- tests/test-xbzrle.c | 2 +- tests/usb-hcd-uhci-test.c | 2 +- tests/usb-hcd-xhci-test.c | 2 +- tests/vhost-user-bridge.c | 11 +- tests/vhost-user-test.c | 8 +- tests/virtio-blk-test.c | 29 +- tests/virtio-net-test.c | 6 +- tests/virtio-scsi-test.c | 9 +- tests/vmgenid-test.c | 217 ++ thunk.c | 3 +- trace-events | 74 +- trace/control-target.c | 29 +- trace/control.c | 17 +- trace/control.h | 21 +- translate-all.c | 2221 ----------------- translate-all.h | 36 - translate-common.c | 56 - ui/Makefile.objs | 1 + ui/cocoa.m | 209 +- ui/console.c | 37 +- ui/curses_keys.h | 2 + ui/egl-context.c | 7 +- ui/egl-headless.c | 125 + ui/egl-helpers.c | 158 +- ui/gtk-egl.c | 38 +- ui/gtk-gl-area.c | 26 +- ui/gtk.c | 8 +- ui/input-keymap.c | 170 +- ui/input-linux.c | 138 +- ui/input.c | 51 +- ui/keymaps.c | 33 +- ui/keymaps.h | 1 + ui/sdl.c | 6 +- ui/sdl2-gl.c | 36 +- ui/sdl2.c | 9 +- ui/spice-core.c | 4 +- ui/spice-display.c | 3 +- ui/spice-input.c | 20 +- ui/trace-events | 7 +- ui/vnc-auth-sasl.c | 5 +- ui/vnc-enc-tight.c | 1 - ui/vnc-enc-zrle.c | 1 - ui/vnc.c | 117 +- ui/vnc_keysym.h | 2 + user-exec.c | 18 +- util/Makefile.objs | 2 + util/aio-win32.c | 13 +- util/bitmap.c | 11 + util/bufferiszero.c | 7 +- util/cacheinfo.c | 186 ++ util/coroutine-gthread.c | 198 -- util/cutils.c | 25 + util/envlist.c | 47 +- util/error.c | 21 + util/event_notifier-posix.c | 1 - util/hbitmap.c | 51 +- util/keyval.c | 10 +- util/main-loop.c | 56 +- util/osdep.c | 94 + util/oslib-posix.c | 121 +- util/oslib-win32.c | 30 +- util/qemu-config.c | 6 + util/qemu-coroutine-lock.c | 54 +- util/qemu-coroutine.c | 5 + util/qemu-error.c | 107 +- util/qemu-option.c | 30 +- util/qemu-progress.c | 3 + util/qemu-sockets.c | 370 +-- util/qemu-thread-posix.c | 45 +- util/qemu-thread-win32.c | 45 +- util/rcu.c | 30 +- util/stats64.c | 137 + util/throttle.c | 26 +- util/trace-events | 6 +- vl.c | 245 +- xen-common-stub.c | 14 - xen-common.c | 158 -- xen-hvm-stub.c | 63 - xen-hvm.c | 1422 ----------- xen-mapcache.c | 459 ---- 1768 files changed, 105240 insertions(+), 55378 deletions(-) diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b2022e3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 + +[Makefile*] +indent_style = tab +indent_size = 8 + +[*.{c,h}] +indent_style = space +indent_size = 4 diff --git a/.gdbinit b/.gdbinit new file mode 100644 index 0000000..9d322fc --- /dev/null +++ b/.gdbinit @@ -0,0 +1,8 @@ +# GDB may have ./.gdbinit loading disabled by default. In that case you can +# follow the instructions it prints. They boil down to adding the following to +# your home directory's ~/.gdbinit file: +# +# add-auto-load-safe-path /path/to/qemu/.gdbinit + +# Load QEMU-specific sub-commands and settings +source scripts/qemu-gdb.py diff --git a/.gitignore b/.gitignore index 55a001e..cf65316 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,7 @@ /qemu-version.h.tmp /module_block.h /vscclient +/vhost-user-scsi /fsdev/virtfs-proxy-helper *.[1-9] *.a @@ -99,14 +100,14 @@ /pc-bios/optionrom/kvmvapic.img /pc-bios/s390-ccw/s390-ccw.elf /pc-bios/s390-ccw/s390-ccw.img -/docs/qemu-ga-qapi.texi -/docs/qemu-ga-ref.html -/docs/qemu-ga-ref.info* -/docs/qemu-ga-ref.txt -/docs/qemu-qmp-qapi.texi -/docs/qemu-qmp-ref.html -/docs/qemu-qmp-ref.info* -/docs/qemu-qmp-ref.txt +/docs/interop/qemu-ga-qapi.texi +/docs/interop/qemu-ga-ref.html +/docs/interop/qemu-ga-ref.info* +/docs/interop/qemu-ga-ref.txt +/docs/interop/qemu-qmp-qapi.texi +/docs/interop/qemu-qmp-ref.html +/docs/interop/qemu-qmp-ref.info* +/docs/interop/qemu-qmp-ref.txt /docs/version.texi *.tps .stgit-* @@ -115,6 +116,8 @@ tags TAGS docker-src.* *~ +*.ast_raw +*.depend_raw trace.h trace.c trace-ust.h diff --git a/.gitmodules b/.gitmodules index ca323b4..5b0c212 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,3 +34,6 @@ [submodule "roms/skiboot"] path = roms/skiboot url = git://git.qemu.org/skiboot.git +[submodule "roms/QemuMacDrivers"] + path = roms/QemuMacDrivers + url = git://git.qemu.org/QemuMacDrivers.git diff --git a/.shippable.yml b/.shippable.yml index 653bd75..dd4bbc8 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -1,15 +1,35 @@ language: c +git: + submodules: false env: + global: + - LC_ALL=C matrix: + - IMAGE=debian-amd64 + TARGET_LIST=x86_64-softmmu,x86_64-linux-user + - IMAGE=debian-win32-cross + TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu + - IMAGE=debian-win64-cross + TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu + - IMAGE=debian-armel-cross + TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user - IMAGE=debian-armhf-cross - TARGET_LIST=arm-softmmu,arm-linux-user + TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user - IMAGE=debian-arm64-cross TARGET_LIST=aarch64-softmmu,aarch64-linux-user - IMAGE=debian-s390x-cross TARGET_LIST=s390x-softmmu,s390x-linux-user + - IMAGE=debian-mips-cross + TARGET_LIST=mips-softmmu,mipsel-linux-user + - IMAGE=debian-mips64el-cross + TARGET_LIST=mips64el-softmmu,mips64el-linux-user + - IMAGE=debian-powerpc-cross + TARGET_LIST=ppc-softmmu,ppcemb-softmmu,ppc-linux-user + - IMAGE=debian-ppc64el-cross + TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user build: pre_ci: - - make docker-image-${IMAGE} + - make docker-image-${IMAGE} V=1 pre_ci_boot: image_name: qemu image_tag: ${IMAGE} @@ -17,5 +37,13 @@ build: options: "-e HOME=/root" ci: - unset CC + # some targets require newer up to date packages, for example TARGET_LIST matching + # aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu) + # see the configure script: + # error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:" + # " (1) Preferred: Install the DTC (libfdt) devel package" + # " (2) Fetch the DTC submodule, using:" + # " git submodule update --init dtc" + - dpkg --compare-versions `dpkg-query --showformat='${Version}' --show libfdt-dev` ge 1.4.2 || git submodule update --init dtc - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST} - - make -j2 + - make -j$(($(getconf _NPROCESSORS_ONLN) + 1)) diff --git a/.travis.yml b/.travis.yml index 9008a79..f583839 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,7 @@ notifications: env: global: - TEST_CMD="make check" + - MAKEFLAGS="-j3" matrix: - CONFIG="" - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log" @@ -64,7 +65,7 @@ before_install: before_script: - ./configure ${CONFIG} script: - - make -j3 && ${TEST_CMD} + - make ${MAKEFLAGS} && ${TEST_CMD} matrix: include: # Test with CLang for compile portability @@ -86,7 +87,7 @@ matrix: - env: CONFIG="--enable-trace-backends=ust" TEST_CMD="" compiler: gcc - - env: CONFIG="--with-coroutine=gthread" + - env: CONFIG="--disable-tcg" TEST_CMD="" compiler: gcc - env: CONFIG="" @@ -191,7 +192,7 @@ matrix: compiler: none env: - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5 - - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread" + - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user" - TEST_CMD="" before_script: - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log diff --git a/CODING_STYLE b/CODING_STYLE index 2fa0c0b..12ba58e 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -123,3 +123,38 @@ We use traditional C-style /* */ comments and avoid // comments. Rationale: The // form is valid in C99, so this is purely a matter of consistency of style. The checkpatch script will warn you about this. + +8. trace-events style + +8.1 0x prefix + +In trace-events files, use a '0x' prefix to specify hex numbers, as in: + +some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64 + +An exception is made for groups of numbers that are hexadecimal by +convention and separated by the symbols '.', '/', ':', or ' ' (such as +PCI bus id): + +another_trace(int cssid, int ssid, int dev_num) "bus id: %x.%x.%04x" + +However, you can use '0x' for such groups if you want. Anyway, be sure that +it is obvious that numbers are in hex, ex.: + +data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x %02x" + +Rationale: hex numbers are hard to read in logs when there is no 0x prefix, +especially when (occasionally) the representation doesn't contain any letters +and especially in one line with other decimal numbers. Number groups are allowed +to not use '0x' because for some things notations like %x.%x.%x are used not +only in Qemu. Also dumping raw data bytes with '0x' is less readable. + +8.2 '#' printf flag + +Do not use printf flag '#', like '%#x'. + +Rationale: there are two ways to add a '0x' prefix to printed number: '0x%...' +and '%#...'. For consistency the only one way should be used. Arguments for +'0x%' are: + - it is more popular + - '%#' omits the 0x for the value 0 which makes output inconsistent diff --git a/MAINTAINERS b/MAINTAINERS index c60235e..ccee28b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12,6 +12,8 @@ consult qemu-devel and not any specific individual privately. Descriptions of section entries: M: Mail patches to: FullName <address@domain> + R: Designated reviewer: FullName <address@domain> + These reviewers should be CCed on patches. L: Mailing list that is relevant to this area W: Web-page with status/info Q: Patchwork web based patch tracking system site @@ -82,14 +84,10 @@ M: Paolo Bonzini <pbonzini@xxxxxxxxxx> M: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx> M: Richard Henderson <rth@xxxxxxxxxxx> S: Maintained -F: cpu-exec.c -F: cpu-exec-common.c F: cpus.c -F: cputlb.c F: exec.c F: softmmu_template.h -F: translate-all.* -F: translate-common.c +F: accel/tcg/ F: include/exec/cpu*.h F: include/exec/exec-all.h F: include/exec/helper*.h @@ -196,8 +194,8 @@ F: hw/nios2/ F: disas/nios2.c OpenRISC -M: Jia Liu <proljc@xxxxxxxxx> -S: Maintained +M: Stafford Horne <shorne@xxxxxxxxx> +S: Odd Fixes F: target/openrisc/ F: hw/openrisc/ F: tests/tcg/openrisc/ @@ -275,8 +273,8 @@ Overall M: Paolo Bonzini <pbonzini@xxxxxxxxxx> L: kvm@xxxxxxxxxxxxxxx S: Supported -F: kvm-* F: */kvm.* +F: accel/kvm/ F: include/sysemu/kvm*.h ARM @@ -297,7 +295,7 @@ F: target/ppc/kvm.c S390 M: Christian Borntraeger <borntraeger@xxxxxxxxxx> -M: Cornelia Huck <cornelia.huck@xxxxxxxxxx> +M: Cornelia Huck <cohuck@xxxxxxxxxx> M: Alexander Graf <agraf@xxxxxxx> S: Maintained F: target/s390x/kvm.c @@ -325,8 +323,8 @@ M: Stefano Stabellini <sstabellini@xxxxxxxxxx> M: Anthony Perard <anthony.perard@xxxxxxxxxx> L: xen-devel@xxxxxxxxxxxxxxxxxxxx S: Supported -F: xen-* F: */xen* +F: hw/9pfs/xen-9p-backend.c F: hw/char/xen_console.c F: hw/display/xenfb.c F: hw/net/xen_nic.c @@ -351,6 +349,12 @@ L: qemu-devel@xxxxxxxxxx S: Maintained F: *posix* +NETBSD +L: qemu-devel@xxxxxxxxxx +M: Kamil Rytarowski <kamil@xxxxxxxxxx> +S: Maintained +K: ^Subject:.*(?i)NetBSD + W32, W64 L: qemu-devel@xxxxxxxxxx M: Stefan Weil <sw@xxxxxxxxxxx> @@ -371,7 +375,7 @@ F: hw/*/allwinner* F: include/hw/*/allwinner* F: hw/arm/cubieboard.c -ARM PrimeCell +ARM PrimeCell and CMSDK devices M: Peter Maydell <peter.maydell@xxxxxxxxxx> L: qemu-arm@xxxxxxxxxx S: Maintained @@ -385,6 +389,10 @@ F: hw/intc/pl190.c F: hw/sd/pl181.c F: hw/timer/pl031.c F: include/hw/arm/primecell.h +F: hw/timer/cmsdk-apb-timer.c +F: include/hw/timer/cmsdk-apb-timer.h +F: hw/char/cmsdk-apb-uart.c +F: include/hw/char/cmsdk-apb-uart.h ARM cores M: Peter Maydell <peter.maydell@xxxxxxxxxx> @@ -446,6 +454,14 @@ S: Maintained F: hw/arm/integratorcp.c F: hw/misc/arm_integrator_debug.c +MPS2 +M: Peter Maydell <peter.maydell@xxxxxxxxxx> +L: qemu-arm@xxxxxxxxxx +S: Maintained +F: hw/arm/mps2.c +F: hw/misc/mps2-scc.c +F: include/hw/misc/mps2-scc.h + Musicpal M: Jan Kiszka <jan.kiszka@xxxxxx> L: qemu-arm@xxxxxxxxxx @@ -645,7 +661,6 @@ F: hw/ppc/ppc440_bamboo.c e500 M: Alexander Graf <agraf@xxxxxxx> -M: Scott Wood <scottwood@xxxxxxxxxxxxx> L: qemu-ppc@xxxxxxxxxx S: Supported F: hw/ppc/e500.[hc] @@ -656,7 +671,6 @@ F: pc-bios/u-boot.e500 mpc8544ds M: Alexander Graf <agraf@xxxxxxx> -M: Scott Wood <scottwood@xxxxxxxxxxxxx> L: qemu-ppc@xxxxxxxxxx S: Supported F: hw/ppc/mpc8544ds.c @@ -771,7 +785,7 @@ F: include/hw/sparc/grlib.h S390 Machines ------------- S390 Virtio-ccw -M: Cornelia Huck <cornelia.huck@xxxxxxxxxx> +M: Cornelia Huck <cohuck@xxxxxxxxxx> M: Christian Borntraeger <borntraeger@xxxxxxxxxx> M: Alexander Graf <agraf@xxxxxxx> S: Supported @@ -933,7 +947,6 @@ F: include/hw/ppc/ppc4xx.h ppce500 M: Alexander Graf <agraf@xxxxxxx> -M: Scott Wood <scottwood@xxxxxxxxxxxxx> L: qemu-ppc@xxxxxxxxxx S: Supported F: hw/ppc/e500* @@ -999,6 +1012,14 @@ S: Supported F: hw/vfio/* F: include/hw/vfio/ +vfio-ccw +M: Cornelia Huck <cohuck@xxxxxxxxxx> +S: Supported +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 + vhost M: Michael S. Tsirkin <mst@xxxxxxxxxx> S: Supported @@ -1034,7 +1055,7 @@ F: tests/virtio-blk-test.c T: git git://github.com/stefanha/qemu.git block virtio-ccw -M: Cornelia Huck <cornelia.huck@xxxxxxxxxx> +M: Cornelia Huck <cohuck@xxxxxxxxxx> M: Christian Borntraeger <borntraeger@xxxxxxxxxx> S: Supported F: hw/s390x/virtio-ccw.[hc] @@ -1146,6 +1167,13 @@ F: docs/specs/vmgenid.txt F: tests/vmgenid-test.c F: stubs/vmgenid.c +Unimplemented device +M: Peter Maydell <peter.maydell@xxxxxxxxxx> +R: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx> +S: Maintained +F: include/hw/misc/unimp.h +F: hw/misc/unimp.c + Subsystems ---------- Audio @@ -1170,6 +1198,7 @@ F: include/block/ F: qemu-img* F: qemu-io* F: tests/qemu-iotests/ +F: util/qemu-progress.c T: git git://repo.or.cz/qemu/kevin.git block Block I/O path @@ -1177,8 +1206,8 @@ M: Stefan Hajnoczi <stefanha@xxxxxxxxxx> M: Fam Zheng <famz@xxxxxxxxxx> L: qemu-block@xxxxxxxxxx S: Supported -F: async.c -F: aio-*.c +F: util/async.c +F: util/aio-*.c F: block/io.c F: migration/block* F: include/block/aio.h @@ -1223,13 +1252,12 @@ M: Paolo Bonzini <pbonzini@xxxxxxxxxx> M: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> S: Maintained F: chardev/ -F: backends/msmouse.c -F: backends/testdev.c +F: include/chardev/ Character Devices (Braille) M: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> S: Maintained -F: backends/baum.c +F: chardev/baum.c Command line option argument parsing M: Markus Armbruster <armbru@xxxxxxxxxx> @@ -1307,8 +1335,8 @@ Main loop M: Paolo Bonzini <pbonzini@xxxxxxxxxx> S: Maintained F: cpus.c -F: main-loop.c -F: qemu-timer.c +F: util/main-loop.c +F: util/qemu-timer.c F: vl.c Human Monitor (HMP) @@ -1318,6 +1346,7 @@ F: monitor.c F: hmp.[ch] F: hmp-commands*.hx F: include/monitor/hmp-target.h +F: tests/test-hmp.c Network device backends M: Jason Wang <jasowang@xxxxxxxxxx> @@ -1334,15 +1363,6 @@ W: http://info.iet.unipi.it/~luigi/netmap/ S: Maintained F: net/netmap.c -Network Block Device (NBD) -M: Paolo Bonzini <pbonzini@xxxxxxxxxx> -S: Odd Fixes -F: block/nbd* -F: nbd/ -F: include/block/nbd* -F: qemu-nbd.c -T: git git://github.com/bonzini/qemu.git nbd-next - NUMA M: Eduardo Habkost <ehabkost@xxxxxxxxxx> S: Maintained @@ -1395,9 +1415,9 @@ S: Supported F: qobject/ F: include/qapi/qmp/ X: include/qapi/qmp/dispatch.h +F: scripts/coccinelle/qobject.cocci F: tests/check-qdict.c -F: tests/check-qfloat.c -F: tests/check-qint.c +F: tests/check-qnum.c F: tests/check-qjson.c F: tests/check-qlist.c F: tests/check-qstring.c @@ -1475,7 +1495,7 @@ F: tests/vmstate-static-checker-data/ F: docs/migration.txt Seccomp -M: Eduardo Otubo <eduardo.otubo@xxxxxxxxxxxxxxxx> +M: Eduardo Otubo <otubo@xxxxxxxxxx> S: Supported F: qemu-seccomp.c F: include/sysemu/seccomp.h @@ -1486,6 +1506,7 @@ S: Maintained F: crypto/ F: include/crypto/ F: tests/test-crypto-* +F: qemu.sasl Coroutines M: Stefan Hajnoczi <stefanha@xxxxxxxxxx> @@ -1548,6 +1569,18 @@ F: net/colo* F: net/filter-rewriter.c 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 +S: Supported +F: replay/* +F: block/blkreplay.c +F: net/filter-replay.c +F: include/sysemu/replay.h +F: docs/replay.txt +F: stubs/replay.c + Usermode Emulation ------------------ Overall @@ -1564,6 +1597,7 @@ F: default-configs/*-bsd-user.mak Linux user M: Riku Voipio <riku.voipio@xxxxxx> +R: Laurent Vivier <laurent@xxxxxxxxx> S: Maintained F: linux-user/ F: default-configs/*-linux-user.mak @@ -1631,7 +1665,7 @@ TCI target M: Stefan Weil <sw@xxxxxxxxxxx> S: Maintained F: tcg/tci/ -F: tci.c +F: tcg/tci.c F: disas/tci.c Block drivers @@ -1682,6 +1716,18 @@ S: Supported F: block/iscsi.c F: block/iscsi-opts.c +Network Block Device (NBD) +M: Eric Blake <eblake@xxxxxxxxxx> +M: Paolo Bonzini <pbonzini@xxxxxxxxxx> +L: qemu-block@xxxxxxxxxx +S: Maintained +F: block/nbd* +F: nbd/ +F: include/block/nbd* +F: qemu-nbd.* +F: blockdev-nbd.c +T: git git://repo.or.cz/qemu/ericb.git nbd + NFS M: Jeff Cody <jcody@xxxxxxxxxx> M: Peter Lieven <pl@xxxxxxx> @@ -1817,8 +1863,8 @@ S: Supported F: tests/image-fuzzer/ Replication -M: Wen Congyang <wency@xxxxxxxxxxxxxx> -M: Changlong Xie <xiecl.fnst@xxxxxxxxxxxxxx> +M: Wen Congyang <wencongyang2@xxxxxxxxxx> +M: Xie Changlong <xiechanglong.d@xxxxxxxxx> S: Supported F: replication* F: block/replication.c @@ -1829,12 +1875,14 @@ Build and test automation ------------------------- M: Alex Bennée <alex.bennee@xxxxxxxxxx> M: Fam Zheng <famz@xxxxxxxxxx> +R: Philippe Mathieu-Daudé <f4bug@xxxxxxxxx> L: qemu-devel@xxxxxxxxxx S: Maintained F: .travis.yml F: .shippable.yml F: tests/docker/ W: https://travis-ci.org/qemu/qemu +W: https://app.shippable.com/github/qemu/qemu W: http://patchew.org/QEMU/ Documentation diff --git a/Makefile b/Makefile index 6c359b2..81447b1 100644 --- a/Makefile +++ b/Makefile @@ -207,8 +207,8 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF) ifdef BUILD_DOCS DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 -DOCS+=docs/qemu-qmp-ref.html docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7 -DOCS+=docs/qemu-ga-ref.html docs/qemu-ga-ref.txt docs/qemu-ga-ref.7 +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 ifdef CONFIG_VIRTFS DOCS+=fsdev/virtfs-proxy-helper.1 endif @@ -269,6 +269,7 @@ dummy := $(call unnest-vars,, \ ivshmem-client-obj-y \ ivshmem-server-obj-y \ libvhost-user-obj-y \ + vhost-user-scsi-obj-y \ qga-vss-dll-obj-y \ block-obj-y \ block-obj-m \ @@ -280,9 +281,7 @@ dummy := $(call unnest-vars,, \ common-obj-m \ trace-obj-y) -ifneq ($(wildcard config-host.mak),) include $(SRC_PATH)/tests/Makefile.include -endif all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all modules @@ -346,7 +345,7 @@ dtc/%: mkdir -p $@ $(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \ - $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) $(trace-obj-y) + $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS)) # Only keep -O and -g cflags @@ -366,11 +365,11 @@ Makefile: $(version-obj-y) # Build libraries libqemustub.a: $(stub-obj-y) -libqemuutil.a: $(util-obj-y) +libqemuutil.a: $(util-obj-y) $(trace-obj-y) ###################################################################### -COMMON_LDADDS = $(trace-obj-y) libqemuutil.a libqemustub.a +COMMON_LDADDS = libqemuutil.a libqemustub.a qemu-img.o: qemu-img-cmds.h @@ -442,7 +441,7 @@ $(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py) "GEN","$@") QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h) -$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) +$(qga-obj-y): $(QGALIB_GEN) qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS) $(call LINK, $^) @@ -469,10 +468,14 @@ ifneq ($(EXESUF),) qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI) endif +ifdef CONFIG_IVSHMEM ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS) $(call LINK, $^) ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS) $(call LINK, $^) +endif +vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) + $(call LINK, $^) module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak $(call quiet-command,$(PYTHON) $< $@ \ @@ -519,11 +522,12 @@ distclean: clean rm -f qemu-doc.vr qemu-doc.txt rm -f config.log rm -f linux-headers/asm - rm -f docs/qemu-ga-qapi.texi docs/qemu-qmp-qapi.texi docs/version.texi - rm -f docs/qemu-qmp-ref.7 docs/qemu-ga-ref.7 - rm -f docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt - rm -f docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf - rm -f docs/qemu-qmp-ref.html docs/qemu-ga-ref.html + rm -f docs/version.texi + rm -f docs/interop/qemu-ga-qapi.texi docs/interop/qemu-qmp-qapi.texi + rm -f docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7 + 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 for d in $(TARGET_DIRS); do \ rm -rf $$d || exit 1 ; \ done @@ -549,10 +553,11 @@ efi-e1000e.rom efi-vmxnet3.rom \ qemu-icon.bmp qemu_logo_no_text.svg \ bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \ multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \ -s390-ccw.img \ +s390-ccw.img s390-netboot.img \ spapr-rtas.bin slof.bin skiboot.lid \ palcode-clipper \ -u-boot.e500 +u-boot.e500 \ +qemu_vga.ndrv else BLOBS= endif @@ -561,13 +566,13 @@ install-doc: $(DOCS) $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)" $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" ifdef CONFIG_POSIX $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man7" - $(INSTALL_DATA) docs/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7" + $(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7" ifneq ($(TOOLS),) $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1" $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8" @@ -575,9 +580,9 @@ ifneq ($(TOOLS),) endif ifneq (,$(findstring qemu-ga,$(TOOLS))) $(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8" - $(INSTALL_DATA) docs/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7" + $(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)" + $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7" endif endif ifdef CONFIG_VIRTFS @@ -665,28 +670,27 @@ ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \ # documentation MAKEINFO=makeinfo -MAKEINFOFLAGS=--no-split --number-sections -I docs -TEXIFLAG=$(if $(V),,--quiet) +MAKEINFOINCLUDES= -I docs -I $(<D) -I $(@D) +MAKEINFOFLAGS=--no-split --number-sections $(MAKEINFOINCLUDES) +TEXI2PODFLAGS=$(MAKEINFOINCLUDES) "-DVERSION=$(VERSION)" +TEXI2PDFFLAGS=$(if $(V),,--quiet) -I $(SRC_PATH) $(MAKEINFOINCLUDES) docs/version.texi: $(SRC_PATH)/VERSION $(call quiet-command,echo "@set VERSION $(VERSION)" > $@,"GEN","$@") -%.html: %.texi +%.html: %.texi docs/version.texi $(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \ --html $< -o $@,"GEN","$@") -%.info: %.texi +%.info: %.texi docs/version.texi $(call quiet-command,$(MAKEINFO) $(MAKEINFOFLAGS) $< -o $@,"GEN","$@") -%.txt: %.texi +%.txt: %.texi docs/version.texi $(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \ --plaintext $< -o $@,"GEN","$@") -%.pdf: %.texi - $(call quiet-command,texi2pdf $(TEXIFLAG) -I $(SRC_PATH) -I docs $< -o $@,"GEN","$@") - -docs/qemu-ga-ref.html docs/qemu-ga-ref.info docs/qemu-ga-ref.txt docs/qemu-ga-ref.pdf docs/qemu-ga-ref.7.pod: docs/version.texi -docs/qemu-qmp-ref.html docs/qemu-qmp-ref.info docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.pdf docs/qemu-qmp-ref.pod: docs/version.texi +%.pdf: %.texi docs/version.texi + $(call quiet-command,texi2pdf $(TEXI2PDFFLAGS) $< -o $@,"GEN","$@") qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@") @@ -700,12 +704,12 @@ qemu-monitor-info.texi: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxt qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@") -docs/qemu-qmp-qapi.texi docs/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py) +docs/interop/qemu-qmp-qapi.texi docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py) -docs/qemu-qmp-qapi.texi: $(qapi-modules) +docs/interop/qemu-qmp-qapi.texi: $(qapi-modules) $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@") -docs/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json +docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@") qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi @@ -715,21 +719,25 @@ 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 -html: qemu-doc.html docs/qemu-qmp-ref.html docs/qemu-ga-ref.html -info: qemu-doc.info docs/qemu-qmp-ref.info docs/qemu-ga-ref.info -pdf: qemu-doc.pdf docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf -txt: qemu-doc.txt docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt +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 +pdf: qemu-doc.pdf docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf +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 -docs/qemu-ga-ref.dvi docs/qemu-ga-ref.html docs/qemu-ga-ref.info docs/qemu-ga-ref.pdf docs/qemu-ga-ref.txt docs/qemu-ga-ref.7: \ -docs/qemu-ga-ref.texi docs/qemu-ga-qapi.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 \ + docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7: \ + docs/interop/qemu-ga-ref.texi docs/interop/qemu-ga-qapi.texi -docs/qemu-qmp-ref.dvi docs/qemu-qmp-ref.html docs/qemu-qmp-ref.info docs/qemu-qmp-ref.pdf docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7: \ -docs/qemu-qmp-ref.texi docs/qemu-qmp-qapi.texi +docs/interop/qemu-qmp-ref.dvi docs/interop/qemu-qmp-ref.html \ + docs/interop/qemu-qmp-ref.info docs/interop/qemu-qmp-ref.pdf \ + docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7: \ + docs/interop/qemu-qmp-ref.texi docs/interop/qemu-qmp-qapi.texi ifdef CONFIG_WIN32 @@ -790,9 +798,11 @@ endif # CONFIG_WIN # Add a dependency on the generated files, so that they are always # rebuilt before other object files +ifneq ($(wildcard config-host.mak),) ifneq ($(filter-out $(UNCHECKED_GOALS),$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),,fail)) Makefile: $(GENERATED_FILES) endif +endif .SECONDARY: $(TRACE_HEADERS) $(TRACE_HEADERS:%=%-timestamp) \ $(TRACE_SOURCES) $(TRACE_SOURCES:%=%-timestamp) \ diff --git a/Makefile.objs b/Makefile.objs index 6167e7b..24a4ea0 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -40,7 +40,7 @@ io-obj-y = io/ ifeq ($(CONFIG_SOFTMMU),y) common-obj-y = blockdev.o blockdev-nbd.o block/ -common-obj-y += iothread.o +common-obj-y += bootdevice.o iothread.o common-obj-y += net/ common-obj-y += qdev-monitor.o device-hotplug.o common-obj-$(CONFIG_WIN32) += os-win32.o @@ -49,13 +49,9 @@ common-obj-$(CONFIG_POSIX) += os-posix.o common-obj-$(CONFIG_LINUX) += fsdev/ common-obj-y += migration/ -common-obj-y += page_cache.o #aio.o - -common-obj-$(CONFIG_SPICE) += spice-qemu-char.o common-obj-y += audio/ common-obj-y += hw/ -common-obj-y += accel.o common-obj-y += replay/ @@ -71,6 +67,7 @@ common-obj-y += tpm.o common-obj-$(CONFIG_SLIRP) += slirp/ common-obj-y += backends/ +common-obj-y += chardev/ common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o @@ -110,9 +107,13 @@ qga-vss-dll-obj-y = qga/ ###################################################################### # contrib -ivshmem-client-obj-y = contrib/ivshmem-client/ -ivshmem-server-obj-y = contrib/ivshmem-server/ +ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ +ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ 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 = @@ -121,7 +122,7 @@ trace-events-subdirs += crypto trace-events-subdirs += io trace-events-subdirs += migration trace-events-subdirs += block -trace-events-subdirs += backends +trace-events-subdirs += chardev trace-events-subdirs += hw/block trace-events-subdirs += hw/block/dataplane trace-events-subdirs += hw/char @@ -164,6 +165,9 @@ trace-events-subdirs += target/ppc trace-events-subdirs += qom trace-events-subdirs += linux-user trace-events-subdirs += qapi +trace-events-subdirs += accel/tcg +trace-events-subdirs += accel/kvm +trace-events-subdirs += nbd trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) diff --git a/Makefile.target b/Makefile.target index 7df2b8c..7f42c45 100644 --- a/Makefile.target +++ b/Makefile.target @@ -48,7 +48,10 @@ else TARGET_TYPE=system endif -$(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all +tracetool-y = $(SRC_PATH)/scripts/tracetool.py +tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py") + +$(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=all \ --format=stap \ @@ -58,7 +61,7 @@ $(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace-events-all --target-type=$(TARGET_TYPE) \ $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp-installed") -$(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all +$(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=all \ --format=stap \ @@ -68,7 +71,7 @@ $(QEMU_PROG).stp: $(BUILD_DIR)/trace-events-all --target-type=$(TARGET_TYPE) \ $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp") -$(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace-events-all +$(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace-events-all $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=all \ --format=simpletrace-stap \ @@ -88,20 +91,17 @@ all: $(PROGS) stap ######################################################### # cpu emulator library -obj-y = exec.o translate-all.o cpu-exec.o -obj-y += translate-common.o -obj-y += cpu-exec-common.o -obj-y += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o -obj-$(CONFIG_TCG_INTERPRETER) += tci.o -obj-y += tcg/tcg-common.o +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_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-y += tcg-runtime.o obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o -obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decContext.o obj-$(CONFIG_LIBDECNUMBER) += libdecnumber/decNumber.o @@ -140,21 +140,14 @@ endif #CONFIG_BSD_USER # System emulator target ifdef CONFIG_SOFTMMU obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o numa.o -obj-y += qtest.o bootdevice.o +obj-y += qtest.o obj-y += hw/ -obj-$(CONFIG_KVM) += kvm-all.o -obj-y += memory.o cputlb.o +obj-y += memory.o obj-y += memory_mapping.o obj-y += dump.o -obj-y += migration/ram.o migration/savevm.o +obj-y += migration/ram.o LIBS := $(libs_softmmu) $(LIBS) -# xen support -obj-$(CONFIG_XEN) += xen-common.o -obj-$(CONFIG_XEN_I386) += xen-hvm.o xen-mapcache.o -obj-$(call lnot,$(CONFIG_XEN)) += xen-common-stub.o -obj-$(call lnot,$(CONFIG_XEN_I386)) += xen-hvm-stub.o - # Hardware support ifeq ($(TARGET_NAME), sparc64) obj-y += hw/sparc64/ @@ -188,8 +181,7 @@ dummy := $(call unnest-vars,.., \ qom-obj-y \ io-obj-y \ common-obj-y \ - common-obj-m \ - trace-obj-y) + common-obj-m) target-obj-y := $(target-obj-y-save) all-obj-y += $(common-obj-y) all-obj-y += $(target-obj-y) @@ -201,7 +193,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y) $(QEMU_PROG_BUILD): config-devices.mak -COMMON_LDADDS = $(trace-obj-y) ../libqemuutil.a ../libqemustub.a +COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a # build either PROG or PROGW $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS) diff --git a/VERSION b/VERSION index c8e38b6..10c2c0c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.9.0 +2.10.0 diff --git a/accel.c b/accel.c deleted file mode 100644 index 664bb88..0000000 --- a/accel.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * QEMU System Emulator, accelerator interfaces - * - * Copyright (c) 2003-2008 Fabrice Bellard - * Copyright (c) 2014 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "qemu/osdep.h" -#include "sysemu/accel.h" -#include "hw/boards.h" -#include "qemu-common.h" -#include "sysemu/arch_init.h" -#include "sysemu/sysemu.h" -#include "sysemu/kvm.h" -#include "sysemu/qtest.h" -#include "hw/xen/xen.h" -#include "qom/object.h" - -int tcg_tb_size; -static bool tcg_allowed = true; - -static int tcg_init(MachineState *ms) -{ - tcg_exec_init(tcg_tb_size * 1024 * 1024); - return 0; -} - -static const TypeInfo accel_type = { - .name = TYPE_ACCEL, - .parent = TYPE_OBJECT, - .class_size = sizeof(AccelClass), - .instance_size = sizeof(AccelState), -}; - -/* Lookup AccelClass from opt_name. Returns NULL if not found */ -static AccelClass *accel_find(const char *opt_name) -{ - char *class_name = g_strdup_printf(ACCEL_CLASS_NAME("%s"), opt_name); - AccelClass *ac = ACCEL_CLASS(object_class_by_name(class_name)); - g_free(class_name); - return ac; -} - -static int accel_init_machine(AccelClass *acc, MachineState *ms) -{ - ObjectClass *oc = OBJECT_CLASS(acc); - const char *cname = object_class_get_name(oc); - AccelState *accel = ACCEL(object_new(cname)); - int ret; - ms->accelerator = accel; - *(acc->allowed) = true; - ret = acc->init_machine(ms); - if (ret < 0) { - ms->accelerator = NULL; - *(acc->allowed) = false; - object_unref(OBJECT(accel)); - } - return ret; -} - -void configure_accelerator(MachineState *ms) -{ - const char *p; - char buf[10]; - int ret; - bool accel_initialised = false; - bool init_failed = false; - AccelClass *acc = NULL; - - p = qemu_opt_get(qemu_get_machine_opts(), "accel"); - if (p == NULL) { - /* Use the default "accelerator", tcg */ - p = "tcg"; - } - - while (!accel_initialised && *p != '\0') { - if (*p == ':') { - p++; - } - p = get_opt_name(buf, sizeof(buf), p, ':'); - acc = accel_find(buf); - if (!acc) { - fprintf(stderr, "\"%s\" accelerator not found.\n", buf); - continue; - } - if (acc->available && !acc->available()) { - printf("%s not supported for this target\n", - acc->name); - continue; - } - ret = accel_init_machine(acc, ms); - if (ret < 0) { - init_failed = true; - fprintf(stderr, "failed to initialize %s: %s\n", - acc->name, - strerror(-ret)); - } else { - accel_initialised = true; - } - } - - if (!accel_initialised) { - if (!init_failed) { - fprintf(stderr, "No accelerator found!\n"); - } - exit(1); - } - - if (init_failed) { - fprintf(stderr, "Back to %s accelerator.\n", acc->name); - } -} - - -static void tcg_accel_class_init(ObjectClass *oc, void *data) -{ - AccelClass *ac = ACCEL_CLASS(oc); - ac->name = "tcg"; - ac->init_machine = tcg_init; - ac->allowed = &tcg_allowed; -} - -#define TYPE_TCG_ACCEL ACCEL_CLASS_NAME("tcg") - -static const TypeInfo tcg_accel_type = { - .name = TYPE_TCG_ACCEL, - .parent = TYPE_ACCEL, - .class_init = tcg_accel_class_init, -}; - -static void register_accel_types(void) -{ - type_register_static(&accel_type); - type_register_static(&tcg_accel_type); -} - -type_init(register_accel_types); diff --git a/accel/Makefile.objs b/accel/Makefile.objs new file mode 100644 index 0000000..10666ed --- /dev/null +++ b/accel/Makefile.objs @@ -0,0 +1,4 @@ +obj-$(CONFIG_SOFTMMU) += accel.o +obj-y += kvm/ +obj-$(CONFIG_TCG) += tcg/ +obj-y += stubs/ diff --git a/accel/accel.c b/accel/accel.c new file mode 100644 index 0000000..8ae40e1 --- /dev/null +++ b/accel/accel.c @@ -0,0 +1,134 @@ +/* + * QEMU System Emulator, accelerator interfaces + * + * Copyright (c) 2003-2008 Fabrice Bellard + * Copyright (c) 2014 Red Hat Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |