* update qemu to 8.2.0-1

This commit is contained in:
Alexander Baldeck 2024-01-29 15:27:55 +01:00
parent 654fac8b96
commit f54d1a6848
2 changed files with 60 additions and 5 deletions

View File

@ -25,7 +25,7 @@ pkgname=(
qemu-vhost-user-gpu
qemu-{base,desktop,emulators-full,full}
)
pkgver=8.1.3
pkgver=8.2.0
pkgrel=1
pkgdesc="A generic and open source machine emulator and virtualizer"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
@ -127,23 +127,29 @@ source=(
65-kvm.rules
99-qemu-guest-agent.rules
$pkgbase-8.1.1-static_regression.patch
$pkgbase-8.2.0-virtio-gpu_redrawing.patch::https://gitlab.com/qemu-project/qemu/-/commit/9d5b42beb6978dc6219d5dc029c9d453c6b8d503.patch
$pkgbase-8.2.0-fix_tcg.patch
)
sha512sums=('d3847f1c0c0099937d08bba604713ac288b6151867a8da230297ee1d93b7e741fa406a2f7bf6645ce3293c0a98458dc9c79454746e7c2920e9a73e0574753e5a'
sha512sums=('92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c'
'SKIP'
'7b412ffa5dcda47b0a4ec9e2c5e5e1d9eaaaf0a087b7ea3ead3e706ba4c9cafb919beadd088a0299b6f7aab753b81a5eafb545b4842ee5f26646d16544dd02a7'
'6e838773d63ae0ffdffe2b891bf611d8f5f3c67a9bc4cbbedf8363c150c2c9971c8e44d92270bc581af40eb0ece02192760bcdd6aee229fff55635f3a4825afa'
'985c2c7a6b5217c87a15b45368089ee91b2f9027b070f9eafa448a18b27ae0d9edd964d52e134b9c1f4aeef4d6aae88afd3f454551ca898affef7f9d28b99b8f'
'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99'
'93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839'
'c7d086a951e9a378434ea95a843a4b01f0eb2ae430135a81365147cf6806a7ba1b49014a3aa66904970853ba84a4a28dbaded7bccb99a0bc3730572c80fb8b12')
b2sums=('365b5fa508c57f4738b73666c6f7306985b5d3fe00d1f1bd14d9277121adbd7ffda7764fbded834512e88d19f96b2c3def39bdf336396c27b26dc388c3821852'
'c7d086a951e9a378434ea95a843a4b01f0eb2ae430135a81365147cf6806a7ba1b49014a3aa66904970853ba84a4a28dbaded7bccb99a0bc3730572c80fb8b12'
'b886ad0ff467f8d0082bfdab278ab3393d88e75e326e4ee1b8cbc723a15a5d992866885a73a2c4f7d0d4479deaeb0343ee150195e5400990203228b82d38fd47'
'eb6a9c9ba7143b1ff937aeff06b07d6b4b718d92e6623743ecf7f1e50f01d259c2d8f7543f526948a14a865d4478b6dd3dfac56e17f5b27d78fda3380767615e')
b2sums=('a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3'
'SKIP'
'b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8'
'2102e4a34e11e406e9606c97e026e7b92e887e296a7f77b9cede1b37119d0df33735f3588628167b2b8e32244c196c491bfab623e2caddac9014d445aa2a6d98'
'69177b962d2fda20cafdbc6226fd017b5ca5a0f69f866d055dc1c744b7b2955059f47c693cfb5b4c863ec159569fdabd4327ab4b8a95566a68cd8ce38e339c7a'
'3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8'
'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7'
'209ec05e161d157aaa08a9fcbea45cf87aa22fe9360f9b3c477a78a274e4ecee989c16121f9e6b7765bb479c9db718c98db047c27fd426c127c4c95e28877a16')
'209ec05e161d157aaa08a9fcbea45cf87aa22fe9360f9b3c477a78a274e4ecee989c16121f9e6b7765bb479c9db718c98db047c27fd426c127c4c95e28877a16'
'ea23f8db20cbd8b0e925b9fdda84fb64914beb764d5d25cff9578fc59ba2e28a52c725f9dfa2ab0e752b80560594f66974ef17d74c4f04d48afd5bf7bd05bd26'
'5dcd51530db4253a3787d49be34988fbe2d240e50f8771123b853bf3413d26fd3a442580f89c009f15dfc48521279bd2302be1eaa329726330c0cf964e3ea6b2')
validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') # Michael Roth <flukshun@gmail.com>
_qemu_system_deps=(
@ -267,6 +273,12 @@ prepare() {
# fix crash with static binaries: https://gitlab.com/qemu-project/qemu/-/issues/1913
patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-8.1.1-static_regression.patch
# fix virtio-gpu redrawingi issues: https://gitlab.com/qemu-project/qemu/-/issues/2051
patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-8.2.0-virtio-gpu_redrawing.patch
# fix issue with TCG + EDK2: https://gitlab.com/qemu-project/qemu/-/issues/2070
patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-8.2.0-fix_tcg.patch
# extract licenses for TCG
sed -n '1,23p' $pkgbase-$pkgver/tcg/tcg-internal.h > tcg.LICENSE.MIT
sed -n '1,23p' $pkgbase-$pkgver/tcg/arm/tcg-target.c.inc > tcg-arm.LICENSE.MIT

View File

@ -0,0 +1,43 @@
With PCREL, we have a page-relative view of EIP, and an
approximation of PC = EIP+CSBASE that is good enough to
detect page crossings. If we try to recompute PC after
masking EIP, we will mess up that approximation and write
a corrupt value to EIP.
We already handled masking properly for PCREL, so the
fix in b5e0d5d2 was only needed for the !PCREL path.
Cc: qemu-stable@nongnu.org
Fixes: b5e0d5d22fbf ("target/i386: Fix 32-bit wrapping of pc/eip computation")
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/i386/tcg/translate.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 037bc47e7c..e68375b19d 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -2845,10 +2845,6 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, int diff, int tb_num)
}
}
new_eip &= mask;
- new_pc = new_eip + s->cs_base;
- if (!CODE64(s)) {
- new_pc = (uint32_t)new_pc;
- }
gen_update_cc_op(s);
set_cc_op(s, CC_OP_DYNAMIC);
@@ -2864,6 +2860,8 @@ static void gen_jmp_rel(DisasContext *s, MemOp ot, int diff, int tb_num)
tcg_gen_andi_tl(cpu_eip, cpu_eip, mask);
use_goto_tb = false;
}
+ } else if (!CODE64(s)) {
+ new_pc = (uint32_t)(new_eip + s->cs_base);
}
if (use_goto_tb && translator_use_goto_tb(&s->base, new_pc)) {
--
2.34.1