KVM: s390: fix delivery of vector regs during machine checks
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Wed, 14 Oct 2015 14:57:56 +0000 (16:57 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 8 Sep 2016 07:07:52 +0000 (09:07 +0200)
commitff5dc1492a11a6c90955ab34063be1cddc54ec00
tree7b031c77c4d1afd1e8d490cae4fbfdc80408d450
parent0319dae6770fe3727c2d2cd03ca2c5d1b67f31b9
KVM: s390: fix delivery of vector regs during machine checks

Vector registers are only to be stored if the facility is available
and if the guest has set up the machine check extended save area.

If anything goes wrong while writing the vector registers, the vector
registers are to be marked as invalid. Please note that we are allowed
to write the registers although they are marked as invalid.

Machine checks and "store status" SIGP orders are two different concepts,
let's correctly separate these. As the SIGP part is completely handled in
user space, we can drop it.

This patch is based on a patch from Cornelia Huck.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h