[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 1/4] target-s390x: fix MOVE LONG instruction
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PULL 1/4] target-s390x: fix MOVE LONG instruction |
Date: |
Tue, 7 Jul 2015 17:52:38 +0200 |
From: Aurelien Jarno <address@hidden>
The MOVE LONG instruction should pad the destination operand with the
byte from bit positions 32-39 of the source length (r2 + 1), not with
the same byte in the source address.
Signed-off-by: Aurelien Jarno <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
target-s390x/mem_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target-s390x/mem_helper.c b/target-s390x/mem_helper.c
index 3ccbeb9..9f0eb1e 100644
--- a/target-s390x/mem_helper.c
+++ b/target-s390x/mem_helper.c
@@ -550,7 +550,7 @@ uint32_t HELPER(mvcl)(CPUS390XState *env, uint32_t r1,
uint32_t r2)
uint64_t dest = get_address_31fix(env, r1);
uint64_t srclen = env->regs[r2 + 1] & 0xffffff;
uint64_t src = get_address_31fix(env, r2);
- uint8_t pad = src >> 24;
+ uint8_t pad = env->regs[r2 + 1] >> 24;
uint8_t v;
uint32_t cc;
--
1.7.12.4
- [Qemu-devel] [PULL 0/4] s390 patch queue 2015-07-07, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 1/4] target-s390x: fix MOVE LONG instruction,
Alexander Graf <=
- [Qemu-devel] [PULL 2/4] target-s390x: fix EXECUTE instruction executing TRT, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 3/4] target-s390x: fix CONVERT TO BINARY (CVD, CVDY), Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 4/4] tcg/s390: fix branch target change during code retranslation, Alexander Graf, 2015/07/07
- Re: [Qemu-devel] [PULL 0/4] s390 patch queue 2015-07-07, Peter Maydell, 2015/07/08