qemu/include/hw/s390x
David Hildenbrand a30fb811cb s390x: refactor reset/reipl handling
Calling pause_all_vcpus()/resume_all_vcpus() from a VCPU thread might
not be the best idea. As pause_all_vcpus() temporarily drops the qemu
mutex, two parallel calls to pause_all_vcpus() can be active at a time,
resulting in a deadlock. (either by two VCPUs or by the main thread and a
VCPU)

Let's handle it via the main loop instead, as suggested by Paolo. If we
would have two parallel reset requests by two different VCPUs at the
same time, the last one would win.

We use the existing ipl device to handle it. The nice side effect is
that we can get rid of reipl_requested.

This change implies that all reset handling now goes via the common
path, so "no-reboot" handling is now active for all kinds of reboots.

Let's execute any CPU initialization code on the target CPU using
run_on_cpu.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20180424101859.10239-1-david@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-05-14 17:10:02 +02:00
..
3270-ccw.h s390x/3270: IDA support for 3270 via CcwDataStream 2017-10-06 10:53:02 +02:00
adapter.h s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
css-bridge.h s390x/css: realize css_create_sch 2017-05-19 12:29:01 +02:00
css.h s390x/css: unrestrict cssids 2017-12-14 17:56:54 +01:00
ebcdic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
event-facility.h hw/s390x: Allow to configure the consoles with the "-serial" parameter 2018-04-30 10:48:29 +02:00
ioinst.h s390x/css: use macro for event-information pending error recover code 2017-08-30 18:23:25 +02:00
s390_flic.h s390x/flic: cache the common flic class in a central function 2018-02-09 09:37:13 +01:00
s390-ccw.h s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
s390-virtio-ccw.h s390x: refactor reset/reipl handling 2018-05-14 17:10:02 +02:00
sclp.h s390x: remove s390_get_memslot_count 2018-02-26 12:55:26 +01:00
storage-attributes.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
storage-keys.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00