]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - arch/s390/kvm/vsie.c
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched...
[mirror_ubuntu-artful-kernel.git] / arch / s390 / kvm / vsie.c
index d8673e243f13bf7315e36203890401cae191cea2..5491be39776b66b528f3793489d4c935bbda1739 100644 (file)
@@ -14,6 +14,8 @@
 #include <linux/bug.h>
 #include <linux/list.h>
 #include <linux/bitmap.h>
+#include <linux/sched/signal.h>
+
 #include <asm/gmap.h>
 #include <asm/mmu_context.h>
 #include <asm/sclp.h>
@@ -324,6 +326,9 @@ static int shadow_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
        /* Run-time-Instrumentation */
        if (test_kvm_facility(vcpu->kvm, 64))
                scb_s->ecb3 |= scb_o->ecb3 & 0x01U;
+       /* Instruction Execution Prevention */
+       if (test_kvm_facility(vcpu->kvm, 130))
+               scb_s->ecb2 |= scb_o->ecb2 & 0x20U;
        if (test_kvm_cpu_feat(vcpu->kvm, KVM_S390_VM_CPU_FEAT_SIIF))
                scb_s->eca |= scb_o->eca & 0x00000001U;
        if (test_kvm_cpu_feat(vcpu->kvm, KVM_S390_VM_CPU_FEAT_IB))
@@ -899,7 +904,7 @@ static int vsie_run(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
                if (rc || scb_s->icptcode || signal_pending(current) ||
                    kvm_s390_vcpu_has_irq(vcpu, 0))
                        break;
-       };
+       }
 
        if (rc == -EFAULT) {
                /*