From: Nicolin Chen <nicolinc@nvidia.com>
To: Zhenzhong Duan <zhenzhong.duan@intel.com>
Cc: <qemu-devel@nongnu.org>, <alex.williamson@redhat.com>,
<clg@redhat.com>, <jgg@nvidia.com>, <joao.m.martins@oracle.com>,
<eric.auger@redhat.com>, <peterx@redhat.com>,
<jasowang@redhat.com>, <kevin.tian@intel.com>,
<yi.l.liu@intel.com>, <yi.y.sun@intel.com>,
<chao.p.peng@intel.com>
Subject: Re: [PATCH v5 03/20] vfio/iommufd: Implement the iommufd backend
Date: Sat, 11 Nov 2023 09:47:17 -0800 [thread overview]
Message-ID: <ZU++JT3FBbGhJIKH@Asurada-Nvidia> (raw)
In-Reply-To: <20231109114529.1904193-4-zhenzhong.duan@intel.com>
On Thu, Nov 09, 2023 at 07:45:12PM +0800, Zhenzhong Duan wrote:
> +static int iommufd_cdev_attach_ioas_hwpt(VFIODevice *vbasedev, bool is_ioas,
> + uint32_t id, Error **errp)
> +{
> + int ret, iommufd = vbasedev->iommufd->fd;
> + struct vfio_device_attach_iommufd_pt attach_data = {
> + .argsz = sizeof(attach_data),
> + .flags = 0,
> + .pt_id = id,
> + };
> + const char *str = is_ioas ? "ioas" : "hwpt";
> +
> + /* Attach device to an IOAS or hwpt within iommufd */
> + ret = ioctl(vbasedev->fd, VFIO_DEVICE_ATTACH_IOMMUFD_PT, &attach_data);
> + if (ret) {
> + error_setg_errno(errp, errno,
> + "[iommufd=%d] error attach %s (%d) to %s_id=%d",
> + iommufd, vbasedev->name, vbasedev->fd, str, id);
> + } else {
> + trace_iommufd_cdev_attach_ioas_hwpt(iommufd, vbasedev->name,
> + vbasedev->fd, str, id);
> + }
> + return ret;
> +}
> +
> +static int iommufd_cdev_detach_ioas_hwpt(VFIODevice *vbasedev, bool is_ioas,
> + uint32_t id, Error **errp)
> +{
> + int ret, iommufd = vbasedev->iommufd->fd;
> + struct vfio_device_detach_iommufd_pt detach_data = {
> + .argsz = sizeof(detach_data),
> + .flags = 0,
> + };
> + const char *str = is_ioas ? "ioas" : "hwpt";
> +
> + ret = ioctl(vbasedev->fd, VFIO_DEVICE_DETACH_IOMMUFD_PT, &detach_data);
> + if (ret) {
> + error_setg_errno(errp, errno, "detach %s from %s failed",
> + vbasedev->name, str);
> + } else {
> + trace_iommufd_cdev_detach_ioas_hwpt(iommufd, vbasedev->name, str, id);
> + }
> + return ret;
> +}
Being a bit late to the game, I might have missed some review
history here, yet any reason why we changed the attach/detach
APIs to specify is_ioas? The attach kernel uAPI generically
handles this without requiring an is_ioas input, and it could
be interpreted to attaching both ioas and hwpt (auto). On the
hand, the detach uAPI doesn't even care about id. So, I don't
see a value of the is_ioas except the trace logs..
If we have such a hard requirement somewhere, shall we create
an IOMMUFDPtObject structure that holds the type (ioas/hwpt)?
Thanks
Nic
next prev parent reply other threads:[~2023-11-11 17:53 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 11:45 [PATCH v5 00/20] vfio: Adopt iommufd Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 01/20] backends/iommufd: Introduce the iommufd object Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 02/20] util/char_dev: Add open_cdev() Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 03/20] vfio/iommufd: Implement the iommufd backend Zhenzhong Duan
2023-11-10 9:34 ` Cédric Le Goater
2023-11-10 10:18 ` Duan, Zhenzhong
2023-11-13 11:04 ` Cédric Le Goater
2023-11-14 2:58 ` Duan, Zhenzhong
2023-11-11 17:47 ` Nicolin Chen [this message]
2023-11-13 3:30 ` Duan, Zhenzhong
2023-11-09 11:45 ` [PATCH v5 04/20] vfio/iommufd: Relax assert check for " Zhenzhong Duan
2023-11-10 9:35 ` Cédric Le Goater
2023-11-09 11:45 ` [PATCH v5 05/20] vfio/iommufd: Add support for iova_ranges and pgsizes Zhenzhong Duan
2023-11-10 9:36 ` Cédric Le Goater
2023-11-10 10:03 ` Duan, Zhenzhong
2023-11-09 11:45 ` [PATCH v5 06/20] vfio/pci: Extract out a helper vfio_pci_get_pci_hot_reset_info Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 07/20] vfio/pci: Introduce a vfio pci hot reset interface Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 08/20] vfio/iommufd: Enable pci hot reset through iommufd cdev interface Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 09/20] vfio/pci: Allow the selection of a given iommu backend Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 10/20] vfio/pci: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-10 10:52 ` Cédric Le Goater
2023-11-13 3:00 ` Duan, Zhenzhong
2023-11-13 11:08 ` Cédric Le Goater
2023-11-14 3:00 ` Duan, Zhenzhong
2023-11-09 11:45 ` [PATCH v5 11/20] vfio/platform: Allow the selection of a given iommu backend Zhenzhong Duan
2023-11-10 8:50 ` Cédric Le Goater
2023-11-10 9:08 ` Duan, Zhenzhong
2023-11-09 11:45 ` [PATCH v5 12/20] vfio/platform: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 13/20] vfio/ap: Allow the selection of a given iommu backend Zhenzhong Duan
2023-11-09 22:57 ` Matthew Rosato
2023-11-09 11:45 ` [PATCH v5 14/20] vfio/ap: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-09 22:57 ` Matthew Rosato
2023-11-09 11:45 ` [PATCH v5 15/20] vfio/ccw: Allow the selection of a given iommu backend Zhenzhong Duan
2023-11-09 22:57 ` Matthew Rosato
2023-11-09 11:45 ` [PATCH v5 16/20] vfio/ccw: Make vfio cdev pre-openable by passing a file handle Zhenzhong Duan
2023-11-09 22:57 ` Matthew Rosato
2023-11-09 11:45 ` [PATCH v5 17/20] vfio: Make VFIOContainerBase poiner parameter const in VFIOIOMMUOps callbacks Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 18/20] hw/arm: Activate IOMMUFD for virt machines Zhenzhong Duan
2023-11-09 11:45 ` [PATCH v5 19/20] kconfig: Activate IOMMUFD for s390x machines Zhenzhong Duan
2023-11-09 23:00 ` Matthew Rosato
2023-11-10 3:16 ` Duan, Zhenzhong
2023-11-10 9:38 ` Cédric Le Goater
2023-11-09 11:45 ` [PATCH v5 20/20] hw/i386: Activate IOMMUFD for q35 machines Zhenzhong Duan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZU++JT3FBbGhJIKH@Asurada-Nvidia \
--to=nicolinc@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=chao.p.peng@intel.com \
--cc=clg@redhat.com \
--cc=eric.auger@redhat.com \
--cc=jasowang@redhat.com \
--cc=jgg@nvidia.com \
--cc=joao.m.martins@oracle.com \
--cc=kevin.tian@intel.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yi.l.liu@intel.com \
--cc=yi.y.sun@intel.com \
--cc=zhenzhong.duan@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.