On 04/16/2018 03:05 PM, Pierre Morel wrote:
I agree, this seems wrong.+static void vfio_ap_mdev_release(struct mdev_device *mdev)This call clears the apie in KVM.
+{
+ struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev);
+
+ kvm_ap_deconfigure_matrix(matrix_mdev->kvm);
+ kvm_ap_interpret_instructions(matrix_mdev->kvm, false);
This is only OK if we have a single device present until the end of the VM,
otherwise AP instructions in the guest will fail after the release until the end of the VM
or until a new device is plugged.