s390x: do a subsystem reset before the unprotect on reboot
commitef1535901a07f2e49fa25c8bcee7f0b73801d824
authorJanosch Frank <frankja@linux.ibm.com>
Fri, 1 Sep 2023 11:48:51 +0000 (1 11:48 +0000)
committerThomas Huth <thuth@redhat.com>
Tue, 12 Sep 2023 09:13:33 +0000 (12 11:13 +0200)
tree4f2c1be1df9db36cd0e56b652bedad2790267caf
parent297ec01f0b9864ea8209ca0ddc6643b4c0574bdb
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>
hw/s390x/s390-virtio-ccw.c