aa42255b5b
- Include upstream patches targeted for the next stable release (bug fixes only) spapr-Fix-failure-path-for-attempting-to.patch target-i386-do-not-set-unsupported-VMX-s.patch target-xtensa-fix-pasto-in-pfwait.r-opco.patch tcg-i386-Fix-INDEX_op_dup2_vec.patch tcg-mips-mips-sync-encode-error.patch vhost-user-gpu-Release-memory-returned-b.patch vpc-Don-t-round-up-already-aligned-BAT-s.patch xen-block-Fix-double-qlist-remove-and-re.patch - Fix bug causing weak encryption in PAuth for ARM (CVE-2020-10702 bsc#1168681) target-arm-Fix-PAuth-sbox-functions.patch - Fix OOB in tulip NIC emulation (CVE-2020-11102 bsc#1168713 net-tulip-check-frame-size-and-r-w-data-.patch - Note that previously included patch addresses CVE-2020-1711 and bsc#1166240 iscsi-Cap-block-count-from-GET-LBA-STATU.patch - Include performance improvement (and related?) patch aio-wait-delegate-polling-of-main-AioCon.patch async-use-explicit-memory-barriers.patch - Rework previous patch at Olaf H.'s direction hw-i386-disable-smbus-migration-for-xenf.patch - Eliminate is_opensuse usage in producing seabios version string what we are doing here is just replacing the upstream string with one indicating that the openSUSE build service built it, and so just leave it as "-rebuilt.opensuse.org" - Alter algorithm used to produce "unique" symbol for coordinating qemu with the optional modules it may load. This is a reasonable relaxation for broader compatibility configure-remove-pkgversion-from-CONFIG_.patch - Tweak supported.*.txt for latest deprecations, and other fixes - Tweak update_git.sh, config.sh - One more fix is needed for: s390x Protected Virtualization support - start and control guest in secure mode (bsc#1167075 jsc#SLE-7407) s390x-s390-virtio-ccw-Fix-build-on-syste.patch OBS-URL: https://build.opensuse.org/request/show/795118 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=542
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From: lixinyu <precinct@mail.ustc.edu.cn>
|
|
Date: Sat, 11 Apr 2020 20:46:12 +0800
|
|
Subject: tcg/mips: mips sync* encode error
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Git-commit: a4e57084c16d5b0eff3651693fba04f26b30b551
|
|
|
|
OPC_SYNC_WMB, OPC_SYNC_MB, OPC_SYNC_ACQUIRE, OPC_SYNC_RELEASE and
|
|
OPC_SYNC_RMB have wrong encode. According to the mips manual,
|
|
their encode should be 'OPC_SYNC | 0x?? << 6' rather than
|
|
'OPC_SYNC | 0x?? << 5'. Wrong encode can lead illegal instruction
|
|
errors. These instructions often appear with multi-threaded
|
|
simulation.
|
|
|
|
Fixes: 6f0b99104a3 ("tcg/mips: Add support for fence")
|
|
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
|
|
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
|
|
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
|
|
Signed-off-by: lixinyu <precinct@mail.ustc.edu.cn>
|
|
Message-Id: <20200411124612.12560-1-precinct@mail.ustc.edu.cn>
|
|
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
---
|
|
tcg/mips/tcg-target.inc.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/tcg/mips/tcg-target.inc.c b/tcg/mips/tcg-target.inc.c
|
|
index 544216704526a4bd24dce51ade83..006835348fe5c5818d89b0806ba3 100644
|
|
--- a/tcg/mips/tcg-target.inc.c
|
|
+++ b/tcg/mips/tcg-target.inc.c
|
|
@@ -404,11 +404,11 @@ typedef enum {
|
|
|
|
/* MIPS r6 introduced names for weaker variants of SYNC. These are
|
|
backward compatible to previous architecture revisions. */
|
|
- OPC_SYNC_WMB = OPC_SYNC | 0x04 << 5,
|
|
- OPC_SYNC_MB = OPC_SYNC | 0x10 << 5,
|
|
- OPC_SYNC_ACQUIRE = OPC_SYNC | 0x11 << 5,
|
|
- OPC_SYNC_RELEASE = OPC_SYNC | 0x12 << 5,
|
|
- OPC_SYNC_RMB = OPC_SYNC | 0x13 << 5,
|
|
+ OPC_SYNC_WMB = OPC_SYNC | 0x04 << 6,
|
|
+ OPC_SYNC_MB = OPC_SYNC | 0x10 << 6,
|
|
+ OPC_SYNC_ACQUIRE = OPC_SYNC | 0x11 << 6,
|
|
+ OPC_SYNC_RELEASE = OPC_SYNC | 0x12 << 6,
|
|
+ OPC_SYNC_RMB = OPC_SYNC | 0x13 << 6,
|
|
|
|
/* Aliases for convenience. */
|
|
ALIAS_PADD = sizeof(void *) == 4 ? OPC_ADDU : OPC_DADDU,
|