Hello, Stefano!
On 18.09.21 00:45, Stefano Stabellini wrote:
Hi Oleksandr,Not only that
Why do you want to enable pciback on ARM? Is it only to "disable" a PCI
device in Dom0 so that it can be safely assigned to a DomU?
Correct, it is not used
I am asking because actually I don't think we want to enable the PV PCI
backend feature of pciback on ARM, right? That would clash with the PCI
assignment work you have been doing in Xen. They couldn't both work at
the same time.
If we only need pciback to "park" a device in Dom0, wouldn't it be
possible and better to use pci-stub instead?
Not only that, so pci-stub is not enough
The functionality which is implemented by the pciback and the toolstack
and which is relevant/missing/needed for ARM:
1. pciback 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. pciback is used to hold the unbound PCI devices, 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
We have previously discussed on xen-devel ML possible solutions to that as from the
above we see that pciback functionality is going to be only partially used on Arm.
Please see [1] and [2]:
1. It is not acceptable to manage the assignable list in Xen itself
2. pciback can be split into two parts: PCI assignable/bind/reset handling and
the rest like vPCI etc.
3. pcifront is not used on Arm
So, limited use of the pciback is one of the bricks used to enable PCI passthrough
on Arm. It was enough to just re-structure the driver and have it run on Arm to achieve
all the goals above.
If we still think it is desirable to break the pciback driver into "common" and "pcifront specific"
parts then it can be done, yet the patch is going to be the very first brick in that building.
So, I think this patch is still going to be needed besides which direction we take.
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature