]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/s390x: Fix EXECUTE of relative long instructions
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 16 Mar 2023 21:07:50 +0000 (22:07 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Thu, 30 Mar 2023 09:19:04 +0000 (12:19 +0300)
commit5d42bf6c574dcb174689fb837552c6f228db9cf3
treec3a1bbf44eaa76abd0e8cd0cc12f7e58e49293fb
parentad2f459ce03bb9cb1f3c577f5503c8861f777ba1
target/s390x: Fix EXECUTE of relative long instructions

The code uses the wrong base for relative addressing: it should use the
target instruction address and not the EXECUTE's address.

Fix by storing the target instruction address in the new CPUS390XState
member and loading it from the code generated by gen_ri2().

Reported-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20230316210751.302423-2-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit 703d03a4aaf38f285555ef5422ba5ce075416fc4)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
target/s390x/cpu.h
target/s390x/tcg/mem_helper.c
target/s390x/tcg/translate.c