[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210311170144.GM2356281@nvidia.com>
Date: Thu, 11 Mar 2021 13:01:44 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Alexey Kardashevskiy <aik@...abs.ru>
Cc: Max Gurtovoy <mgurtovoy@...dia.com>, alex.williamson@...hat.com,
cohuck@...hat.com, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, liranl@...dia.com, oren@...dia.com,
tzahio@...dia.com, leonro@...dia.com, yarong@...dia.com,
aviadye@...dia.com, shahafs@...dia.com, artemp@...dia.com,
kwankhede@...dia.com, ACurrid@...dia.com, cjia@...dia.com,
yishaih@...dia.com, mjrosato@...ux.ibm.com, hch@....de
Subject: Re: [PATCH 8/9] vfio/pci: export nvlink2 support into vendor
vfio_pci drivers
On Thu, Mar 11, 2021 at 06:54:09PM +1100, Alexey Kardashevskiy wrote:
> Is there an idea how it is going to work? For example, the Intel IGD driver
> and vfio-pci-igd - how should the system pick one? If there is no
> MODULE_DEVICE_TABLE in vfio-pci-xxx, is the user supposed to try binding all
> vfio-pci-xxx drivers until some binds?
We must expose some MODULE_DEVICE_TABLE like thing to userspace.
Compiling everything into one driver and using if statements was only
managable with these tiny drivers - the stuff that is coming are big
things that are infeasible to link directly to vfio_pci.ko
I'm feeling some general consensus around this approach (vs trying to
make a subdriver) so we will start looking at exactly what form that
could take soon.
The general idea would be to have a selection of extended VFIO drivers
for PCI devices that can be loaded as an alternative to vfio-pci and
they provide additional uapi and behaviors that only work on specific
hardware. nvlink is a good example because it does provide new API and
additional HW specific behavior.
A way for userspace to learn about the drivers automatically and sort
out how to load and bind them.
I was thinking about your earlier question about FDT - do you think we
could switch this to a platform_device and provide an of_match_table
that would select correctly? Did IBM enforce a useful compatible
string in the DT for these things?
Jason
Powered by blists - more mailing lists