[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-8.2.1 26/38] target/s390x: Fix LAE setting a wrong access regist
From: |
Michael Tokarev |
Subject: |
[Stable-8.2.1 26/38] target/s390x: Fix LAE setting a wrong access register |
Date: |
Thu, 18 Jan 2024 10:52:53 +0300 |
From: Ilya Leoshkevich <iii@linux.ibm.com>
LAE should set the access register corresponding to the first operand,
instead, it always modifies access register 1.
Co-developed-by: Ido Plat <Ido.Plat@ibm.com>
Cc: qemu-stable@nongnu.org
Fixes: a1c7610a6879 ("target-s390x: implement LAY and LAEY instructions")
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20240111092328.929421-2-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit e358a25a97c71c39e3513d9b869cdb82052e50b8)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 62ab2be8b1..8df00b7df9 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -3221,6 +3221,7 @@ static DisasJumpType op_mov2e(DisasContext *s, DisasOps
*o)
{
int b2 = get_field(s, b2);
TCGv ar1 = tcg_temp_new_i64();
+ int r1 = get_field(s, r1);
o->out = o->in2;
o->in2 = NULL;
@@ -3244,7 +3245,7 @@ static DisasJumpType op_mov2e(DisasContext *s, DisasOps
*o)
break;
}
- tcg_gen_st32_i64(ar1, tcg_env, offsetof(CPUS390XState, aregs[1]));
+ tcg_gen_st32_i64(ar1, tcg_env, offsetof(CPUS390XState, aregs[r1]));
return DISAS_NEXT;
}
--
2.39.2
- [Stable-8.2.1 15/38] hw/vfio: fix iteration over global VFIODevice list, (continued)
- [Stable-8.2.1 15/38] hw/vfio: fix iteration over global VFIODevice list, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 16/38] hw/intc/arm_gicv3_cpuif: handle LPIs in in the list registers, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 17/38] tcg/ppc: Use new registers for LQ destination, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 18/38] util: fix build with musl libc on ppc64le, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 19/38] tests/acpi: allow tests/data/acpi/virt/SSDT.memhp changes, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 20/38] edk2: update to git snapshot, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 21/38] edk2: update build config, set PcdUninstallMemAttrProtocol = TRUE., Michael Tokarev, 2024/01/18
- [Stable-8.2.1 22/38] edk2: update binaries to git snapshot, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 23/38] tests/acpi: update expected data files, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 24/38] tests/acpi: disallow tests/data/acpi/virt/SSDT.memhp changes, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 26/38] target/s390x: Fix LAE setting a wrong access register,
Michael Tokarev <=
- [Stable-8.2.1 25/38] tests/qtest/virtio-ccw: Fix device presence checking, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 27/38] .gitlab-ci.d/buildtest.yml: Work around htags bug when environment is large, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 28/38] readthodocs: fully specify a build environment, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 29/38] hw/hppa/machine: Allow up to 3840 MB total memory, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 30/38] hw/hppa/machine: Disable default devices with --nodefaults option, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 32/38] target/hppa: Fix PDC address translation on PA2.0 with PSW.W=0, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 31/38] hw/pci-host/astro: Add missing astro & elroy registers for NetBSD, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 33/38] hw/hppa: Move software power button address back into PDC, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 34/38] target/hppa: Avoid accessing %gr0 when raising exception, Michael Tokarev, 2024/01/18
- [Stable-8.2.1 36/38] target/hppa: Fix IOR and ISR on unaligned access trap, Michael Tokarev, 2024/01/18