qemu-patch-raspberry4/target-s390x
Thomas Huth f7d3e46676 s390x/kvm: Rework SIGP INITIAL CPU RESET handler
The s390_cpu_initial_reset() function had two deficiencies: First, it
used an ioctl for the destination CPU, and this ioctl could block
nearly forever, as long as the destination CPU was running in the SIE
loop. Second, it also cleared the general purpose registers - something
it should not do according to the Principles of Operations.
Since we've already got another function for the initial CPU reset in
cpu.c, we can also use that function instead. And by using run_on_cpu()
for executing this code, we make sure that the destination CPU is
correctly kicked out of kernel mode now.

Suggested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2014-02-27 09:51:26 +01:00
..
arch_dump.c s390/dump: zero out padding bytes in notes sections 2013-09-20 12:46:53 +02:00
cc_helper.c target-s390: Convert IPM 2013-01-05 12:18:42 -08:00
cpu-qom.h s390/cpu: split CPU reset into architectured functions 2013-08-30 14:16:43 +02:00
cpu.c s390x/cpu: Use ioctl to reset state in the kernel 2014-02-27 09:51:26 +01:00
cpu.h s390x/sclp: Add missing checks to SCLP handler 2014-02-27 09:51:25 +01:00
fpu_helper.c target-s390: Implement LOAD/SET FP AND SIGNAL 2013-01-05 12:18:45 -08:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
helper.c exec: Make stq_*_phys input an AddressSpace 2014-02-11 22:57:12 +10:00
helper.h target-s390x: Use mulu2 for mlgr insn 2013-02-23 17:25:29 +00:00
insn-data.def target-s390: Perform COMPARE AND SWAP inline 2013-01-05 12:18:46 -08:00
insn-format.def target-s390: Add format based disassassmbly infrastructure 2013-01-05 12:00:27 -08:00
int_helper.c s390x: use CONFIG_INT128 to detect __uint128_t 2013-04-26 11:58:14 +02:00
interrupt.c target-s390x: Clean up cpu_inject_*() signatures 2013-02-01 02:02:20 +01:00
ioinst.c s390x/ioinst: CHSC has to set a condition code 2013-12-18 14:24:11 +01:00
ioinst.h s390/ioinst: Moved the CC setting to the IO instruction handlers 2013-09-20 12:46:53 +02:00
kvm.c s390x/kvm: Rework SIGP INITIAL CPU RESET handler 2014-02-27 09:51:26 +01:00
Makefile.objs s390: Implement dump-guest-memory support for target s390x 2013-07-30 16:12:25 +02:00
mem_helper.c exec: Make stb_phys input an AddressSpace 2014-02-11 22:57:38 +10:00
misc_helper.c s390x/sclp: Add missing checks to SCLP handler 2014-02-27 09:51:25 +01:00
translate.c tcg: Move helper registration into tcg_context_init 2013-10-10 11:43:37 -07:00