kumquat-buildroot/package/qemu/0003-target-sh4-Mask-restore-of-env-flags-from-tb-flags.patch
Romain Naour 5a21d2f356 package/qemu: bump to version 7.2.0
Changes log:
https://wiki.qemu.org/ChangeLog/7.2

Add host-slirp dependency to provide the network backend 'user' that
was included in previous Qemu release by a submodule in Qemu sources [1].

This network backend is currently used by several defconfig that would
fail to boot with:

  "-net user: network backend 'user' is not compiled into this binary"

board/mender/x86_64/readme.txt
board/pc/readme.txt
board/pc/readme.txt
board/qemu/arm-versatile/readme.txt
board/qemu/arm-vexpress/readme.txt
board/qemu/mips32r2-malta/readme.txt
board/qemu/mips32r2el-malta/readme.txt
board/qemu/mips32r6el-malta/readme.txt
board/qemu/ppc-bamboo/readme.txt
board/qemu/ppc-e500mc/readme.txt
board/qemu/ppc-g3beige/readme.txt
board/qemu/ppc-mac99/readme.txt
board/qemu/ppc-mpc8544ds/readme.txt
board/qemu/ppc64-e5500/readme.txt
board/qemu/s390x/readme.txt
board/qemu/sh4-r2d/readme.txt
board/qemu/sh4eb-r2d/readme.txt
board/qemu/sparc-ss10/readme.txt
board/qemu/sparc64-sun4u/readme.txt
board/qemu/x86/readme.txt
board/qemu/x86_64/readme.txt

Update the slirp configure option following the slirp submodule removal
[2].

Runtime tested in gitlab:
https://gitlab.com/kubu93/buildroot/-/pipelines/725509959

Add a backport from upstream, to fix sh4 stability [3].

[1] https://wiki.qemu.org/ChangeLog/7.2#Removal_of_the_.22slirp.22_submodule_.28affects_.22-netdev_user.22.29
[2] 5890258aee
[3] https://gitlab.com/kubu93/buildroot/-/jobs/3490258272

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[yann.morin.1998@free.fr: backport fix rather than revert faulty commit]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-12-28 20:50:19 +01:00

37 lines
1.2 KiB
Diff

From bc2331635ce18ff068d2bb1e493bc546e1f786e1 Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux@roeck-us.net>
Date: Mon, 12 Dec 2022 09:03:17 -0600
Subject: [PATCH] target/sh4: Mask restore of env->flags from tb->flags
The values in env->flags are a subset of tb->flags.
Restore only the bits that belong.
Cc: qemu-stable@nongnu.org
Fixes: ab419fd8a035 ("target/sh4: Fix TB_FLAG_UNALIGN")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Message-ID: <20221212011345.GA2235238@roeck-us.net>
[rth: Reduce to only the the superh_cpu_synchronize_from_tb change]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
[yann.morin.1998@free.fr: backport from upstream]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
target/sh4/cpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c
index 951eb6b9c8..f0934b20fa 100644
--- a/target/sh4/cpu.c
+++ b/target/sh4/cpu.c
@@ -47,7 +47,7 @@ static void superh_cpu_synchronize_from_tb(CPUState *cs,
SuperHCPU *cpu = SUPERH_CPU(cs);
cpu->env.pc = tb_pc(tb);
- cpu->env.flags = tb->flags;
+ cpu->env.flags = tb->flags & TB_FLAG_ENVFLAGS_MASK;
}
static void superh_restore_state_to_opc(CPUState *cs,
--
2.25.1