qemu-e2k/target/s390x
Ilya Leoshkevich 791b2b6a93 target/s390x: Fix the "ignored match" case in VSTRS
Currently the emulation of VSTRS recognizes partial matches in presence
of \0 in the haystack, which, according to PoP, is not correct:

    If the ZS flag is one and a zero byte was detected
    in the second operand, then there can not be a
    partial match ...

Add a check for this. While at it, fold a number of explicitly handled
special cases into the generic logic.

Cc: qemu-stable@nongnu.org
Reported-by: Claudio Fontana <cfontana@suse.de>
Closes: https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg00633.html
Fixes: 1d706f3141 ("target/s390x: vxeh2: vector string search")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230804233748.218935-3-iii@linux.ibm.com>
Tested-by: Claudio Fontana <cfontana@suse.de>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-08-23 12:06:52 +02:00
..
kvm s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
tcg target/s390x: Fix the "ignored match" case in VSTRS 2023-08-23 12:06:52 +02:00
arch_dump.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
cpu_features_def.h
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: spelling fixes 2023-07-25 17:13:45 +03:00
cpu_features.h
cpu_models_sysemu.c qapi machine: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
cpu_models_user.c
cpu_models.c s390x: spelling fixes 2023-07-25 17:13:45 +03:00
cpu_models.h s390x/tcg: Fix CPU address returned by STIDP 2023-06-05 20:48:34 +02: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 target/s390x: Remove NB_MMU_MODES define 2023-03-13 06:44:37 -07:00
cpu-qom.h target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro 2022-03-06 22:23:09 +01:00
cpu-sysemu.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
cpu.c hw/core: Use a callback for target specific query-cpus-fast information 2023-05-16 09:14:18 +02:00
cpu.h target: Widen pc/cs_base in cpu_get_tb_cpu_state 2023-06-26 17:32:59 +02:00
diag.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
gdbstub.c s390x/gdb: Split s390-virt.xml 2023-04-28 08:05:37 +02:00
gen-features.c target/s390x: support PRNO_TRNG instruction 2022-09-26 17:23:11 +02:00
helper.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
helper.h target/s390x: Fix LRA overwriting the top 32 bits on DAT error 2023-07-10 15:34:24 +02:00
interrupt.c
ioinst.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
Kconfig
machine.c
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
mmu_helper.c target/s390x: Fix LRA when DAT is off 2023-07-10 15:34:24 +02:00
s390x-internal.h target/s390x: Fix float_comp_to_cc() prototype 2023-03-24 11:46:08 +01:00
sigp.c s390x: sigp: Reorder the SIGP STOP code 2022-01-18 15:00:57 +01:00
trace-events
trace.h