The new Instruction Execution Protection needs to be enabled before
the guest can use it. Therefore we pass the IEP facility bit to the
guest and enable IEP interpretation.
Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
 
        if (test_kvm_facility(vcpu->kvm, 8) && sclp.has_pfmfi)
                vcpu->arch.sie_block->ecb2 |= 0x08;
+       if (test_kvm_facility(vcpu->kvm, 130))
+               vcpu->arch.sie_block->ecb2 |= 0x20;
        vcpu->arch.sie_block->eca = 0x1002000U;
        if (sclp.has_cei)
                vcpu->arch.sie_block->eca |= 0x80000000U;
 
        /* 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))
 
                        76, /* msa extension 3 */
                        77, /* msa extension 4 */
                        78, /* enhanced-DAT 2 */
+                       130, /* instruction-execution-protection */
                        131, /* enhanced-SOP 2 and side-effect */
                        -1  /* END */
                }