qemu: bump to version 4.0.0
authorYousong Zhou <redacted>
Mon, 29 Apr 2019 06:06:25 +0000 (06:06 +0000)
committerYousong Zhou <redacted>
Tue, 30 Apr 2019 12:46:45 +0000 (12:46 +0000)
Group configure options by the functionality category they roughly
belong to

Signed-off-by: Yousong Zhou <redacted>
utils/qemu/Makefile
utils/qemu/patches/0001-configure-allow-disable-fortify_source.patch
utils/qemu/patches/0002-configure-allow-enabling-disabling-libudev-from-comm.patch
utils/qemu/patches/0003-disas-fix-compilation-failure-when-isnan-is-a-macro.patch
utils/qemu/patches/0004-pc-bios-fix-compilation-when-AS-is-actually-gcc-driv.patch

index 0dc4d5c5f829e421411347156c2acfc662e27768..da1e31b03be34ac43586fcc26900cd357f97fc37 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Copyright (C) 2016 OpenWrt.org
-# Copyright (C) 2016-2018 Yousong Zhou <yszhou4tech@gmail.com>
+# Copyright (C) 2016-2019 Yousong Zhou <yszhou4tech@gmail.com>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,10 +9,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=qemu
-PKG_VERSION:=3.1.0
-PKG_RELEASE:=2
+PKG_VERSION:=4.0.0
+PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc
+PKG_HASH:=13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469
 PKG_SOURCE_URL:=http://download.qemu.org/
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=LICENSE tcg/LICENSE
@@ -23,6 +23,7 @@ PKG_INSTALL:=1
 PKG_USE_MIPS16:=0
 
 include $(INCLUDE_DIR)/uclibc++.mk
+include $(INCLUDE_DIR)/nls.mk
 include $(INCLUDE_DIR)/package.mk
 
 
@@ -152,7 +153,7 @@ define qemu-target
     TITLE:=QEMU target $(1)
     URL:=http://www.qemu.org
     DEPENDS:= +glib2 +libpthread +zlib $(CXX_DEPENDS) $(QEMU_DEPS_IN_HOST) \
-       $(if $(filter %-softmmu,$(1)),+libncurses +libfdt +pixman +qemu-blobs)
+       $(if $(filter %-softmmu,$(1)),+libncurses +libfdt +pixman +qemu-blobs $(ICONV_DEPENDS))
   endef
 
   define Package/qemu-$(1)/description
@@ -193,27 +194,92 @@ CONFIGURE_ARGS +=                 \
        --disable-fortify-source        \
        --disable-stack-protector       \
 
-# Make a list from QEMU source code for reference
+# VHost features
+CONFIGURE_ARGS +=                      \
+       --enable-vhost-crypto           \
+       --enable-vhost-kernel           \
+       --enable-vhost-net              \
+       --enable-vhost-scsi             \
+       --enable-vhost-user             \
+       --enable-vhost-vsock            \
+
+# Image formats support
+CONFIGURE_ARGS +=                      \
+       --disable-bochs                 \
+       --disable-cloop                 \
+       --disable-dmg                   \
+       --disable-qcow1                 \
+       --disable-vdi                   \
+       --disable-vvfat                 \
+       --disable-qed                   \
+       --disable-parallels             \
+
+# system/user-mode emulation
+CONFIGURE_ARGS +=                      \
+       --disable-user                  \
+       --disable-bsd-user              \
+       --disable-linux-user            \
+       --enable-system                 \
+
+# accel
+CONFIGURE_ARGS +=                      \
+       --disable-hax                   \
+       --disable-hvf                   \
+       --disable-whpx                  \
+       --disable-xen                   \
+       --enable-kvm                    \
+       --enable-tcg                    \
+
+# UI
+CONFIGURE_ARGS +=                      \
+       --disable-cocoa                 \
+       --disable-gtk                   \
+       --disable-sdl                   \
+       --disable-sdl-image             \
+       --disable-spice                 \
+       --disable-virglrenderer         \
+       --disable-vnc                   \
+       --disable-vnc-jpeg              \
+       --disable-vnc-png               \
+       --disable-vnc-sasl              \
+       --disable-vte                   \
+       --enable-curses                 \
+       --enable-iconv                  \
+
+# Features for performance & no external dependency
+CONFIGURE_ARGS +=                      \
+       --enable-coroutine-pool         \
+       --enable-crypto-afalg           \
+       --enable-live-block-migration   \
+       --enable-membarrier             \
+       --enable-replication            \
+
+# Review configure options not explicitly specified here
 #
-#      grep -E '^\s*--disable-[^)]+\)' configure | cut -f1 -d')' | sort -u
+#      openwrt_makefile=openwrt/packages/utils/qemu/Makefile
+#      qemu_configure=qemu/configure
+#      for arg in $(grep -E '^\s*--disable-[^)]+\)' "$qemu_configure" | cut -f1 -d')'); do
+#        grep -qE "(--enable|--disable)${arg#--disable}" "$openwrt_makefile" || echo "$arg"
+#      done
 #
 CONFIGURE_ARGS +=                      \
        --audio-drv-list=''             \
        --disable-attr                  \
+       --disable-auth-pam              \
        --disable-bluez                 \
        --disable-brlapi                \
-       --disable-bsd-user              \
        --disable-bzip2                 \
        --disable-cap-ng                \
-       --disable-cocoa                 \
+       --disable-capstone              \
        --disable-curl                  \
        --disable-debug-info            \
+       --disable-debug-mutex           \
        --disable-debug-tcg             \
        --disable-docs                  \
        --disable-gcrypt                \
+       --disable-git-update            \
        --disable-glusterfs             \
        --disable-gnutls                \
-       --disable-gtk                   \
        --disable-guest-agent-msi       \
        --disable-jemalloc              \
        --disable-libiscsi              \
@@ -224,43 +290,36 @@ CONFIGURE_ARGS +=                 \
        --disable-libusb                \
        --disable-libxml2               \
        --disable-linux-aio             \
+       --disable-lzfse                 \
        --disable-lzo                   \
        --disable-modules               \
+       --disable-mpath                 \
        --disable-netmap                \
        --disable-nettle                \
        --disable-numa                  \
        --disable-opengl                \
+       --disable-pvrdma                \
        --disable-qom-cast-debug        \
        --disable-rbd                   \
        --disable-rdma                  \
-       --disable-sdl                   \
+       --disable-sanitizers            \
        --disable-seccomp               \
+       --disable-sheepdog              \
        --disable-smartcard             \
        --disable-snappy                \
        --disable-sparse                \
-       --disable-spice                 \
        --disable-strip                 \
        --disable-tcg-interpreter       \
        --disable-tcmalloc              \
        --disable-tools                 \
        --disable-tpm                   \
        --disable-usb-redir             \
-       --disable-uuid                  \
        --disable-vde                   \
-       --disable-vhdx                  \
-       --disable-virglrenderer         \
        --disable-virtfs                \
-       --disable-vnc                   \
-       --disable-vnc-jpeg              \
-       --disable-vnc-png               \
-       --disable-vnc-sasl              \
-       --disable-vte                   \
+       --disable-vxhs                  \
        --disable-werror                \
-       --disable-xen                   \
        --disable-xen-pci-passthrough   \
-       --disable-xen-pv-domain-build   \
        --disable-xfsctl                \
-       --disable-zlib-test             \
 
 CONFIGURE_ARGS += --target-list='$(foreach target,$(QEMU_TARGET_LIST),$(if $(CONFIG_PACKAGE_qemu-$(target)),$(target)))'
 CONFIGURE_ARGS += $(if $(CONFIG_PACKAGE_qemu-ga),--enable-guest-agent)
index 9759cfa57bd50c45dcae00caff4d2006280d1ced..a1fb69c707d99dc39d6294cf8003e9e5eb46831f 100644 (file)
@@ -1,4 +1,4 @@
-From 82d1bb429533dcab4278ed21afc19ee303d7d3f5 Mon Sep 17 00:00:00 2001
+From cbb0971d0d1bc32413095810e24f17eb7169810a Mon Sep 17 00:00:00 2001
 From: Yousong Zhou <yszhou4tech@gmail.com>
 Date: Sat, 24 Feb 2018 13:43:19 +0800
 Subject: [PATCH 1/4] configure: allow disable fortify_source
@@ -10,10 +10,10 @@ OpenWrt base build system decide flavor of fortify_source to use
  1 file changed, 2 insertions(+)
 
 diff --git a/configure b/configure
-index 0a3c6a72c3..d274df816c 100755
+index 1c563a7027..f4d949b35b 100755
 --- a/configure
 +++ b/configure
-@@ -1491,6 +1491,8 @@ for opt do
+@@ -1518,6 +1518,8 @@ for opt do
    ;;
    --disable-libpmem) libpmem=no
    ;;
index 4a429572123f4990f9795551cbeca7b524f30c7e..ea0183fa525447a6b41f0de94fcbbb89388f9518 100644 (file)
@@ -1,4 +1,4 @@
-From 4d7955f069922c482886e03e5cd352281dbce146 Mon Sep 17 00:00:00 2001
+From 39b07d1742475f2c60ae2c80f3f2853bb556e0b1 Mon Sep 17 00:00:00 2001
 From: Yousong Zhou <yszhou4tech@gmail.com>
 Date: Tue, 2 Apr 2019 06:31:31 +0000
 Subject: [PATCH 2/4] configure: allow enabling/disabling libudev from command
@@ -9,10 +9,10 @@ Subject: [PATCH 2/4] configure: allow enabling/disabling libudev from command
  1 file changed, 4 insertions(+)
 
 diff --git a/configure b/configure
-index d274df816c..a138faeb72 100755
+index f4d949b35b..939f54178b 100755
 --- a/configure
 +++ b/configure
-@@ -1491,6 +1491,10 @@ for opt do
+@@ -1518,6 +1518,10 @@ for opt do
    ;;
    --disable-libpmem) libpmem=no
    ;;
index ece36702184995950f39127556b967dc48cf0aea..a204f183de697ca97efcbf040e5a227130837ca8 100644 (file)
@@ -1,4 +1,4 @@
-From c480c25cf9265fe8e90c2c26d65c8a2fa174b0ea Mon Sep 17 00:00:00 2001
+From fb90eacb808c3b1719d6a5f2deefe88c82589bfb Mon Sep 17 00:00:00 2001
 From: Yousong Zhou <yszhou4tech@gmail.com>
 Date: Sat, 24 Feb 2018 13:45:25 +0800
 Subject: [PATCH 3/4] disas: fix compilation failure when isnan is a macro
index f63f015b6a627866bdea774013025e40166beedf..45e4ca51ac89986dbb284e36e493db9c8e247577 100644 (file)
@@ -1,4 +1,4 @@
-From e030d1c14119e880a52788dd04325d489cf455ae Mon Sep 17 00:00:00 2001
+From 8cff6a5f07f66103809e6bf4a26c512d70ab2841 Mon Sep 17 00:00:00 2001
 From: Yousong Zhou <yszhou4tech@gmail.com>
 Date: Sat, 24 Feb 2018 13:46:31 +0800
 Subject: [PATCH 4/4] pc-bios: fix compilation when $(AS) is actually gcc
@@ -9,7 +9,7 @@ Subject: [PATCH 4/4] pc-bios: fix compilation when $(AS) is actually gcc
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
-index a9a9e5e7eb..f88b3ee446 100644
+index e33a24da0d..ce734e8202 100644
 --- a/pc-bios/optionrom/Makefile
 +++ b/pc-bios/optionrom/Makefile
 @@ -34,7 +34,7 @@ endif
@@ -20,13 +20,13 @@ index a9a9e5e7eb..f88b3ee446 100644
 +ASFLAGS += $(Wa)-32
  QEMU_CFLAGS += $(call cc-c-option, $(QEMU_CFLAGS), $(Wa)-32)
  
- build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin
-@@ -44,7 +44,7 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin
+ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
+@@ -44,7 +44,7 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
  
  
  %.o: %.S
 -      $(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"AS","$(TARGET_DIR)$@")
 +      $(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@ -x assembler -,"AS","$(TARGET_DIR)$@")
  
%.img: %.o
-       $(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -T $(SRC_PATH)/pc-bios/optionrom/flat.lds -s -o $@ $<,"BUILD","$(TARGET_DIR)$@")
pvh.img: pvh.o pvh_main.o
+       $(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -T $(SRC_PATH)/pc-bios/optionrom/flat.lds -s -o $@ $^,"BUILD","$(TARGET_DIR)$@")
git clone https://git.99rst.org/PROJECT