qemu-e2k/target/s390x
Collin Walling c35aff184b s390: kvm: adjust diag318 resets to retain data
The CPNC portion of the diag318 data is erroneously reset during an
initial CPU reset caused by SIGP. Let's go ahead and relocate the
diag318_info field within the CPUS390XState struct such that it is
only zeroed during a clear reset. This way, the CPNC will be retained
for each VCPU in the configuration after the diag318 instruction
has been invoked.

The s390_machine_reset code already takes care of zeroing the diag318
data on VM resets, which also cover resets caused by diag308.

Fixes: fabdada935 ("s390: guest support for diagnose 0x318")
Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Message-Id: <20211117152303.627969-1-walling@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-12-17 09:12:37 +01:00
..
kvm s390: kvm: adjust diag318 resets to retain data 2021-12-17 09:12:37 +01:00
tcg target/s390x: Implement s390x_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
arch_dump.c target/s390x: rename internal.h to s390x-internal.h 2021-07-07 14:01:56 +02:00
cpu_features_def.h
cpu_features_def.h.inc s390x/cpumodel: add 3931 and 3932 2021-07-07 13:57:25 +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 target/s390x: split sysemu part of cpu models 2021-07-07 14:01:59 +02:00
cpu_models_user.c target/s390x: split sysemu part of cpu models 2021-07-07 14:01:59 +02:00
cpu_models.c monitor: Trim some trailing space from human-readable output 2021-10-31 21:05:40 +01:00
cpu_models.h
cpu-dump.c target/s390x: split cpu-dump from helper.c 2021-07-07 14:01:58 +02:00
cpu-param.h
cpu-qom.h
cpu-sysemu.c arch_init.h: Don't include arch_init.h unnecessarily 2021-08-26 17:02:00 +01:00
cpu.c target/s390x: Implement s390x_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
cpu.h s390: kvm: adjust diag318 resets to retain data 2021-12-17 09:12:37 +01: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 s390x/cpumodel: Add more feature to gen16 default model 2021-09-07 13:36:43 +02:00
helper.c target/s390x: make helper.c sysemu-only 2021-07-07 14:01:59 +02:00
helper.h s390x/tcg: check for addressing exceptions for RRBE, SSKE and ISKE 2021-09-06 16:24:05 +02:00
interrupt.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
ioinst.c s390x/ioinst: Fix wrong MSCH alignment check on little endian 2021-09-06 16:23:22 +02: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: Implement s390x_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
sigp.c s390x: sigp: Force Set Architecture to return Invalid Parameter 2021-10-13 16:20:55 +02:00
trace-events target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
trace.h