projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
848a6ca
)
target/s390x: Fix LCBB overwriting the top 32 bits
author
Ilya Leoshkevich
<iii@linux.ibm.com>
Fri, 26 May 2023 18:12:37 +0000
(20:12 +0200)
committer
Thomas Huth
<thuth@redhat.com>
Mon, 5 Jun 2023 05:27:23 +0000
(07:27 +0200)
LCBB is supposed to overwrite only the bottom 32 bits, but QEMU
erroneously overwrites the entire register.
Fixes: 6d9303322ed9 ("s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY")
Cc: qemu-stable@nongnu.org
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <
20230526181240
.
1425579
-2-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
target/s390x/tcg/insn-data.h.inc
patch
|
blob
|
history
diff --git
a/target/s390x/tcg/insn-data.h.inc
b/target/s390x/tcg/insn-data.h.inc
index bcc70d99ba2608f8bd10440abc7247cbfe746fed..e41672684aa82d22189870cca5ccf12110e5efd4 100644
(file)
--- a/
target/s390x/tcg/insn-data.h.inc
+++ b/
target/s390x/tcg/insn-data.h.inc
@@
-486,7
+486,7
@@
F(0xb343, LCXBR, RRE, Z, x2h, x2l, new_P, x1_P, negf128, f128, IF_BFP)
F(0xb373, LCDFR, RRE, FPSSH, 0, f2, new, f1, negf64, 0, IF_AFP1 | IF_AFP2)
/* LOAD COUNT TO BLOCK BOUNDARY */
- C(0xe727, LCBB, RXE, V, la2, 0,
r1, 0
, lcbb, 0)
+ C(0xe727, LCBB, RXE, V, la2, 0,
new, r1_32
, lcbb, 0)
/* LOAD HALFWORD */
C(0xb927, LHR, RRE, EI, 0, r2_16s, 0, r1_32, mov2, 0)
C(0xb907, LGHR, RRE, EI, 0, r2_16s, 0, r1, mov2, 0)