KVM: s390: add vector enhancements facility 2 to cpumodel
authorChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 28 Dec 2018 08:43:37 +0000 (09:43 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 18 Apr 2019 08:14:10 +0000 (10:14 +0200)
If vector support is enabled, the vector enhancements facility 2
might also be enabled.
We can directly forward this facility to the guest if available
and VX is requested by user space.

Please note that user space can and will have the final decision
on the facility bits for a guests.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
arch/s390/kvm/kvm-s390.c

index 4638303ba6a858793eded0e331b67aeea67db5d0..03ddbe5e62bc3c32088d377754f9753dc2c9b183 100644 (file)
@@ -657,6 +657,10 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap)
                                set_kvm_facility(kvm->arch.model.fac_mask, 135);
                                set_kvm_facility(kvm->arch.model.fac_list, 135);
                        }
+                       if (test_facility(148)) {
+                               set_kvm_facility(kvm->arch.model.fac_mask, 148);
+                               set_kvm_facility(kvm->arch.model.fac_list, 148);
+                       }
                        r = 0;
                } else
                        r = -EINVAL;