summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2024-01-23 21:27:08 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-01-24 15:45:04 +0000
commit8917fa10b8afb1413b34a6134beea129e416f8c6 (patch)
treef2e69230e7e430e85962b5486e9fee4570a3ff01
parent14ee3e1240524e08adc1a3327dfb52dee6e64fd2 (diff)
downloadopenembedded-core-8917fa10b8afb1413b34a6134beea129e416f8c6.tar.gz
qemu: Upgrade 8.1.2 -> 8.2.0
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>
-rw-r--r--meta/conf/distro/include/tcmode-default.inc2
-rw-r--r--meta/recipes-devtools/qemu/qemu-native_8.2.0.bb (renamed from meta/recipes-devtools/qemu/qemu-native_8.1.2.bb)0
-rw-r--r--meta/recipes-devtools/qemu/qemu-system-native_8.2.0.bb (renamed from meta/recipes-devtools/qemu/qemu-system-native_8.1.2.bb)0
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc13
-rw-r--r--meta/recipes-devtools/qemu/qemu/cross.patch38
-rw-r--r--meta/recipes-devtools/qemu/qemu/fixedmeson.patch12
-rw-r--r--meta/recipes-devtools/qemu/qemu/fixmips.patch18
-rw-r--r--meta/recipes-devtools/qemu/qemu/no-pip.patch16
-rw-r--r--meta/recipes-devtools/qemu/qemu_8.2.0.bb (renamed from meta/recipes-devtools/qemu/qemu_8.1.2.bb)0
9 files changed, 22 insertions, 77 deletions
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 3720a4c5b8..a12b202e43 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -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%"
diff --git a/meta/recipes-devtools/qemu/qemu-native_8.1.2.bb b/meta/recipes-devtools/qemu/qemu-native_8.2.0.bb
index a77953529b..a77953529b 100644
--- a/meta/recipes-devtools/qemu/qemu-native_8.1.2.bb
+++ b/meta/recipes-devtools/qemu/qemu-native_8.2.0.bb
diff --git a/meta/recipes-devtools/qemu/qemu-system-native_8.1.2.bb b/meta/recipes-devtools/qemu/qemu-system-native_8.2.0.bb
index 0634b34242..0634b34242 100644
--- a/meta/recipes-devtools/qemu/qemu-system-native_8.1.2.bb
+++ b/meta/recipes-devtools/qemu/qemu-system-native_8.2.0.bb
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 4ebf17e6c0..ccb2880402 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -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
index 112eb92593..0000000000
--- a/meta/recipes-devtools/qemu/qemu/cross.patch
+++ /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
diff --git a/meta/recipes-devtools/qemu/qemu/fixedmeson.patch b/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
index 0cbaea07ca..9047f66dc3 100644
--- a/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
+++ b/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
@@ -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
index 01546d1030..0000000000
--- a/meta/recipes-devtools/qemu/qemu/fixmips.patch
+++ /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));
diff --git a/meta/recipes-devtools/qemu/qemu/no-pip.patch b/meta/recipes-devtools/qemu/qemu/no-pip.patch
index f52b4e4b83..92b2edbe9f 100644
--- a/meta/recipes-devtools/qemu/qemu/no-pip.patch
+++ b/meta/recipes-devtools/qemu/qemu/no-pip.patch
@@ -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
+
diff --git a/meta/recipes-devtools/qemu/qemu_8.1.2.bb b/meta/recipes-devtools/qemu/qemu_8.2.0.bb
index dc1352232e..dc1352232e 100644
--- a/meta/recipes-devtools/qemu/qemu_8.1.2.bb
+++ b/meta/recipes-devtools/qemu/qemu_8.2.0.bb