.gitignore | 4 + Makefile | 6 +- accel/tcg/cpu-exec.c | 4 + backends/Makefile.objs | 5 +- configure | 118 ++- contrib/elf2dmp/kdbg.h | 12 +- contrib/elf2dmp/main.c | 27 +- contrib/elf2dmp/pdb.c | 33 +- contrib/elf2dmp/pdb.h | 4 +- contrib/elf2dmp/pe.h | 6 +- contrib/elf2dmp/qemu_elf.c | 27 +- contrib/elf2dmp/qemu_elf.h | 10 +- cpus.c | 2 +- crypto/aes.c | 414 ++++---- crypto/desrfb.c | 594 +++++------ default-configs/virtio.mak | 4 +- exec.c | 47 +- hw/alpha/dp264.c | 4 +- hw/arm/armv7m.c | 3 +- hw/arm/boot.c | 2 +- hw/core/generic-loader.c | 2 +- hw/core/loader.c | 35 +- hw/cris/boot.c | 3 +- hw/hppa/machine.c | 6 +- hw/i386/multiboot.c | 2 +- hw/i386/pc.c | 189 +++- hw/lm32/lm32_boards.c | 6 +- hw/lm32/milkymist.c | 3 +- hw/m68k/an5206.c | 2 +- hw/m68k/mcf5208.c | 2 +- hw/microblaze/boot.c | 7 +- hw/mips/mips_fulong2e.c | 5 +- hw/mips/mips_malta.c | 5 +- hw/mips/mips_mipssim.c | 5 +- hw/mips/mips_r4k.c | 5 +- hw/moxie/moxiesim.c | 2 +- hw/net/Makefile.objs | 4 +- hw/net/vhost_net-stub.c | 92 ++ hw/net/vhost_net.c | 85 +- hw/nios2/boot.c | 7 +- hw/openrisc/openrisc_sim.c | 2 +- hw/pci-host/prep.c | 2 +- hw/ppc/e500.c | 3 +- hw/ppc/mac_newworld.c | 5 +- hw/ppc/mac_oldworld.c | 5 +- hw/ppc/ppc440_bamboo.c | 2 +- hw/ppc/sam460ex.c | 3 +- hw/ppc/spapr.c | 7 +- hw/ppc/virtex_ml507.c | 2 +- hw/riscv/sifive_e.c | 2 +- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 2 +- hw/riscv/virt.c | 2 +- hw/s390x/ipl.c | 9 +- hw/sparc/leon3.c | 3 +- hw/sparc/sun4m.c | 6 +- hw/sparc64/sun4u.c | 4 +- hw/tricore/tricore_testboard.c | 2 +- hw/virtio/Makefile.objs | 8 +- hw/virtio/vhost-backend.c | 12 +- hw/virtio/vhost-user.c | 13 +- hw/virtio/vhost.c | 2 +- hw/xtensa/sim.c | 12 +- hw/xtensa/xtfpga.c | 2 +- include/elf.h | 10 + include/exec/cpu-all.h | 2 +- include/exec/cpu-common.h | 8 +- include/exec/memory.h | 22 +- include/exec/poison.h | 1 - include/hw/elf_ops.h | 77 ++ include/hw/loader.h | 9 +- include/hw/xen/start_info.h | 146 +++ include/standard-headers/asm-x86/bootparam.h | 34 + include/standard-headers/drm/drm_fourcc.h | 63 ++ include/standard-headers/linux/ethtool.h | 19 +- include/standard-headers/linux/input-event-codes.h | 17 + include/standard-headers/linux/pci_regs.h | 1 + include/standard-headers/linux/vhost_types.h | 128 +++ include/standard-headers/linux/virtio_balloon.h | 8 + include/standard-headers/linux/virtio_blk.h | 54 + include/standard-headers/linux/virtio_config.h | 3 + include/standard-headers/linux/virtio_gpu.h | 18 + include/standard-headers/linux/virtio_ring.h | 52 + linux-headers/asm-arm/unistd-common.h | 1 + linux-headers/asm-arm64/unistd.h | 1 + linux-headers/asm-generic/unistd.h | 10 +- linux-headers/asm-mips/sgidefs.h | 8 - linux-headers/asm-mips/unistd.h | 1074 +------------------- linux-headers/asm-mips/unistd_n32.h | 338 ++++++ linux-headers/asm-mips/unistd_n64.h | 334 ++++++ linux-headers/asm-mips/unistd_o32.h | 374 +++++++ linux-headers/asm-powerpc/unistd.h | 389 +------ linux-headers/asm-powerpc/unistd_32.h | 381 +++++++ linux-headers/asm-powerpc/unistd_64.h | 372 +++++++ linux-headers/linux/kvm.h | 29 + linux-headers/linux/vfio.h | 92 ++ linux-headers/linux/vhost.h | 113 +- linux-headers/linux/vhost_types.h | 1 + monitor.c | 5 +- net/Makefile.objs | 4 +- net/net.c | 2 +- net/vhost-user-stub.c | 23 + net/vhost-user.c | 13 + pc-bios/optionrom/Makefile | 5 +- pc-bios/optionrom/linuxboot_dma.c | 114 +-- pc-bios/optionrom/optrom.h | 110 ++ pc-bios/optionrom/optrom_fw_cfg.h | 92 ++ pc-bios/optionrom/pvh.S | 200 ++++ pc-bios/optionrom/pvh_main.c | 133 +++ pc-bios/pvh.bin | Bin 0 -> 1536 bytes scripts/tap-driver.pl | 1 + scripts/tap-merge.pl | 1 + scripts/update-linux-headers.sh | 17 + target/i386/cpu.c | 13 +- target/i386/cpu.h | 1 - target/i386/hvf/x86_cpuid.c | 18 +- tests/Makefile.include | 9 +- tests/docker/dockerfiles/centos7.docker | 5 +- tests/hexloader-test.c | 2 +- tests/vhost-user-test.c | 248 +++-- ui/vnc-enc-hextile-template.h | 268 ++--- ui/vnc-enc-zywrle.h | 394 +++---- 122 files changed, 4770 insertions(+), 3002 deletions(-) create mode 100644 hw/net/vhost_net-stub.c create mode 100644 include/hw/xen/start_info.h create mode 100644 include/standard-headers/asm-x86/bootparam.h create mode 100644 include/standard-headers/linux/vhost_types.h create mode 100644 linux-headers/asm-mips/unistd_n32.h create mode 100644 linux-headers/asm-mips/unistd_n64.h create mode 100644 linux-headers/asm-mips/unistd_o32.h create mode 100644 linux-headers/asm-powerpc/unistd_32.h create mode 100644 linux-headers/asm-powerpc/unistd_64.h create mode 100644 linux-headers/linux/vhost_types.h create mode 100644 net/vhost-user-stub.c create mode 100644 pc-bios/optionrom/optrom.h create mode 100644 pc-bios/optionrom/optrom_fw_cfg.h create mode 100644 pc-bios/optionrom/pvh.S create mode 100644 pc-bios/optionrom/pvh_main.c create mode 100644 pc-bios/pvh.bin