All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Liu, Yi L" <yi.l.liu@intel.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	"Lu, Baolu" <baolu.lu@intel.com>
Subject: Re: vPASID capability for VF
Date: Tue, 9 May 2023 20:13:08 -0300	[thread overview]
Message-ID: <ZFrThMhUnsYOE3WP@nvidia.com> (raw)
In-Reply-To: <BN9PR11MB527627F407BB2942ADFF800E8C769@BN9PR11MB5276.namprd11.prod.outlook.com>

On Tue, May 09, 2023 at 10:57:04PM +0000, Tian, Kevin wrote:
> > From: Jason Gunthorpe <jgg@nvidia.com>
> > Sent: Wednesday, May 10, 2023 6:44 AM
> > 
> > On Tue, May 09, 2023 at 08:34:53AM +0000, Tian, Kevin wrote:
> > > According to PCIe spec (7.8.9 PASID Extended Capability Structure):
> > >
> > >   The PASID configuration of the single non-VF Function representing
> > >   the device is also used by all VFs in the device. A PF is permitted
> > >   to implement the PASID capability, but VFs must not implement it.
> > >
> > > To enable PASID on VF then one open is where to locate the PASID
> > > capability in VF's vconfig space. vfio-pci doesn't know which offset
> > > may contain VF specific config registers. Finding such offset must
> > > come from a device specific knowledge.
> > 
> > Why? Can't vfio probe the cap tree and just find a gap to insert a new
> > cap? We already mangle the cap list, I'm not sure I see what
> > the problem is?
> > 
> 
> PCI config space includes not only caps, but also device specific
> defined fields. e.g. Intel IGD defines offset 0xfc as a pointer to
> OpRegion. I'm sure Alex can give many other examples.

Do we even expose those over VIFO? I thought in general we blocked of
various parts of the config space. I keep seeing patches to unblock
parts of config space?

I'd do the reverse and say devices that want to pass parts of their
config space should have a special hook to do it and otherwise we
should sanitize and block?

eg we already have a hook to pass the opregion

> So it's easy to find the gap between caps, but not easy to know
> whether that gap is actually free to use.

Because, let's face it, this is a horrible thing to do, and the
opregion stuff is just ugly as s sin.

Jason

  reply	other threads:[~2023-05-09 23:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-09  8:34 vPASID capability for VF Tian, Kevin
2023-05-09 22:43 ` Jason Gunthorpe
2023-05-09 22:57   ` Tian, Kevin
2023-05-09 23:13     ` Jason Gunthorpe [this message]
2023-05-09 23:41       ` Tian, Kevin
2023-05-10  0:31         ` Alex Williamson
2023-05-10  0:59           ` Jason Gunthorpe
2023-05-10  2:16             ` Tian, Kevin
2023-05-10 20:39               ` Jason Gunthorpe
2023-05-11  7:42                 ` Tian, Kevin
2023-05-10 17:24 ` Alex Williamson
2023-05-10 20:15   ` Jason Gunthorpe
2023-05-11  7:27   ` Tian, Kevin
2023-05-11 11:34     ` Baolu Lu
2023-05-12  2:59       ` Tian, Kevin
2023-05-12 21:01         ` Jason Gunthorpe
2023-05-17  5:09           ` Tian, Kevin
2023-05-11 15:45     ` Alex Williamson
2023-05-12  2:52       ` Tian, Kevin
2023-05-17  5:22       ` Tian, Kevin
2023-07-27  1:17       ` Tian, Kevin

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=ZFrThMhUnsYOE3WP@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=alex.williamson@redhat.com \
    --cc=baolu.lu@intel.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolinc@nvidia.com \
    --cc=yi.l.liu@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.