.travis.yml | 3 +- accel/kvm/kvm-all.c | 6 +- accel/kvm/trace-events | 1 + accel/stubs/Makefile.objs | 9 +- accel/stubs/whpx-stub.c | 48 ++ accel/tcg/user-exec.c | 33 - backends/Makefile.objs | 2 + backends/hostmem-memfd.c | 170 ++++ chardev/char-pty.c | 38 +- chardev/char-socket.c | 22 + configure | 118 ++- cpus.c | 109 ++- default-configs/arm-softmmu.mak | 1 + default-configs/i386-softmmu.mak | 1 + default-configs/mips-softmmu-common.mak | 1 + default-configs/ppc-softmmu.mak | 1 + default-configs/ppcemb-softmmu.mak | 1 + default-configs/x86_64-softmmu.mak | 1 + hw/core/qdev.c | 24 + hw/display/exynos4210_fimd.c | 2 +- hw/i2c/Makefile.objs | 2 +- hw/i386/kvm/i8254.c | 4 +- hw/i386/kvm/i8259.c | 3 +- hw/input/adb-kbd.c | 4 +- hw/input/adb-mouse.c | 4 +- hw/intc/arm_gic.c | 3 +- hw/intc/arm_gic_kvm.c | 7 +- hw/intc/arm_gicv3.c | 3 +- hw/intc/arm_gicv3_its_kvm.c | 3 +- hw/intc/arm_gicv3_kvm.c | 7 +- hw/intc/i8259.c | 3 +- hw/misc/ivshmem.c | 79 +- hw/net/vmxnet3.c | 4 +- hw/nvram/Makefile.objs | 2 +- hw/pci-bridge/gen_pcie_root_port.c | 3 +- hw/scsi/scsi-generic.c | 9 +- hw/scsi/vmw_pvscsi.c | 4 +- hw/timer/i8254.c | 3 +- hw/vfio/amd-xgbe.c | 4 +- hw/vfio/calxeda-xgmac.c | 4 +- hw/vfio/common.c | 16 +- hw/virtio/trace-events | 6 + hw/virtio/vhost.c | 19 +- hw/virtio/virtio-pci.c | 4 +- include/exec/memory-internal.h | 7 +- include/exec/memory.h | 27 +- include/hw/qdev-core.h | 14 +- include/qemu/compiler.h | 4 + include/qemu/memfd.h | 5 +- include/qemu/processor.h | 3 - include/qemu/timer.h | 9 - include/sysemu/hw_accel.h | 13 + include/sysemu/whpx.h | 40 + linux-user/syscall.c | 7 +- memory.c | 28 + numa.c | 1 + qemu-options.hx | 30 +- scripts/qemugdb/timers.py | 1 + target/alpha/cpu.c | 4 +- target/arm/cpu.c | 4 +- target/arm/kvm.c | 2 +- target/cris/cpu.c | 4 +- target/hppa/cpu.c | 4 +- target/i386/Makefile.objs | 1 + target/i386/cpu.c | 8 +- target/i386/helper.c | 2 +- target/i386/hvf/hvf.c | 27 + target/i386/hvf/vmx.h | 3 + target/i386/whpx-all.c | 1366 +++++++++++++++++++++++++++++++ target/lm32/cpu.c | 5 +- target/m68k/cpu.c | 5 +- target/microblaze/cpu.c | 5 +- target/mips/cpu.c | 5 +- target/moxie/cpu.c | 5 +- target/nios2/cpu.c | 4 +- target/openrisc/cpu.c | 5 +- target/ppc/translate_init.c | 8 +- target/s390x/cpu.c | 4 +- target/sh4/cpu.c | 4 +- target/sparc/cpu.c | 4 +- target/tilegx/cpu.c | 4 +- target/tricore/cpu.c | 4 +- target/unicore32/cpu.c | 4 +- target/xtensa/cpu.c | 4 +- tests/test-filter-redirector.c | 2 +- tests/vhost-user-test.c | 128 ++- util/coroutine-ucontext.c | 48 ++ util/memfd.c | 78 +- util/qemu-sockets.c | 44 +- util/readline.c | 3 - 90 files changed, 2450 insertions(+), 328 deletions(-) create mode 100644 accel/stubs/whpx-stub.c create mode 100644 backends/hostmem-memfd.c create mode 100644 include/sysemu/whpx.h create mode 100644 target/i386/whpx-all.c