s390/kvm: Provide a way to prevent reentering SIE
authorChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 17 May 2013 12:41:35 +0000 (14:41 +0200)
committerGleb Natapov <gleb@redhat.com>
Tue, 21 May 2013 08:55:23 +0000 (11:55 +0300)
commit49b99e1e0dedbd6cc93b2d2776b60fb7151ff3d7
tree204052379d35e6459207571b3e2bb1d460e2cef2
parent95d38fd0bcf1996082f5f8762e6f1c849755e0c6
s390/kvm: Provide a way to prevent reentering SIE

Lets provide functions to prevent KVM from reentering SIE and
to kick cpus out of SIE. We cannot use the common kvm_vcpu_kick code,
since we need to kick out guests in places that hold architecture
specific locks (e.g. pgste lock) which might be necessary on the
other cpus - so no waiting possible.

So lets provide a bit in a private field of the sie control block
that acts as a gate keeper, after we claimed we are in SIE.
Please note that we do not reuse prog0c, since we want to access
that bit without atomic ops.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/entry64.S
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h