> On 15 Oct 2021, at 14:47, Roger Pau Monné <roger....@citrix.com> wrote:
> 
> On Fri, Oct 15, 2021 at 10:48:41AM +0000, Bertrand Marquis wrote:
>> Hi Jan,
>> 
>>> On 15 Oct 2021, at 11:41, Jan Beulich <jbeul...@suse.com> wrote:
>>> 
>>> On 15.10.2021 12:33, Bertrand Marquis wrote:
>>>>> On 15 Oct 2021, at 11:24, Jan Beulich <jbeul...@suse.com> wrote:
>>>>> On 15.10.2021 11:52, Bertrand Marquis wrote:
>>>>>>> On 15 Oct 2021, at 09:32, Roger Pau Monné <roger....@citrix.com> wrote:
>>>>>>> On Thu, Oct 14, 2021 at 03:49:50PM +0100, Bertrand Marquis wrote:
>>>>>>>> @@ -752,6 +752,19 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>>>>>>>> 
>>>>>>>>  check_pdev(pdev);
>>>>>>>> 
>>>>>>>> +#ifdef CONFIG_ARM
>>>>>>>> +    /*
>>>>>>>> +     * On ARM PCI devices discovery will be done by Dom0. Add vpci 
>>>>>>>> handler when
>>>>>>>> +     * Dom0 inform XEN to add the PCI devices in XEN.
>>>>>>>> +     */
>>>>>>>> +    ret = vpci_add_handlers(pdev);
>>>>>>>> +    if ( ret )
>>>>>>>> +    {
>>>>>>>> +        printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
>>>>>>>> +        goto out;
>>>>>>>> +    }
>>>>>>>> +#endif
>>>>>>> 
>>>>>>> I think vpci_add_handlers should be called after checking that
>>>>>>> pdev->domain is != NULL, so I would move this chunk a bit below.
>>>>>> 
>>>>>> On arm this would prevent the dom0less use case or to have the PCI
>>>>>> bus enumerated from an other domain.
>>>>>> @oleksandr: can you comment on this one, you might have a better
>>>>>> answer than me on this ?
>>>>> 
>>>>> Well, without Xen doing the enumeration, some other entity would need
>>>>> to do so, including the reporting to Xen. Obviously without a Dom0 it
>>>>> would be ambiguous which domain to assign the device to; perhaps it
>>>>> should be the caller in this case? That would make that caller domain
>>>>> a pseudo-hwdom though, as far as PCI is concerned, which may not be
>>>>> desirable according to my (limited) understanding of dom0less.
>>>> 
>>>> This is not really related to this patch but the plan is the following:
>>>> - enumeration would have to be done by the firmware or boot loader before
>>>> - xen will have some code to detect PCI devices
>>>> - dom0less can be used to assign PCI devices to guest
>>>> 
>>>> Anyway does not change the fact that this must be called when domain is
>>>> not NULL and I will fix that.
>>> 
>>> Since we now all seem to agree that the NULL would have been a problem,
>>> may I ask in how far any of this has actually been tested?
>> 
>> With the whole serie currently on gitlab we have extensively tested passing
>> through PCI devices on Arm in several configuration (number of device, MSI,
>> MSI-X) and check that PCI was still functional on x86.
>> 
>> With the patches pushed to Xen right now it was checked that:
>> - xen compiles properly on arm32, arm64 and x86
>> - xen compiles properly with VPCI activated (using a patch) on arm32 and 
>> arm64
>> - xen on x86 is functionnal (using basic test on QEMU)
>> - xen on arm64 is functionnal (with some extensive tests on different 
>> targets)
> 
> I thinks it's unlikely, but since I haven't checked myself, could you
> see if the vpci user-space test harness (tools/tests/vpci) still
> builds and functions properly?

Hi Roger,

Bertrand is going to send the v7, however I’m keen to do this test but 
unfortunately
I’ve never used it before and I don’t have an x86 environment, do you have any
resource that I can read or some guidance?

Cheers,
Luca

> 
> Thanks, Roger.
> 


Reply via email to