summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm
diff options
context:
space:
mode:
authorChristian Borntraeger2012-06-11 16:06:57 +0200
committerMarcelo Tosatti2012-06-14 01:53:45 +0200
commit61bde82caee95426bf1ad53fefc8dc691b8ba37c (patch)
treefbca6b53225bddba6af6053879ff35c23b373aff /arch/s390/kvm
parentKVM: x86: change PT_FIRST_AVAIL_BITS_SHIFT to avoid conflict with EPT Dirty bit (diff)
downloadkernel-qcow2-linux-61bde82caee95426bf1ad53fefc8dc691b8ba37c.tar.gz
kernel-qcow2-linux-61bde82caee95426bf1ad53fefc8dc691b8ba37c.tar.xz
kernel-qcow2-linux-61bde82caee95426bf1ad53fefc8dc691b8ba37c.zip
KVM: s390: Set CPU in stopped state on initial cpu reset
The initial cpu reset sets the cpu in the stopped state. Several places check for the cpu state (e.g. sigp set prefix) and not setting the STOPPED state triggered errors with newer guest kernels after reboot. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/s390/kvm')
-rw-r--r--arch/s390/kvm/kvm-s390.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 664766d0c83c..ace93603d861 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -347,6 +347,7 @@ static void kvm_s390_vcpu_initial_reset(struct kvm_vcpu *vcpu)
vcpu->arch.guest_fpregs.fpc = 0;
asm volatile("lfpc %0" : : "Q" (vcpu->arch.guest_fpregs.fpc));
vcpu->arch.sie_block->gbea = 1;
+ atomic_set_mask(CPUSTAT_STOPPED, &vcpu->arch.sie_block->cpuflags);
}
int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)