From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZCVAr-0001HD-11 for qemu-devel@nongnu.org; Tue, 07 Jul 2015 11:52:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZCVAp-0005Dl-AC for qemu-devel@nongnu.org; Tue, 07 Jul 2015 11:52:44 -0400 Received: from cantor2.suse.de ([195.135.220.15]:44694 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZCVAp-0005DL-46 for qemu-devel@nongnu.org; Tue, 07 Jul 2015 11:52:43 -0400 From: Alexander Graf Date: Tue, 7 Jul 2015 17:52:38 +0200 Message-Id: <1436284361-5745-2-git-send-email-agraf@suse.de> In-Reply-To: <1436284361-5745-1-git-send-email-agraf@suse.de> References: <1436284361-5745-1-git-send-email-agraf@suse.de> Subject: [Qemu-devel] [PULL 1/4] target-s390x: fix MOVE LONG instruction List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Aurelien Jarno From: Aurelien Jarno 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 Reviewed-by: Richard Henderson Signed-off-by: Alexander Graf --- 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