> +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