]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
qemu: Upgrade 8.1.2 -> 8.2.0
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 23 Jan 2024 21:27:08 +0000 (21:27 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 24 Jan 2024 15:45:04 +0000 (15:45 +0000)
We can drop the mips workaround patch since there were fixes in 8.2.0.

The build system changed and we should drop cross.patch and replace it with
explicit settings for cross-prefix, and host-cc. To make that work we need
to indicate we don't use a cross pkg-config.

PIE isn't availale for mingw so tweak PACKAGECONFIG accordingly.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/distro/include/tcmode-default.inc
meta/recipes-devtools/qemu/qemu-native_8.2.0.bb [moved from meta/recipes-devtools/qemu/qemu-native_8.1.2.bb with 100% similarity]
meta/recipes-devtools/qemu/qemu-system-native_8.2.0.bb [moved from meta/recipes-devtools/qemu/qemu-system-native_8.1.2.bb with 100% similarity]
meta/recipes-devtools/qemu/qemu.inc
meta/recipes-devtools/qemu/qemu/cross.patch [deleted file]
meta/recipes-devtools/qemu/qemu/fixedmeson.patch
meta/recipes-devtools/qemu/qemu/fixmips.patch [deleted file]
meta/recipes-devtools/qemu/qemu/no-pip.patch
meta/recipes-devtools/qemu/qemu_8.2.0.bb [moved from meta/recipes-devtools/qemu/qemu_8.1.2.bb with 100% similarity]

index 3720a4c5b867ac6a29c29e3064e0be6994387582..a12b202e4327e5a48ed6a15a7e2b6418c5c457f9 100644 (file)
@@ -22,7 +22,7 @@ BINUVERSION ?= "2.41%"
 GDBVERSION ?= "14.%"
 GLIBCVERSION ?= "2.38%"
 LINUXLIBCVERSION ?= "6.6%"
-QEMUVERSION ?= "8.1%"
+QEMUVERSION ?= "8.2%"
 GOVERSION ?= "1.20%"
 LLVMVERSION ?= "17.%"
 RUSTVERSION ?= "1.74%"
index 4ebf17e6c00a8f31851a3f9bcb71cec8432d4dbb..ccb2880402951cf32684c4a22294ee64b7dd1d63 100644 (file)
@@ -32,7 +32,6 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
            file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
            file://fixedmeson.patch \
-           file://fixmips.patch \
            file://0001-vfio-Include-libgen.h-for-basename-API.patch \
            file://no-pip.patch \
            file://qemu-guest-agent.init \
@@ -41,10 +40,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
 
-SRC_URI[sha256sum] = "541526a764576eb494d2ff5ec46aeb253e62ea29035d1c23c0a8af4e6cd4f087"
-
-SRC_URI:append:class-target = " file://cross.patch"
-SRC_URI:append:class-nativesdk = " file://cross.patch"
+SRC_URI[sha256sum] = "bf00d2fa12010df8b0ade93371def58e632cb32a6bfdc5f5a0ff8e6a1fb1bf32"
 
 CVE_STATUS[CVE-2017-5957] = "cpe-incorrect: Applies against virglrender < 0.6.0 and not qemu itself"
 
@@ -117,9 +113,13 @@ EXTRA_OECONF = " \
     --extra-ldflags='${LDFLAGS}' \
     --disable-download \
     --disable-docs \
+    --host-cc=${BUILD_CC} \
     ${PACKAGECONFIG_CONFARGS} \
     "
 
+EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}"
+EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}"
+
 B = "${WORKDIR}/build"
 
 #EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3"
@@ -133,6 +133,7 @@ do_configure:prepend:class-native() {
 }
 
 do_configure() {
+    export PKG_CONFIG=pkg-config
     ${S}/configure ${EXTRA_OECONF}
 }
 do_configure[cleandirs] += "${B}"
@@ -176,7 +177,7 @@ do_install:append() {
 
 # Disable kvm/virgl/mesa on targets that do not support it
 PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+"
-PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+"
+PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie"
 
 PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
 PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
diff --git a/meta/recipes-devtools/qemu/qemu/cross.patch b/meta/recipes-devtools/qemu/qemu/cross.patch
deleted file mode 100644 (file)
index 112eb92..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Tue, 5 Jan 2021 23:00:14 +0000
-Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0
-
-We need to be able to trigger configure's cross code but we don't want
-to set cross_prefix as it does other things we don't want. Patch things
-so we can do what we need in the target config case.
-
-Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
----
- configure | 4 ----
- 1 file changed, 4 deletions(-)
-
-Index: qemu-8.0.0/configure
-===================================================================
---- qemu-8.0.0.orig/configure
-+++ qemu-8.0.0/configure
-@@ -2590,7 +2590,6 @@ if test "$skip_meson" = no; then
-   echo "widl = [$(meson_quote $widl)]" >> $cross
-   echo "windres = [$(meson_quote $windres)]" >> $cross
-   echo "windmc = [$(meson_quote $windmc)]" >> $cross
--  if test "$cross_compile" = "yes"; then
-     cross_arg="--cross-file config-meson.cross"
-     echo "[host_machine]" >> $cross
-     echo "system = '$targetos'" >> $cross
-@@ -2608,9 +2607,6 @@ if test "$skip_meson" = no; then
-     else
-         echo "endian = 'little'" >> $cross
-     fi
--  else
--    cross_arg="--native-file config-meson.cross"
--  fi
-   mv $cross config-meson.cross
-   rm -rf meson-private meson-info meson-logs
index 0cbaea07ca65dd9d325f06bc8962d82545852195..9047f66dc3b4505d0dbb0fabca621ff12f82a426 100644 (file)
@@ -1,12 +1,12 @@
 Upstream-Status: Inappropriate [workaround, would need a real fix for upstream]
 
-Index: qemu-8.1.0/configure
+Index: qemu-8.2.0/configure
 ===================================================================
---- qemu-8.1.0.orig/configure
-+++ qemu-8.1.0/configure
-@@ -1032,12 +1032,7 @@ then
-     exit 1
- fi
+--- qemu-8.2.0.orig/configure
++++ qemu-8.2.0/configure
+@@ -955,12 +955,7 @@ fi
+ $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
+      ${source_path}/pythondeps.toml meson || exit 1
  
 -# At this point, we expect Meson to be installed and available.
 -# We expect mkvenv or pip to have created pyvenv/bin/meson for us.
diff --git a/meta/recipes-devtools/qemu/qemu/fixmips.patch b/meta/recipes-devtools/qemu/qemu/fixmips.patch
deleted file mode 100644 (file)
index 01546d1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Patch to fix mips boot hangs where virtio appears broken. Patch under discussion upstream. 
-Regression is introduced by other fixes to 8.1.0 to get x86 boots working.
-
-Upstream-Status: Pending [https://lore.kernel.org/qemu-devel/6c956b90-5a13-db96-9c02-9834a512fe6f@linaro.org/]
-
-Index: qemu-8.1.0/softmmu/physmem.c
-===================================================================
---- qemu-8.1.0.orig/softmmu/physmem.c
-+++ qemu-8.1.0/softmmu/physmem.c
-@@ -2517,7 +2517,7 @@ static void tcg_commit(MemoryListener *l
-      * That said, the listener is also called during realize, before
-      * all of the tcg machinery for run-on is initialized: thus halt_cond.
-      */
--    if (cpu->halt_cond) {
-+    if (cpu->halt_cond && !qemu_cpu_is_self(cpu)) {
-         async_run_on_cpu(cpu, tcg_commit_cpu, RUN_ON_CPU_HOST_PTR(cpuas));
-     } else {
-         tcg_commit_cpu(cpu, RUN_ON_CPU_HOST_PTR(cpuas));
index f52b4e4b83aeffd9199f1b59fb17cdf367b15474..92b2edbe9f51c7f6385d85f6e5e503ffc7aa939f 100644 (file)
@@ -22,11 +22,11 @@ as it stands is a workaround.
 Upstream-Status: Inappropriate [oe specific]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-diff --git a/configure b/configure
-index 133f4e3235..e4c144b4e2 100755
---- a/configure
-+++ b/configure
-@@ -1009,7 +1009,7 @@ python="$(command -v "$python")"
+Index: qemu-8.2.0/configure
+===================================================================
+--- qemu-8.2.0.orig/configure
++++ qemu-8.2.0/configure
+@@ -937,7 +937,7 @@ python="$(command -v "$python")"
  echo "python determined to be '$python'"
  echo "python version: $($python --version)"
  
@@ -35,11 +35,11 @@ index 133f4e3235..e4c144b4e2 100755
  if test "$?" -ne 0 ; then
      error_exit "python venv creation failed"
  fi
-@@ -1017,6 +1017,7 @@ fi
+@@ -945,6 +945,7 @@ fi
  # Suppress writing compiled files
  python="$python -B"
  mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
 +mkvenv=true
  
- mkvenv_flags=""
- if test "$download" = "enabled" ; then
+ # Finish preparing the virtual environment using vendored .whl files