KVM: s390: enable PFMFI only if guest has EDAT1
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Fri, 4 Mar 2016 10:55:56 +0000 (11:55 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 9 May 2016 11:33:02 +0000 (13:33 +0200)
Only enable PFMF interpretation if the necessary facility (EDAT1) is
available, otherwise the pfmf handler in priv.c will inject an exception

Reviewed-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@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/kvm-s390.c

index 668c087..13b3f5e 100644 (file)
@@ -1649,7 +1649,8 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)
        if (test_kvm_facility(vcpu->kvm, 50) && test_kvm_facility(vcpu->kvm, 73))
                vcpu->arch.sie_block->ecb |= 0x10;
 
-       vcpu->arch.sie_block->ecb2  = 8;
+       if (test_kvm_facility(vcpu->kvm, 8))
+               vcpu->arch.sie_block->ecb2 |= 0x08;
        vcpu->arch.sie_block->eca   = 0xC1002000U;
        if (sclp.has_siif)
                vcpu->arch.sie_block->eca |= 1;