Skip to contentSkip to conversation

qemu: bump to 2.12.0

PATCH New Adam Duskett 3 participants 8 messages Apr 27, 2018 – Aug 20, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 qemu: bump to 2.12.0

In addition:
- Update 0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch with new line numbers and file location.
- Remove upstream 0002-memfd-fix-configure-test.patch
- Add new options found in 2.12.0 in qemu.mk as disabled.
- Remove --with-system-pixman as it's no longer optional.

Tested with test-pkg:

./utils/test-pkg -p qemu -c configs/qemu_min_defconfig

                             br-arm-full [1/6]: OK
                  br-arm-cortex-a9-glibc [2/6]: OK
                   br-arm-cortex-m4-full [3/6]: SKIPPED
                          br-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                armv5-ctng-linux-gnueabi [6/6]: OK

6 builds, 1 skipped, 0 build failed, 0 legal-info failed

---
 ...ix-usage-of-mcontext-structure-on-ARM-uCl.patch | 10 ++--
 package/qemu/0002-memfd-fix-configure-test.patch   | 58 ----------------------
 package/qemu/qemu.hash                             |  2 +-
 package/qemu/qemu.mk                               | 13 ++++-
 4 files changed, 18 insertions(+), 65 deletions(-)
 delete mode 100644 package/qemu/0002-memfd-fix-configure-test.patch
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +6 -4
index 6d6d024d9d..2763737fe6 100644
@@ -13,15 +13,17 @@ general case of using uc_mcontext.arm_pc, which works fine with
 uClibc.
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
+[aduskett at gmail.com: Update for 2.12.0]
+Signed-off-by: Adam Duskett <[email protected]>
 ---
  user-exec.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/user-exec.c b/user-exec.c
+diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
 index 6db0758..2b3d116 100644
---- a/user-exec.c
-+++ b/user-exec.c
-@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+--- a/accel/tcg/user-exec.c
++++ b/accel/tcg/user-exec.c
+@@ -463,7 +463,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
  
  #if defined(__NetBSD__)
      pc = uc->uc_mcontext.__gregs[_REG_R15];
package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -58

58 lines not on this page · raw message

package/qemu/qemu.hash +1 -1
index 1173c1bf3d..fc0b4e87bf 100644
@@ -1,4 +1,4 @@
 # Locally computed, tarball verified with GPG signature
-sha256 fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f  qemu-2.10.2.tar.xz
+sha256 e69301f361ff65bf5dabd8a19196aeaa5613c1b5ae1678f0823bdf50e7d5c6fc  qemu-2.12.0.tar.xz
 sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100  COPYING
 sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df  COPYING.LIB
package/qemu/qemu.mk +11 -2
index f6f4a2b870..975dfba490 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-QEMU_VERSION = 2.10.2
+QEMU_VERSION = 2.12.0
 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
 QEMU_SITE = http://download.qemu.org
 QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
@@ -230,7 +230,6 @@ define QEMU_CONFIGURE_CMDS
 		./configure \
 			--prefix=/usr \
 			--cross-prefix=$(TARGET_CROSS) \
-			--with-system-pixman \
 			--audio-drv-list= \
 			--enable-kvm \
 			--enable-attr \
@@ -255,6 +254,16 @@ define QEMU_CONFIGURE_CMDS
 			--disable-strip \
 			--disable-seccomp \
 			--disable-sparse \
+			--disable-mpath \
+			--disable-sanitizers \
+			--disable-hvf \
+			--disable-whpx \
+			--disable-malloc-trim \
+			--disable-membarrier \
+			--disable-vhost-crypto \
+			--disable-libxml2 \
+			--disable-capstone \
+			--disable-git-update \
 			$(QEMU_OPTS) \
 	)
 endef
Signature · 1 line
2.14.3
#1 lore raw

PATCH 2/2 qemu: add support for python 3.6

qemu 2.12.0 now supports building against python3.
see: https://wiki.qemu.org/ChangeLog/2.12#Build_Dependencies

---
 package/qemu/qemu.mk | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
package/qemu/qemu.mk +15 -5
index 975dfba490..6a24e2848d 100644
@@ -16,7 +16,7 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB
 #-------------------------------------------------------------
 # Host-qemu
 
-HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-pixman
+HOST_QEMU_DEPENDENCIES = host-pkgconf host-zlib host-libglib2 host-pixman
 
 #       BR ARCH         qemu
 #       -------         ----
@@ -119,6 +119,16 @@ HOST_QEMU_OPTS += --enable-vde
 HOST_QEMU_DEPENDENCIES += host-vde2
 endif
 
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+HOST_QEMU_DEPENDENCIES += host-python3
+QEMU_DEPENDENCIES += host-python3
+QEMU_PYLIBVER = python$(PYTHON3_VERSION_MAJOR)
+else
+HOST_QEMU_DEPENDENCIES += host-python
+QEMU_DEPENDENCIES += host-python
+QEMU_PYLIBVER = python$(PYTHON_VERSION_MAJOR)
+endif
+
 # Override CPP, as it expects to be able to call it like it'd
 # call the compiler.
 define HOST_QEMU_CONFIGURE_CMDS
@@ -129,7 +139,7 @@ define HOST_QEMU_CONFIGURE_CMDS
 		--interp-prefix=$(STAGING_DIR) \
 		--cc="$(HOSTCC)" \
 		--host-cc="$(HOSTCC)" \
-		--python=$(HOST_DIR)/bin/python2 \
+		--python=$(HOST_DIR)/bin/$(QEMU_PYLIBVER) \
 		--extra-cflags="$(HOST_CFLAGS)" \
 		--extra-ldflags="$(HOST_LDFLAGS)" \
 		$(HOST_QEMU_OPTS)
@@ -151,7 +161,7 @@ QEMU_USER = $(HOST_DIR)/bin/qemu-$(HOST_QEMU_ARCH)
 #-------------------------------------------------------------
 # Target-qemu
 
-QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman
+QEMU_DEPENDENCIES = host-pkgconf libglib2 zlib pixman
 
 # Need the LIBS variable because librt and libm are
 # not automatically pulled. :-(
@@ -161,8 +171,8 @@ QEMU_OPTS =
 
 QEMU_VARS = \
 	LIBTOOL=$(HOST_DIR)/bin/libtool \
-	PYTHON=$(HOST_DIR)/bin/python2 \
-	PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+	PYTHON=$(HOST_DIR)/bin/$(QEMU_PYLIBVER) \
+	PYTHONPATH=$(TARGET_DIR)/usr/lib/$(QEMU_PYLIBVER)/site-packages
 
 # If we want to specify only a subset of targets, we must still enable all
 # of them, so that QEMU properly builds its list of default targets, from
Signature · 1 line
2.14.3
#2 lore raw

PATCH 2/2 qemu: add support for python 3.6

Hi Adam,

Le 27/04/2018 ? 17:40, Adam Duskett a ?crit?:

Quoted 22 lines

qemu 2.12.0 now supports building against python3.
see: https://wiki.qemu.org/ChangeLog/2.12#Build_Dependencies

---
 package/qemu/qemu.mk | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
package/qemu/qemu.mk +1 -1
index 975dfba490..6a24e2848d 100644
@@ -16,7 +16,7 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB
 #-------------------------------------------------------------
 # Host-qemu
 
-HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-pixman
+HOST_QEMU_DEPENDENCIES = host-pkgconf host-zlib host-libglib2 host-pixman
 
 #       BR ARCH         qemu
 #       -------         ----

package/qemu/qemu.mk HOST_QEMU_OPTS += --enable-vde · line 128

Quoted 10 lines
package/qemu/qemu.mk +7 -0
@@ -119,6 +119,16 @@ HOST_QEMU_OPTS += --enable-vde
 HOST_QEMU_DEPENDENCIES += host-vde2
 endif
 
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+HOST_QEMU_DEPENDENCIES += host-python3
+QEMU_DEPENDENCIES += host-python3
+QEMU_PYLIBVER = python$(PYTHON3_VERSION_MAJOR)
+else
+HOST_QEMU_DEPENDENCIES += host-python
+QEMU_DEPENDENCIES += host-python

This doesn't work since you're using QEMU_DEPENDENCIES bellow $(eval $(generic-package)).

host-python is missing from qemu (target) dependencies.

I had a build issue with make qemu.

Best regards,
Romain

Quoted 36 lines
package/qemu/qemu.mk +7 -4
+QEMU_PYLIBVER = python$(PYTHON_VERSION_MAJOR)
+endif
+
 # Override CPP, as it expects to be able to call it like it'd
 # call the compiler.
 define HOST_QEMU_CONFIGURE_CMDS
@@ -129,7 +139,7 @@ define HOST_QEMU_CONFIGURE_CMDS
 		--interp-prefix=$(STAGING_DIR) \
 		--cc="$(HOSTCC)" \
 		--host-cc="$(HOSTCC)" \
-		--python=$(HOST_DIR)/bin/python2 \
+		--python=$(HOST_DIR)/bin/$(QEMU_PYLIBVER) \
 		--extra-cflags="$(HOST_CFLAGS)" \
 		--extra-ldflags="$(HOST_LDFLAGS)" \
 		$(HOST_QEMU_OPTS)
@@ -151,7 +161,7 @@ QEMU_USER = $(HOST_DIR)/bin/qemu-$(HOST_QEMU_ARCH)
 #-------------------------------------------------------------
 # Target-qemu
 
-QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman
+QEMU_DEPENDENCIES = host-pkgconf libglib2 zlib pixman
 
 # Need the LIBS variable because librt and libm are
 # not automatically pulled. :-(
@@ -161,8 +171,8 @@ QEMU_OPTS =
 
 QEMU_VARS = \
 	LIBTOOL=$(HOST_DIR)/bin/libtool \
-	PYTHON=$(HOST_DIR)/bin/python2 \
-	PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+	PYTHON=$(HOST_DIR)/bin/$(QEMU_PYLIBVER) \
+	PYTHONPATH=$(TARGET_DIR)/usr/lib/$(QEMU_PYLIBVER)/site-packages
 
 # If we want to specify only a subset of targets, we must still enable all
 # of them, so that QEMU properly builds its list of default targets, from
#3 lore raw

PATCH 2/2 qemu: add support for python 3.6

In reply to Adam Duskett

Hello,

Quoted 7 lines · Adam Duskett

qemu 2.12.0 now supports building against python3.
see: https://wiki.qemu.org/ChangeLog/2.12#Build_Dependencies

---
 package/qemu/qemu.mk | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

You posted this patch on April 27, and got some review on May 1 from Romain, but never replied. I am marking this patch as Changes Requested. Could you send an updated version when you have some time ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH 1/2 qemu: bump to 2.12.0

In reply to Adam Duskett

Hi Adam,

Thanks for this new version.

Le 27/04/2018 ? 17:40, Adam Duskett a ?crit?:

Quoted 9 lines

In addition:
- Update 0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch with new line numbers and file location.
- Remove upstream 0002-memfd-fix-configure-test.patch
- Add new options found in 2.12.0 in qemu.mk as disabled.
- Remove --with-system-pixman as it's no longer optional.

Tested with test-pkg:

Quoted 8 lines

./utils/test-pkg -p qemu -c configs/qemu_min_defconfig

                             br-arm-full [1/6]: OK
                  br-arm-cortex-a9-glibc [2/6]: OK
                   br-arm-cortex-m4-full [3/6]: SKIPPED
                          br-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                armv5-ctng-linux-gnueabi [6/6]: OK

6 builds, 1 skipped, 0 build failed, 0 legal-info failed

Maybe you can complete the test-pkg result with a runtime test with qemu configs? see [1] for example.

Note that Qemu 2.12 has deprecated SDL support in favor of 2.0 series [2]. Maybe it's time to switch to SDL2.

Best regards,
Romain

[1]
https://git.buildroot.net/buildroot/commit/?id=477756b257c4b72e03679b9142104860e1d4dabc
[2] https://git.qemu.org/?p=qemu.git;h=e52c6ba34149b4f39c3fd60e59ee32b809db2bfa

Quoted 149 lines
---
 ...ix-usage-of-mcontext-structure-on-ARM-uCl.patch | 10 ++--
 package/qemu/0002-memfd-fix-configure-test.patch   | 58 ----------------------
 package/qemu/qemu.hash                             |  2 +-
 package/qemu/qemu.mk                               | 13 ++++-
 4 files changed, 18 insertions(+), 65 deletions(-)
 delete mode 100644 package/qemu/0002-memfd-fix-configure-test.patch
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +6 -4
index 6d6d024d9d..2763737fe6 100644
@@ -13,15 +13,17 @@ general case of using uc_mcontext.arm_pc, which works fine with
 uClibc.
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
+[aduskett at gmail.com: Update for 2.12.0]
+Signed-off-by: Adam Duskett <[email protected]>
 ---
  user-exec.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/user-exec.c b/user-exec.c
+diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
 index 6db0758..2b3d116 100644
---- a/user-exec.c
-+++ b/user-exec.c
-@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+--- a/accel/tcg/user-exec.c
++++ b/accel/tcg/user-exec.c
+@@ -463,7 +463,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
 
  #if defined(__NetBSD__)
      pc = uc->uc_mcontext.__gregs[_REG_R15];
package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -58
deleted file mode 100644
index 3e06c0e932..0000000000
@@ -1,58 +0,0 @@
-From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <[email protected]>
-Date: Tue, 28 Nov 2017 11:51:27 +0100
-Subject: [PATCH] memfd: fix configure test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Recent glibc added memfd_create in sys/mman.h.  This conflicts with
-the definition in util/memfd.c:
-
-    /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration
-
-Fix the configure test, and remove the sys/memfd.h inclusion since the
-file actually does not exist---it is a typo in the memfd_create(2) man
-page.
-
-Cc: Marc-Andr? Lureau <[email protected]>
-Signed-off-by: Paolo Bonzini <[email protected]>
-Signed-off-by: Baruch Siach <[email protected]>
----
-Upstream status: commit 75e5b70e6b5
-
- configure    | 2 +-
- util/memfd.c | 4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index 9c8aa5a98bd4..99ccc1725ace 100755
---- a/configure
-+++ b/configure
-@@ -3923,7 +3923,7 @@ fi
- # check if memfd is supported
- memfd=no
- cat > $TMPC << EOF
--#include <sys/memfd.h>
-+#include <sys/mman.h>
- 
- int main(void)
- {
-diff --git a/util/memfd.c b/util/memfd.c
-index 4571d1aba866..412e94a405fc 100644
---- a/util/memfd.c
-+++ b/util/memfd.c
-@@ -31,9 +31,7 @@
- 
- #include "qemu/memfd.h"
- 
--#ifdef CONFIG_MEMFD
--#include <sys/memfd.h>
--#elif defined CONFIG_LINUX
-+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
- #include <sys/syscall.h>
- #include <asm/unistd.h>
- 
--- 
-2.16.2
-
package/qemu/qemu.hash +1 -1
index 1173c1bf3d..fc0b4e87bf 100644
@@ -1,4 +1,4 @@
 # Locally computed, tarball verified with GPG signature
-sha256 fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f  qemu-2.10.2.tar.xz
+sha256 e69301f361ff65bf5dabd8a19196aeaa5613c1b5ae1678f0823bdf50e7d5c6fc  qemu-2.12.0.tar.xz
 sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100  COPYING
 sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df  COPYING.LIB
package/qemu/qemu.mk +11 -2
index f6f4a2b870..975dfba490 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-QEMU_VERSION = 2.10.2
+QEMU_VERSION = 2.12.0
 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
 QEMU_SITE = http://download.qemu.org
 QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
@@ -230,7 +230,6 @@ define QEMU_CONFIGURE_CMDS
 		./configure \
 			--prefix=/usr \
 			--cross-prefix=$(TARGET_CROSS) \
-			--with-system-pixman \
 			--audio-drv-list= \
 			--enable-kvm \
 			--enable-attr \
@@ -255,6 +254,16 @@ define QEMU_CONFIGURE_CMDS
 			--disable-strip \
 			--disable-seccomp \
 			--disable-sparse \
+			--disable-mpath \
+			--disable-sanitizers \
+			--disable-hvf \
+			--disable-whpx \
+			--disable-malloc-trim \
+			--disable-membarrier \
+			--disable-vhost-crypto \
+			--disable-libxml2 \
+			--disable-capstone \
+			--disable-git-update \
 			$(QEMU_OPTS) \
 	)
 endef
#5 lore raw

PATCH 1/2 qemu: bump to 2.12.0

Hey Romain;

Quoted 7 lines · Romain Naour

Hi Adam,

Thanks for this new version.

Le 27/04/2018 ? 17:40, Adam Duskett a ?crit :

Quoted 2 lines

In addition:
- Update

0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch

Quoted 16 lines
Quoted 7 lines

with new line numbers and file location.
- Remove upstream 0002-memfd-fix-configure-test.patch
- Add new options found in 2.12.0 in qemu.mk as disabled.
- Remove --with-system-pixman as it's no longer optional.

Tested with test-pkg:

Quoted 8 lines

./utils/test-pkg -p qemu -c configs/qemu_min_defconfig

                             br-arm-full [1/6]: OK
                  br-arm-cortex-a9-glibc [2/6]: OK
                   br-arm-cortex-m4-full [3/6]: SKIPPED
                          br-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                armv5-ctng-linux-gnueabi [6/6]: OK

6 builds, 1 skipped, 0 build failed, 0 legal-info failed

Quoted 8 lines

Maybe you can complete the test-pkg result with a runtime test with qemu configs? see [1] for example.

Note that Qemu 2.12 has deprecated SDL support in favor of 2.0 series [2]. Maybe it's time to switch to SDL2.

Best regards,
Romain

While it's true that it deprecated support for SDL in favor of 2.0, I would disagree with removing
SDL support AND updating in a single patch. Also, even though it's deprecated, it still works.

Thanks!
Adam

Quoted 1 line

[1]

https://git.buildroot.net/buildroot/commit/?id=477756b257c4b72e03679b9142104860e1d4dabc

Quoted 1 line

[2]

https://git.qemu.org/?p=qemu.git;h=e52c6ba34149b4f39c3fd60e59ee32b809db2bfa

Quoted 5 lines
Quoted 5 lines
---
 ...ix-usage-of-mcontext-structure-on-ARM-uCl.patch | 10 ++--
 package/qemu/0002-memfd-fix-configure-test.patch   | 58

----------------------

Quoted 6 lines
Quoted 6 lines
 package/qemu/qemu.hash                             |  2 +-
 package/qemu/qemu.mk                               | 13 ++++-
 4 files changed, 18 insertions(+), 65 deletions(-)
 delete mode 100644 package/qemu/0002-memfd-fix-configure-test.patch

diff --git

a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch

Quoted 2 lines
Quoted 2 lines

index 6d6d024d9d..2763737fe6 100644
---

a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch

Quoted 1 line
Quoted 1 line

+++

b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch

Quoted 1 line

Review general case of using uc_mcontext.arm_pc, which

Quoted 1 line
(quoted diff) +0 -0
@@ -13,15 +13,17 @@ general case of using uc_mcontext.arm_pc, which

works fine with

Quoted 9 lines
Quoted 9 lines
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +2 -0
 uClibc.
 
 Signed-off-by: Thomas Petazzoni <[email protected]>
+[aduskett at gmail.com: Update for 2.12.0]
+Signed-off-by: Adam Duskett <[email protected]>
 ---
  user-exec.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
Quoted 6 lines

package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch general case of using uc_mcontext.arm_pc, which works fine with

Quoted 6 lines
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +1 -4
-diff --git a/user-exec.c b/user-exec.c
+diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
 index 6db0758..2b3d116 100644
---- a/user-exec.c
-+++ b/user-exec.c
-@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void

*pinfo,

Quoted 3 lines

package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch general case of using uc_mcontext.arm_pc, which works fine with

Quoted 3 lines
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +3 -0
+--- a/accel/tcg/user-exec.c
++++ b/accel/tcg/user-exec.c
+@@ -463,7 +463,7 @@ int cpu_signal_handler(int host_signum, void

*pinfo,

Quoted 4 lines

Review

Quoted 4 lines
package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +0 -0
  #if defined(__NetBSD__)
      pc = uc->uc_mcontext.__gregs[_REG_R15];
(quoted diff) +0 -0

b/package/qemu/0002-memfd-fix-configure-test.patch

Quoted 9 lines
Quoted 9 lines

deleted file mode 100644
index 3e06c0e932..0000000000

package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -4
@@ -1,58 +0,0 @@
-From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <[email protected]>
-Date: Tue, 28 Nov 2017 11:51:27 +0100
-Subject: [PATCH] memfd: fix configure test
Quoted 8 lines

package/qemu/0002-memfd-fix-configure-test.patch

Quoted 8 lines
package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -8
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Recent glibc added memfd_create in sys/mman.h.  This conflicts with
-the definition in util/memfd.c:
-
-    /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error:

static declaration of memfd_create follows non-static declaration

Quoted 45 lines
Quoted 45 lines
package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -45
-
-Fix the configure test, and remove the sys/memfd.h inclusion since the
-file actually does not exist---it is a typo in the memfd_create(2) man
-page.
-
-Cc: Marc-Andr? Lureau <[email protected]>
-Signed-off-by: Paolo Bonzini <[email protected]>
-Signed-off-by: Baruch Siach <[email protected]>
----
-Upstream status: commit 75e5b70e6b5
-
- configure    | 2 +-
- util/memfd.c | 4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index 9c8aa5a98bd4..99ccc1725ace 100755
---- a/configure
-+++ b/configure
-@@ -3923,7 +3923,7 @@ fi
- # check if memfd is supported
- memfd=no
- cat > $TMPC << EOF
--#include <sys/memfd.h>
-+#include <sys/mman.h>
-
- int main(void)
- {
-diff --git a/util/memfd.c b/util/memfd.c
-index 4571d1aba866..412e94a405fc 100644
---- a/util/memfd.c
-+++ b/util/memfd.c
-@@ -31,9 +31,7 @@
-
- #include "qemu/memfd.h"
-
--#ifdef CONFIG_MEMFD
--#include <sys/memfd.h>
--#elif defined CONFIG_LINUX
-+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
- #include <sys/syscall.h>
- #include <asm/unistd.h>
-
---
-2.16.2
Quoted 8 lines

package/qemu/qemu.hash line 2

Quoted 8 lines
package/qemu/0002-memfd-fix-configure-test.patch deleted +0 -1
-
package/qemu/qemu.hash +0 -1
index 1173c1bf3d..fc0b4e87bf 100644
@@ -1,4 +1,4 @@
 # Locally computed, tarball verified with GPG signature
-sha256

fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f
qemu-2.10.2.tar.xz

Quoted 1 line

package/qemu/qemu.hash line 2

Quoted 1 line
package/qemu/qemu.hash +1 -0
+sha256

e69301f361ff65bf5dabd8a19196aeaa5613c1b5ae1678f0823bdf50e7d5c6fc
qemu-2.12.0.tar.xz

Quoted 1 line

package/qemu/qemu.hash line 3

Quoted 1 line
package/qemu/qemu.hash +0 -0
 sha256

6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING

Quoted 1 line

package/qemu/qemu.hash line 4

Quoted 1 line
package/qemu/qemu.hash +0 -0
 sha256

48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df
COPYING.LIB

Quoted 7 lines

package/qemu/qemu.mk line 5

Quoted 7 lines
package/qemu/qemu.mk +0 -0
index f6f4a2b870..975dfba490 100644
@@ -4,7 +4,7 @@
 #
 

################################################################################

Quoted 6 lines

package/qemu/qemu.mk

Quoted 6 lines
package/qemu/qemu.mk +1 -1
-QEMU_VERSION = 2.10.2
+QEMU_VERSION = 2.12.0
 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
 QEMU_SITE = http://download.qemu.org
 QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause,

Others/BSD-1c

Quoted 26 lines
Quoted 26 lines
package/qemu/qemu.mk +10 -1
@@ -230,7 +230,6 @@ define QEMU_CONFIGURE_CMDS
              ./configure \
                      --prefix=/usr \
                      --cross-prefix=$(TARGET_CROSS) \
-                     --with-system-pixman \
                      --audio-drv-list= \
                      --enable-kvm \
                      --enable-attr \
@@ -255,6 +254,16 @@ define QEMU_CONFIGURE_CMDS
                      --disable-strip \
                      --disable-seccomp \
                      --disable-sparse \
+                     --disable-mpath \
+                     --disable-sanitizers \
+                     --disable-hvf \
+                     --disable-whpx \
+                     --disable-malloc-trim \
+                     --disable-membarrier \
+                     --disable-vhost-crypto \
+                     --disable-libxml2 \
+                     --disable-capstone \
+                     --disable-git-update \
                      $(QEMU_OPTS) \
      )
 endef
#6 lore raw

PATCH 1/2 qemu: bump to 2.12.0

Hi Adam,

Le 02/05/2018 ? 15:21, Adam Duskett a ?crit?:

Quoted 4 lines

Hey Romain;

On Tue, May 1, 2018 at 10:58 AM Romain Naour <[email protected]> wrote:

[...]

Quoted 11 lines
Quoted 6 lines

Note that Qemu 2.12 has deprecated SDL support in favor of 2.0 series [2]. Maybe it's time to switch to SDL2.

Best regards,
Romain

While it's true that it deprecated support for SDL in favor of 2.0, I would disagree with removing
SDL support AND updating in a single patch. Also, even though it's deprecated, it still works.

Agree, the SDL support must be updated in a followup patch if you want to do that in this series.

Best regards,
Romain

Quoted 3 lines

Thanks!
Adam

#7 lore raw

PATCH 1/2 qemu: bump to 2.12.0

In reply to Adam Duskett

Hello Adam,

Quoted 16 lines · Adam Duskett

In addition:
- Update 0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch with new line numbers and file location.
- Remove upstream 0002-memfd-fix-configure-test.patch
- Add new options found in 2.12.0 in qemu.mk as disabled.
- Remove --with-system-pixman as it's no longer optional.

Tested with test-pkg:

./utils/test-pkg -p qemu -c configs/qemu_min_defconfig

                             br-arm-full [1/6]: OK
                  br-arm-cortex-a9-glibc [2/6]: OK
                   br-arm-cortex-m4-full [3/6]: SKIPPED
                          br-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: OK
                armv5-ctng-linux-gnueabi [6/6]: OK
Quoted 3 lines

6 builds, 1 skipped, 0 build failed, 0 legal-info failed

Thanks, I've applied to next. One comment below, though.

Quoted 3 lines

+[aduskett at gmail.com: Update for 2.12.0] +Signed-off-by: Adam Duskett <[email protected]>

Once again, please stop adding your SoB and an "Update" comment when all what is happening is changing line numbers/adjusting to minor conflicts.

Thanks!

Thoams

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com