qemu/target/s390x
Ilya Leoshkevich 154760b6db target/s390x: Fix LAALG not updating cc_src
LAALG uses op_laa() and wout_addu64(). The latter expects cc_src to be
set, but the former does not do it. This can lead to assertion failures
if something sets cc_src to neither 0 nor 1 before.

Fix by introducing op_laa_addu64(), which sets cc_src, and using it for
LAALG.

Fixes: 4dba4d6fef ("target/s390x: Use atomic operations for LOAD AND OP")
Cc: qemu-stable@nongnu.org
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20231106093605.1349201-4-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit bea402482a)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-11-19 21:15:23 +03:00
..
kvm kvm: Introduce kvm_arch_get_default_type hook 2023-09-11 10:53:50 +03:00
tcg target/s390x: Fix LAALG not updating cc_src 2023-11-19 21:15:23 +03:00
arch_dump.c target/s390x/arch_dump: Fix memory corruption in s390x_write_elf64_notes() 2023-03-30 12:19:04 +03:00
cpu_features_def.h meson: rename .inc.h files to .h.inc 2020-08-21 06:18:35 -04:00
cpu_features_def.h.inc s390x/cpumodel: add stfl197 processor-activity-instrumentation extension 1 2022-08-25 21:59:04 +02:00
cpu_features.c s390x: pv: Fence additional unavailable SCLP facilities for PV guests 2020-12-21 18:11:32 +01:00
cpu_features.h s390x: pv: Fix diag318 PV fencing 2020-10-22 15:47:27 +02:00
cpu_models_sysemu.c Don't include sysemu/tcg.h if it is not necessary 2022-04-20 12:12:47 -07:00
cpu_models_user.c target/s390x: split sysemu part of cpu models 2021-07-07 14:01:59 +02:00
cpu_models.c s390x/tcg: Fix CPU address returned by STIDP 2023-06-07 12:04:45 +03:00
cpu_models.h s390x/tcg: Fix CPU address returned by STIDP 2023-06-07 12:04:45 +03:00
cpu-dump.c target/s390x: Fix shifting 32-bit values for more than 31 bits 2022-01-17 08:36:33 +01:00
cpu-param.h Normalize header guard symbol definition 2022-05-11 16:50:26 +02:00
cpu-qom.h target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro 2022-03-06 22:23:09 +01:00
cpu-sysemu.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
cpu.c target/s390x: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
cpu.h target/s390x: Fix EXECUTE of relative long instructions 2023-03-30 12:19:04 +03:00
diag.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
gdbstub.c target/s390x: rename internal.h to s390x-internal.h 2021-07-07 14:01:56 +02:00
gen-features.c target/s390x: support PRNO_TRNG instruction 2022-09-26 17:23:11 +02:00
helper.c Don't include sysemu/tcg.h if it is not necessary 2022-04-20 12:12:47 -07:00
helper.h target/s390x: vxeh2: Update for changes to vector shifts 2022-05-04 08:47:19 +02:00
interrupt.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
ioinst.c s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +02:00
machine.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
meson.build target/s390x: split sysemu part of cpu models 2021-07-07 14:01:59 +02:00
mmu_helper.c hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
s390x-internal.h target/s390x: Fix float_comp_to_cc() prototype 2023-04-10 11:17:57 +03:00
sigp.c s390x: sigp: Reorder the SIGP STOP code 2022-01-18 15:00:57 +01:00
trace-events target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00