diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-01-23 21:27:08 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-01-24 15:46:19 +0000 |
commit | 7f9dd77eaeaf586c88ee1b5f4f5ee0439612b964 (patch) | |
tree | b9ee9eb35858f85023ed4da0685f6fd2f71883a3 /meta/recipes-devtools/qemu | |
parent | 754d0c606ec3019d36ef92dffae79f81cc2bc1b6 (diff) | |
download | poky-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.inc | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/cross.patch | 38 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/fixedmeson.patch | 12 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/fixmips.patch | 18 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/no-pip.patch | 16 | ||||
-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 \ | |||
41 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" | 40 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" |
42 | 41 | ||
43 | 42 | ||
44 | SRC_URI[sha256sum] = "541526a764576eb494d2ff5ec46aeb253e62ea29035d1c23c0a8af4e6cd4f087" | 43 | SRC_URI[sha256sum] = "bf00d2fa12010df8b0ade93371def58e632cb32a6bfdc5f5a0ff8e6a1fb1bf32" |
45 | |||
46 | SRC_URI:append:class-target = " file://cross.patch" | ||
47 | SRC_URI:append:class-nativesdk = " file://cross.patch" | ||
48 | 44 | ||
49 | CVE_STATUS[CVE-2017-5957] = "cpe-incorrect: Applies against virglrender < 0.6.0 and not qemu itself" | 45 | CVE_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 | ||
120 | EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}" | ||
121 | EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}" | ||
122 | |||
123 | B = "${WORKDIR}/build" | 123 | B = "${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 | ||
135 | do_configure() { | 135 | do_configure() { |
136 | export PKG_CONFIG=pkg-config | ||
136 | ${S}/configure ${EXTRA_OECONF} | 137 | ${S}/configure ${EXTRA_OECONF} |
137 | } | 138 | } |
138 | do_configure[cleandirs] += "${B}" | 139 | do_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 |
178 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" | 179 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" |
179 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" | 180 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" |
180 | 181 | ||
181 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" | 182 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" |
182 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | 183 | 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 @@ | |||
1 | From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Tue, 5 Jan 2021 23:00:14 +0000 | ||
4 | Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0 | ||
5 | |||
6 | We need to be able to trigger configure's cross code but we don't want | ||
7 | to set cross_prefix as it does other things we don't want. Patch things | ||
8 | so we can do what we need in the target config case. | ||
9 | |||
10 | Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] | ||
11 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
12 | |||
13 | --- | ||
14 | configure | 4 ---- | ||
15 | 1 file changed, 4 deletions(-) | ||
16 | |||
17 | Index: 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 @@ | |||
1 | Upstream-Status: Inappropriate [workaround, would need a real fix for upstream] | 1 | Upstream-Status: Inappropriate [workaround, would need a real fix for upstream] |
2 | 2 | ||
3 | Index: qemu-8.1.0/configure | 3 | Index: 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 @@ | |||
1 | Patch to fix mips boot hangs where virtio appears broken. Patch under discussion upstream. | ||
2 | Regression is introduced by other fixes to 8.1.0 to get x86 boots working. | ||
3 | |||
4 | Upstream-Status: Pending [https://lore.kernel.org/qemu-devel/6c956b90-5a13-db96-9c02-9834a512fe6f@linaro.org/] | ||
5 | |||
6 | Index: 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. | |||
22 | Upstream-Status: Inappropriate [oe specific] | 22 | Upstream-Status: Inappropriate [oe specific] |
23 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | 23 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
24 | 24 | ||
25 | diff --git a/configure b/configure | 25 | Index: qemu-8.2.0/configure |
26 | index 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 | |||