> +static void vfio_ap_realize(DeviceState *dev, Error **errp) > +{ > + int ret; > + char *mdevid; > + Error *local_err = NULL; > + VFIOGroup *vfio_group; > + APDevice *apdev = DO_UPCAST(APDevice, parent_obj, dev); > + VFIOAPDevice *vapdev = DO_UPCAST(VFIOAPDevice, apdev, apdev); > + > + vapdev = DO_UPCAST(VFIOAPDevice, apdev, apdev); > + > + vfio_group = vfio_ap_get_group(vapdev, &local_err); > + if (!vfio_group) { > + goto out_err; > + } > + > + vapdev->vdev.ops = &vfio_ap_ops; > + vapdev->vdev.type = VFIO_DEVICE_TYPE_AP; > + mdevid = basename(vapdev->vdev.sysfsdev); > + vapdev->vdev.name = g_strdup_printf("%s", mdevid); > + vapdev->vdev.dev = dev; > + > + ret = vfio_get_device(vfio_group, mdevid, &vapdev->vdev, &local_err); > + if (ret) { > + goto out_get_dev_err; > + } > + > + /* Enable hardware to intepret AP instructions executed on the guest */ > + object_property_set_bool(OBJECT(qdev_get_machine()), true, "apie", NULL);
Is that a leftover? I don't remember seeing that property in the previous patches and by the time we reach this point, APIE should already be enabled :) I assume this statement reports an error that you simply ignore. -- Thanks, David / dhildenb