s390/kvm: Fix store status for ACRS/FPRS
authorChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 25 Jan 2013 14:34:15 +0000 (15:34 +0100)
committerGleb Natapov <gleb@redhat.com>
Wed, 30 Jan 2013 10:35:51 +0000 (12:35 +0200)
commit15bc8d8457875f495c59d933b05770ba88d1eacb
tree1ea834b756406655dda62844b29b3fe8b41d4cc2
parentc45c528e899094b9049b3c900e2cf1f00aa0490c
s390/kvm: Fix store status for ACRS/FPRS

On store status we need to copy the current state of registers
into a save area. Currently we might save stale versions:
The sie state descriptor doesnt have fields for guest ACRS,FPRS,
those registers are simply stored in the host registers. The host
program must copy these away if needed. We do that in vcpu_put/load.

If we now do a store status in KVM code between vcpu_put/load, the
saved values are not up-to-date. Lets collect the ACRS/FPRS before
saving them.

This also fixes some strange problems with hotplug and virtio-ccw,
since the low level machine check handler (on hotplug a machine check
will happen) will revalidate all registers with the content of the
save area.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
CC: stable@vger.kernel.org
Signed-off-by: Gleb Natapov <gleb@redhat.com>
arch/s390/kvm/kvm-s390.c