[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a76b424f-79b4-3132-d487-b48da2f5e28e@oracle.com>
Date: Fri, 29 Oct 2021 08:22:22 -0400
From: Boris Ostrovsky <boris.ostrovsky@...cle.com>
To: Oleksandr Andrushchenko <andr2000@...il.com>,
xen-devel@...ts.xenproject.org, linux-kernel@...r.kernel.org
Cc: jgross@...e.com, julien@....org, sstabellini@...nel.org,
jbeulich@...e.com,
Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>,
Anastasiia Lukianenko <anastasiia_lukianenko@...m.com>
Subject: Re: [RESEND PATCH v6] xen-pciback: allow compiling on other archs
than x86
On 10/28/21 10:36 AM, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>
>
> Xen-pciback driver was designed to be built for x86 only. But it
> can also be used by other architectures, e.g. Arm.
>
> Currently PCI backend implements multiple functionalities at a time,
> such as:
> 1. It is used as a database for assignable PCI devices, e.g. xl
> pci-assignable-{add|remove|list} manipulates that list. So, whenever
> the toolstack needs to know which PCI devices can be passed through
> it reads that from the relevant sysfs entries of the pciback.
> 2. It is used to hold the unbound PCI devices list, e.g. when passing
> through a PCI device it needs to be unbound from the relevant device
> driver and bound to pciback (strictly speaking it is not required
> that the device is bound to pciback, but pciback is again used as a
> database of the passed through PCI devices, so we can re-bind the
> devices back to their original drivers when guest domain shuts down)
> 3. Device reset for the devices being passed through
> 4. Para-virtualised use-cases support
>
> The para-virtualised part of the driver is not always needed as some
> architectures, e.g. Arm or x86 PVH Dom0, are not using backend-frontend
> model for PCI device passthrough.
>
> For such use-cases make the very first step in splitting the
> xen-pciback driver into two parts: Xen PCI stub and PCI PV backend
> drivers.
>
> For that add new configuration options CONFIG_XEN_PCI_STUB and
> CONFIG_XEN_PCIDEV_STUB, so the driver can be limited in its
> functionality, e.g. no support for para-virtualised scenario.
> x86 platform will continue using CONFIG_XEN_PCIDEV_BACKEND for the
> fully featured backend driver.
>
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>
> Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@...m.com>
> Reviewed-by: Stefano Stabellini <sstabellini@...nel.org>
> Reviewed-by: Juergen Gross <jgross@...e.com>
Applied to for-linus-5.16
-boris
Powered by blists - more mailing lists