mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
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>
This commit is contained in:
@@ -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%"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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.
|
||||
|
||||
@@ -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));
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user