KVM: s390: represent SIMD cap in kvm facility
[firefly-linux-kernel-4.4.55.git] / arch / s390 / kvm / kvm-s390.h
index 5d54191e573ec8da83b4a6d8ac4d2190a089c80b..c5aefef158e52f0f5855834e6df45f9d1e933128 100644 (file)
@@ -149,6 +149,17 @@ static inline int test_kvm_facility(struct kvm *kvm, unsigned long nr)
                __test_facility(nr, kvm->arch.model.fac->list);
 }
 
+static inline int set_kvm_facility(u64 *fac_list, unsigned long nr)
+{
+       unsigned char *ptr;
+
+       if (nr >= MAX_FACILITY_BIT)
+               return -EINVAL;
+       ptr = (unsigned char *) fac_list + (nr >> 3);
+       *ptr |= (0x80UL >> (nr & 7));
+       return 0;
+}
+
 /* are cpu states controlled by user space */
 static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm)
 {