]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
KVM: s390: don't load kvm without virtualization support
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Fri, 30 Jan 2015 15:01:38 +0000 (16:01 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 30 Nov 2015 11:47:12 +0000 (12:47 +0100)
If we don't have support for virtualization (SIE), e.g. when running under
a hypervisor not supporting execution of the SIE instruction, we should
immediately abort loading the kvm module, as the SIE instruction cannot
be enabled dynamically.

Currently, the SIE instructions fails with an exception on a non-SIE
host, resulting in the guest making no progress, instead of failing hard.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@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 539d3857a59a05ccc96aab58dacd34402cb4d035..49d33190bd98746202bbb96c6d39ea0b35f11a3c 100644 (file)
@@ -2859,6 +2859,11 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
 
 static int __init kvm_s390_init(void)
 {
+       if (!sclp.has_sief2) {
+               pr_info("SIE not available\n");
+               return -ENODEV;
+       }
+
        return kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
 }