summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
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:46:19 +0000
commit7f9dd77eaeaf586c88ee1b5f4f5ee0439612b964 (patch)
treeb9ee9eb35858f85023ed4da0685f6fd2f71883a3 /meta/recipes-devtools/qemu
parent754d0c606ec3019d36ef92dffae79f81cc2bc1b6 (diff)
downloadpoky-7f9dd77eaeaf586c88ee1b5f4f5ee0439612b964.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. (From OE-Core rev: 8917fa10b8afb1413b34a6134beea129e416f8c6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu')
-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
8 files changed, 21 insertions, 76 deletions
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 \
32 file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ 32 file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
33 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ 33 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
34 file://fixedmeson.patch \ 34 file://fixedmeson.patch \
35 file://fixmips.patch \
36 file://0001-vfio-Include-libgen.h-for-basename-API.patch \ 35 file://0001-vfio-Include-libgen.h-for-basename-API.patch \
37 file://no-pip.patch \ 36 file://no-pip.patch \
38 file://qemu-guest-agent.init \ 37 file://qemu-guest-agent.init \
@@ -41,10 +40,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
41UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" 40UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
42 41
43 42
44SRC_URI[sha256sum] = "541526a764576eb494d2ff5ec46aeb253e62ea29035d1c23c0a8af4e6cd4f087" 43SRC_URI[sha256sum] = "bf00d2fa12010df8b0ade93371def58e632cb32a6bfdc5f5a0ff8e6a1fb1bf32"
45
46SRC_URI:append:class-target = " file://cross.patch"
47SRC_URI:append:class-nativesdk = " file://cross.patch"
48 44
49CVE_STATUS[CVE-2017-5957] = "cpe-incorrect: Applies against virglrender < 0.6.0 and not qemu itself" 45CVE_STATUS[CVE-2017-5957] = "cpe-incorrect: Applies against virglrender < 0.6.0 and not qemu itself"
50 46
@@ -117,9 +113,13 @@ EXTRA_OECONF = " \
117 --extra-ldflags='${LDFLAGS}' \ 113 --extra-ldflags='${LDFLAGS}' \
118 --disable-download \ 114 --disable-download \
119 --disable-docs \ 115 --disable-docs \
116 --host-cc=${BUILD_CC} \
120 ${PACKAGECONFIG_CONFARGS} \ 117 ${PACKAGECONFIG_CONFARGS} \
121 " 118 "
122 119
120EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}"
121EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}"
122
123B = "${WORKDIR}/build" 123B = "${WORKDIR}/build"
124 124
125#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3" 125#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3"
@@ -133,6 +133,7 @@ do_configure:prepend:class-native() {
133} 133}
134 134
135do_configure() { 135do_configure() {
136 export PKG_CONFIG=pkg-config
136 ${S}/configure ${EXTRA_OECONF} 137 ${S}/configure ${EXTRA_OECONF}
137} 138}
138do_configure[cleandirs] += "${B}" 139do_configure[cleandirs] += "${B}"
@@ -176,7 +177,7 @@ do_install:append() {
176 177
177# Disable kvm/virgl/mesa on targets that do not support it 178# Disable kvm/virgl/mesa on targets that do not support it
178PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" 179PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+"
179PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" 180PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie"
180 181
181PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" 182PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
182PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" 183PACKAGECONFIG[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 @@
1From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 5 Jan 2021 23:00:14 +0000
4Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0
5
6We need to be able to trigger configure's cross code but we don't want
7to set cross_prefix as it does other things we don't want. Patch things
8so we can do what we need in the target config case.
9
10Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?]
11Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
12
13---
14 configure | 4 ----
15 1 file changed, 4 deletions(-)
16
17Index: qemu-8.0.0/configure
18===================================================================
19--- qemu-8.0.0.orig/configure
20+++ qemu-8.0.0/configure
21@@ -2590,7 +2590,6 @@ if test "$skip_meson" = no; then
22 echo "widl = [$(meson_quote $widl)]" >> $cross
23 echo "windres = [$(meson_quote $windres)]" >> $cross
24 echo "windmc = [$(meson_quote $windmc)]" >> $cross
25- if test "$cross_compile" = "yes"; then
26 cross_arg="--cross-file config-meson.cross"
27 echo "[host_machine]" >> $cross
28 echo "system = '$targetos'" >> $cross
29@@ -2608,9 +2607,6 @@ if test "$skip_meson" = no; then
30 else
31 echo "endian = 'little'" >> $cross
32 fi
33- else
34- cross_arg="--native-file config-meson.cross"
35- fi
36 mv $cross config-meson.cross
37
38 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 @@
1Upstream-Status: Inappropriate [workaround, would need a real fix for upstream] 1Upstream-Status: Inappropriate [workaround, would need a real fix for upstream]
2 2
3Index: qemu-8.1.0/configure 3Index: qemu-8.2.0/configure
4=================================================================== 4===================================================================
5--- qemu-8.1.0.orig/configure 5--- qemu-8.2.0.orig/configure
6+++ qemu-8.1.0/configure 6+++ qemu-8.2.0/configure
7@@ -1032,12 +1032,7 @@ then 7@@ -955,12 +955,7 @@ fi
8 exit 1 8 $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
9 fi 9 ${source_path}/pythondeps.toml meson || exit 1
10 10
11-# At this point, we expect Meson to be installed and available. 11-# At this point, we expect Meson to be installed and available.
12-# We expect mkvenv or pip to have created pyvenv/bin/meson for us. 12-# 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 @@
1Patch to fix mips boot hangs where virtio appears broken. Patch under discussion upstream.
2Regression is introduced by other fixes to 8.1.0 to get x86 boots working.
3
4Upstream-Status: Pending [https://lore.kernel.org/qemu-devel/6c956b90-5a13-db96-9c02-9834a512fe6f@linaro.org/]
5
6Index: qemu-8.1.0/softmmu/physmem.c
7===================================================================
8--- qemu-8.1.0.orig/softmmu/physmem.c
9+++ qemu-8.1.0/softmmu/physmem.c
10@@ -2517,7 +2517,7 @@ static void tcg_commit(MemoryListener *l
11 * That said, the listener is also called during realize, before
12 * all of the tcg machinery for run-on is initialized: thus halt_cond.
13 */
14- if (cpu->halt_cond) {
15+ if (cpu->halt_cond && !qemu_cpu_is_self(cpu)) {
16 async_run_on_cpu(cpu, tcg_commit_cpu, RUN_ON_CPU_HOST_PTR(cpuas));
17 } else {
18 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.
22Upstream-Status: Inappropriate [oe specific] 22Upstream-Status: Inappropriate [oe specific]
23Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 23Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
24 24
25diff --git a/configure b/configure 25Index: qemu-8.2.0/configure
26index 133f4e3235..e4c144b4e2 100755 26===================================================================
27--- a/configure 27--- qemu-8.2.0.orig/configure
28+++ b/configure 28+++ qemu-8.2.0/configure
29@@ -1009,7 +1009,7 @@ python="$(command -v "$python")" 29@@ -937,7 +937,7 @@ python="$(command -v "$python")"
30 echo "python determined to be '$python'" 30 echo "python determined to be '$python'"
31 echo "python version: $($python --version)" 31 echo "python version: $($python --version)"
32 32
@@ -35,11 +35,11 @@ index 133f4e3235..e4c144b4e2 100755
35 if test "$?" -ne 0 ; then 35 if test "$?" -ne 0 ; then
36 error_exit "python venv creation failed" 36 error_exit "python venv creation failed"
37 fi 37 fi
38@@ -1017,6 +1017,7 @@ fi 38@@ -945,6 +945,7 @@ fi
39 # Suppress writing compiled files 39 # Suppress writing compiled files
40 python="$python -B" 40 python="$python -B"
41 mkvenv="$python ${source_path}/python/scripts/mkvenv.py" 41 mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
42+mkvenv=true 42+mkvenv=true
43 43
44 mkvenv_flags="" 44 # Finish preparing the virtual environment using vendored .whl files
45 if test "$download" = "enabled" ; then 45
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