mirror_qemu/hw/s390x
Janosch Frank ef1535901a s390x: do a subsystem reset before the unprotect on reboot
Bound APQNs have to be reset before tearing down the secure config via
s390_machine_unprotect(). Otherwise the Ultravisor will return a error
code.

So let's do a subsystem_reset() which includes a AP reset before the
unprotect call. We'll do a full device_reset() afterwards which will
reset some devices twice. That's ok since we can't move the
device_reset() before the unprotect as it includes a CPU clear reset
which the Ultravisor does not expect at that point in time.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Message-ID: <20230901114851.154357-1-frankja@linux.ibm.com>
Tested-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-09-12 11:13:33 +02:00
..
3270-ccw.c s390x/css: Refactor IRB construction 2021-06-21 08:48:21 +02:00
Kconfig s390x: Fix QEMU abort by selecting S390_FLIC_KVM 2023-07-18 09:36:27 +02:00
ap-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
ap-device.c ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
ccw-device.c hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
ccw-device.h hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
css-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
css.c s390x/css: revert SCSW ctrl/flag bits on error 2022-11-06 12:27:35 +01:00
event-facility.c hw/s390x/event-facility: Replace DO_UPCAST(SCLPEvent) by SCLP_EVENT() 2023-02-14 09:11:27 +01:00
ipl.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
ipl.h s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
meson.build hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
s390-ccw.c misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
s390-pci-bus.c s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
s390-pci-inst.c s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
s390-pci-kvm.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
s390-pci-vfio.c vfio: Implement a common device info helper 2023-06-30 06:02:51 +02:00
s390-skeys-kvm.c hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled 2021-09-06 16:24:05 +02:00
s390-skeys.c hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
s390-stattrib-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
s390-stattrib.c migration: Move rate_limit_max and rate_limit_used to migration_stats 2023-05-18 18:40:51 +02:00
s390-virtio-ccw.c s390x: do a subsystem reset before the unprotect on reboot 2023-09-12 11:13:33 +02:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390/kvm_virtio/linux-headers: remove traces of old virtio transport 2017-11-24 10:52:05 +01:00
sclp.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
sclpcpu.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpquiesce.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-kvm.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
tod-tcg.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
tod.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
trace-events s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-scsi-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
vhost-user-fs-ccw.c virtio: add vhost-user-fs-ccw device 2020-09-23 13:41:58 +01:00
vhost-vsock-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-9p.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-balloon.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-blk.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-crypto.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-gpu.c modules: introduces module_kconfig directive 2022-06-06 09:26:53 +02:00
virtio-ccw-input.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-net.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-rng.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-scsi.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-serial.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
virtio-ccw.c hw/virtio: Remove unnecessary 'virtio-access.h' header 2023-06-23 02:54:44 -04:00
virtio-ccw.h virtio-ccw: do not include headers for all virtio devices 2022-04-06 14:31:56 +02:00