KVM: s390: Add new reset vcpu API
authorJanosch Frank <frankja@linux.ibm.com>
Fri, 31 Jan 2020 10:02:02 +0000 (05:02 -0500)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 31 Jan 2020 11:50:04 +0000 (12:50 +0100)
commit7de3f1423ff9431f3bd5023bb78d1e062314e7f0
tree580e4d6a6b9388f187a01578f53c8b2e8ebde8ed
parentcca00ebb8ad3b3a5eb6e60b1ac7e9211f66af477
KVM: s390: Add new reset vcpu API

The architecture states that we need to reset local IRQs for all CPU
resets. Because the old reset interface did not support the normal CPU
reset we never did that on a normal reset.

Let's implement an interface for the missing normal and clear resets
and reset all local IRQs, registers and control structures as stated
in the architecture.

Userspace might already reset the registers via the vcpu run struct,
but as we need the interface for the interrupt clearing part anyway,
we implement the resets fully and don't rely on userspace to reset the
rest.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Link: https://lore.kernel.org/r/20200131100205.74720-4-frankja@linux.ibm.com
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Documentation/virt/kvm/api.txt
arch/s390/kvm/kvm-s390.c
include/uapi/linux/kvm.h