[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 6/8] s390x/vfio: ap: Introduce VFIO AP device
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 6/8] s390x/vfio: ap: Introduce VFIO AP device |
Date: |
Tue, 16 Oct 2018 12:36:18 +0100 |
On 12 October 2018 at 11:00, Cornelia Huck <address@hidden> wrote:
> From: Tony Krowiak <address@hidden>
>
> Introduces a VFIO based AP device. The device is defined via
> the QEMU command line by specifying:
>
> -device vfio-ap,sysfsdev=<path-to-mediated-matrix-device>
>
> There may be only one vfio-ap device configured for a guest.
>
> The mediated matrix device is created by the VFIO AP device
> driver by writing a UUID to a sysfs attribute file (see
> docs/vfio-ap.txt). The mediated matrix device will be named
> after the UUID. Symbolic links to the $uuid are created in
> many places, so the path to the mediated matrix device $uuid
> can be specified in any of the following ways:
>
> /sys/devices/vfio_ap/matrix/$uuid
> /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/$uuid
> /sys/bus/mdev/devices/$uuid
> /sys/bus/mdev/drivers/vfio_mdev/$uuid
>
> When the vfio-ap device is realized, it acquires and opens the
> VFIO iommu group to which the mediated matrix device is
> bound. This causes a VFIO group notification event to be
> signaled. The vfio_ap device driver's group notification
> handler will get called at which time the device driver
> will configure the the AP devices to which the guest will
> be granted access.
>
> Signed-off-by: Tony Krowiak <address@hidden>
> Tested-by: Pierre Morel <address@hidden>
> Acked-by: Halil Pasic <address@hidden>
> Tested-by: Pierre Morel <address@hidden>
> Tested-by: Christian Borntraeger <address@hidden>
> Message-Id: <address@hidden>
> Reviewed-by: Thomas Huth <address@hidden>
> [CH: added missing g_free and device category]
> Signed-off-by: Cornelia Huck <address@hidden>
Hi; Coverity has pointed out a bug in this function
(CID 1396176):
> +static void vfio_ap_reset(DeviceState *dev)
> +{
> + int ret;
> + APDevice *apdev = AP_DEVICE(dev);
> + VFIOAPDevice *vapdev = VFIO_AP_DEVICE(apdev);
> +
> + ret = ioctl(vapdev->vdev.fd, VFIO_DEVICE_RESET);
> + if (ret) {
> + error_report("%s: failed to reset %s device: %s", __func__,
> + vapdev->vdev.name, strerror(ret));
ioctl returns -1 and sets errno, so "strerror(ret)" is
the wrong thing here; we want "strerror(errno)".
thanks
-- PMM
- [Qemu-devel] [PULL 0/8] s390x updates, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 1/8] target/s390x/excp_helper: Remove DPRINTF() macro, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 4/8] s390x/kvm: enable AP instruction interpretation for guest, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 3/8] s390x/cpumodel: Set up CPU model for AP device support, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 2/8] linux-headers: update, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 5/8] s390x/ap: base Adjunct Processor (AP) object model, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 6/8] s390x/vfio: ap: Introduce VFIO AP device, Cornelia Huck, 2018/10/12
- Re: [Qemu-devel] [PULL 6/8] s390x/vfio: ap: Introduce VFIO AP device,
Peter Maydell <=
- [Qemu-devel] [PULL 7/8] s390: doc: detailed specifications for AP virtualization, Cornelia Huck, 2018/10/12
- [Qemu-devel] [PULL 8/8] hw/s390x: Include the tod-qemu also for builds with --disable-tcg, Cornelia Huck, 2018/10/12
- Re: [Qemu-devel] [PULL 0/8] s390x updates, Peter Maydell, 2018/10/12