From: Alex Williamson <alex.williamson@redhat.com>
To: "Duan, Zhenzhong" <zhenzhong.duan@intel.com>
Cc: "Liu, Yi L" <yi.l.liu@intel.com>,
"joro@8bytes.org" <joro@8bytes.org>,
"jgg@nvidia.com" <jgg@nvidia.com>,
"Tian, Kevin" <kevin.tian@intel.com>,
"robin.murphy@arm.com" <robin.murphy@arm.com>,
"baolu.lu@linux.intel.com" <baolu.lu@linux.intel.com>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"eric.auger@redhat.com" <eric.auger@redhat.com>,
"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"mjrosato@linux.ibm.com" <mjrosato@linux.ibm.com>,
"chao.p.peng@linux.intel.com" <chao.p.peng@linux.intel.com>,
"yi.y.sun@linux.intel.com" <yi.y.sun@linux.intel.com>,
"peterx@redhat.com" <peterx@redhat.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"shameerali.kolothum.thodi@huawei.com"
<shameerali.kolothum.thodi@huawei.com>,
"lulu@redhat.com" <lulu@redhat.com>,
"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"joao.m.martins@oracle.com" <joao.m.martins@oracle.com>,
"Zeng, Xin" <xin.zeng@intel.com>,
"Zhao, Yan Y" <yan.y.zhao@intel.com>
Subject: Re: [PATCH 3/3] vfio: Report PASID capability via VFIO_DEVICE_FEATURE ioctl
Date: Mon, 11 Dec 2023 20:39:46 -0700 [thread overview]
Message-ID: <20231211203946.35552183.alex.williamson@redhat.com> (raw)
In-Reply-To: <SJ0PR11MB674458A8B7319F30A67FE55F928EA@SJ0PR11MB6744.namprd11.prod.outlook.com>
On Tue, 12 Dec 2023 02:43:20 +0000
"Duan, Zhenzhong" <zhenzhong.duan@intel.com> wrote:
> >-----Original Message-----
> >From: Alex Williamson <alex.williamson@redhat.com>
> >Sent: Tuesday, December 12, 2023 2:04 AM
> >Subject: Re: [PATCH 3/3] vfio: Report PASID capability via
> >VFIO_DEVICE_FEATURE ioctl
> >
> >On Sun, 26 Nov 2023 22:39:09 -0800
> >Yi Liu <yi.l.liu@intel.com> wrote:
> >
> >> This reports the PASID capability data to userspace via
> >VFIO_DEVICE_FEATURE,
> >> hence userspace could probe PASID capability by it. This is a bit different
> >> with other capabilities which are reported to userspace when the user
> >reads
> >> the device's PCI configuration space. There are two reasons for this.
> >>
> >> - First, Qemu by default exposes all available PCI capabilities in vfio-pci
> >> config space to the guest as read-only, so adding PASID capability in the
> >> vfio-pci config space will make it exposed to the guest automatically
> >while
> >> an old Qemu doesn't really support it.
> >
> >Shouldn't we also be working on hiding the PASID capability in QEMU
> >ASAP? This feature only allows QEMU to know PASID control is actually
> >available, not the guest. Maybe we're hoping this is really only used
> >by VFs where there's no capability currently exposed to the guest?
>
> PASID capability is not exposed to QEMU through config space,
> VFIO_DEVICE_FEATURE ioctl is the only interface to expose PASID
> cap to QEMU for both PF and VF.
>
> /*
> * Lengths of PCIe/PCI-X Extended Config Capabilities
> * 0: Removed or masked from the user visible capability list
> * FF: Variable length
> */
> static const u16 pci_ext_cap_length[PCI_EXT_CAP_ID_MAX + 1] = {
> ...
> [PCI_EXT_CAP_ID_PASID] = 0, /* not yet */
> }
Ah, thanks. The comment made me think is was already exposed and I
didn't double check. So we really just want to convey the information
of the PASID capability outside of config space because if we pass the
capability itself existing userspace will blindly expose a read-only
version to the guest. That could be better explained in the commit log
and comments.
So how do we keep up with PCIe spec updates relative to the PASID
capability with this proposal? Would it make more sense to report the
raw capability register and capability version rather that a translated
copy thereof? Perhaps just masking the fields we're currently prepared
to expose. Thanks,
Alex
next prev parent reply other threads:[~2023-12-12 3:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-27 6:39 [PATCH 0/3] vfio-pci support pasid attach/detach Yi Liu
2023-11-27 6:39 ` [PATCH 1/3] vfio-iommufd: Support pasid [at|de]tach for physical VFIO devices Yi Liu
2024-01-15 17:18 ` Jason Gunthorpe
2023-11-27 6:39 ` [PATCH 2/3] vfio: Add VFIO_DEVICE_PASID_[AT|DE]TACH_IOMMUFD_PT Yi Liu
2023-11-27 6:50 ` Duan, Zhenzhong
2023-11-28 3:06 ` Yi Liu
2023-12-11 17:05 ` Alex Williamson
2023-12-12 3:02 ` Yi Liu
2023-11-27 6:39 ` [PATCH 3/3] vfio: Report PASID capability via VFIO_DEVICE_FEATURE ioctl Yi Liu
2023-11-27 7:28 ` Duan, Zhenzhong
2023-11-28 3:11 ` Yi Liu
2023-11-28 4:23 ` Duan, Zhenzhong
2023-12-07 8:47 ` Tian, Kevin
2023-12-11 8:08 ` Yi Liu
2023-12-12 2:20 ` Tian, Kevin
2023-12-12 3:26 ` Yi Liu
2023-12-12 15:31 ` Jason Gunthorpe
2023-12-13 1:59 ` Tian, Kevin
2023-12-11 18:03 ` Alex Williamson
2023-12-11 18:10 ` Jason Gunthorpe
2023-12-11 18:49 ` Alex Williamson
2023-12-12 15:35 ` Jason Gunthorpe
2023-12-13 2:10 ` Tian, Kevin
2024-01-15 9:49 ` Yi Liu
2023-12-12 2:16 ` Tian, Kevin
2023-12-12 3:44 ` Yi Liu
2023-12-12 2:43 ` Duan, Zhenzhong
2023-12-12 3:39 ` Alex Williamson [this message]
2023-12-12 3:53 ` Yi Liu
2023-12-12 15:27 ` Jason Gunthorpe
2024-01-15 8:20 ` Yi Liu
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=20231211203946.35552183.alex.williamson@redhat.com \
--to=alex.williamson@redhat.com \
--cc=baolu.lu@linux.intel.com \
--cc=chao.p.peng@linux.intel.com \
--cc=cohuck@redhat.com \
--cc=eric.auger@redhat.com \
--cc=iommu@lists.linux.dev \
--cc=jasowang@redhat.com \
--cc=jgg@nvidia.com \
--cc=joao.m.martins@oracle.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=lulu@redhat.com \
--cc=mjrosato@linux.ibm.com \
--cc=nicolinc@nvidia.com \
--cc=peterx@redhat.com \
--cc=robin.murphy@arm.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=xin.zeng@intel.com \
--cc=yan.y.zhao@intel.com \
--cc=yi.l.liu@intel.com \
--cc=yi.y.sun@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).