mirror_qemu/target/s390x
Richard Henderson 8b94ec53f3 target/s390x: Move trans_exc_code update to do_program_interrupt
This solves a problem in which the store to LowCore during tlb_fill
triggers a clean-page TB invalidation for page0 during translation,
which results in an assertion failure for locked pages.

By delaying the store until after the exception has been raised,
we will have unwound the pages locked for translation and the
problem does not arise.  There are plenty of other updates to
LowCore while delivering an interrupt/exception; trans_exc_code
does not need to be special.

Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-07-31 12:19:13 -07:00
..
kvm hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
tcg target/s390x: Move trans_exc_code update to do_program_interrupt 2023-07-31 12:19:13 -07:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +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-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
cpu_features.c s390x: spelling fixes 2023-07-25 17:13:45 +03:00
cpu_features.h s390x: pv: Fix diag318 PV fencing 2020-10-22 15:47:27 +02: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_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_models_sysemu.c qapi machine: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
cpu_models_user.c target/s390x: split sysemu part of cpu models 2021-07-07 14:01: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 target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
ioinst.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
machine.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
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 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