Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e53932d authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

Merge tag 'kvm-s390-master-4.12-1' of...

Merge tag 'kvm-s390-master-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

KVM: s390: Fix for master (4.12)

- The newly created AIS capability enables the feature unconditionally
  and ignores the cpu model
parents a3641631 1ba15b24
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -541,7 +541,6 @@ struct kvm_s390_float_interrupt {
	struct mutex ais_lock;
	u8 simm;
	u8 nimm;
	int ais_enabled;
};

struct kvm_hw_wp_info_arch {
+2 −2
Original line number Diff line number Diff line
@@ -2160,7 +2160,7 @@ static int modify_ais_mode(struct kvm *kvm, struct kvm_device_attr *attr)
	struct kvm_s390_ais_req req;
	int ret = 0;

	if (!fi->ais_enabled)
	if (!test_kvm_facility(kvm, 72))
		return -ENOTSUPP;

	if (copy_from_user(&req, (void __user *)attr->addr, sizeof(req)))
@@ -2204,7 +2204,7 @@ static int kvm_s390_inject_airq(struct kvm *kvm,
	};
	int ret = 0;

	if (!fi->ais_enabled || !adapter->suppressible)
	if (!test_kvm_facility(kvm, 72) || !adapter->suppressible)
		return kvm_s390_inject_vm(kvm, &s390int);

	mutex_lock(&fi->ais_lock);
+0 −2
Original line number Diff line number Diff line
@@ -558,7 +558,6 @@ static int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap)
		} else {
			set_kvm_facility(kvm->arch.model.fac_mask, 72);
			set_kvm_facility(kvm->arch.model.fac_list, 72);
			kvm->arch.float_int.ais_enabled = 1;
			r = 0;
		}
		mutex_unlock(&kvm->lock);
@@ -1533,7 +1532,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
	mutex_init(&kvm->arch.float_int.ais_lock);
	kvm->arch.float_int.simm = 0;
	kvm->arch.float_int.nimm = 0;
	kvm->arch.float_int.ais_enabled = 0;
	spin_lock_init(&kvm->arch.float_int.lock);
	for (i = 0; i < FIRQ_LIST_COUNT; i++)
		INIT_LIST_HEAD(&kvm->arch.float_int.lists[i]);