[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 05/11] xen/arm: Mark device as PCI while creating one

  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
  • Date: Tue, 28 Sep 2021 08:09:15 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hsuIGcsZzN2xj8wYvl3rUSlfMOMLL9AzmFQUnjKsn+A=; b=GVWuPpsn/LghhVjvkt8qU50XgiwgL2zBp4iFVyrSmhd7NTrej64W2hyS12AlXgcZQ/esPfLKdRePbVu2V9yQWCnEVz+HS+X7Rwop1oZXj/LXWcrueeRQDX/QOBVUD0uYKnaEDXHWW24hGO1N/eVawhuCrdxsVlQb10Rp+2Z5+9gUaMQdEPx6DbAmRH08lXsbBNY0nZk2CV2YDh21XjtssPGYEpux56kNg0vNUVpiBgWAdgfAGZkFxfYUP/5kCZd+UN9Lada2jjKGT6MKr/ei/fvAF23SPe/ckoLvQDlLwtM4fLoLj5/s1Fg+3LFBY84hcUtDWEDem1efSOF0sbRjeQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CaQrLDAYolf39rXzjfJ7Soijgr+Bsxd4vQn2AUUJr78qdXbSlxNyC75VsQw0Konc4s6e2JBeCmoxh9K0t3nwxlflQqPXRrvMtr1Rqgtt/GWBqek5ptL1pEaepTe2E9C1MelAtVvr2n066J0wJdAvu2iujXdlj6LavT+EEAun27FXrt6qqjUNo1GSAR4VCjKbVLQ6XMOgLY/nMD4GrV9OSlQ9VDkdCY4gXfArXbrm6N6KqkTx0ENY1ROSeO8eJxlIZJQHecQclfvZC4EEc4G/120ihKIiwxFDkilqZzdf21v8W4loGfeoLsax/VG6MxDtgrJMxNmmFa/G6Q0qsXrXuA==
  • Authentication-results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=epam.com;
  • Cc: "julien@xxxxxxx" <julien@xxxxxxx>, "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Artem Mygaiev <Artem_Mygaiev@xxxxxxxx>, "roger.pau@xxxxxxxxxx" <roger.pau@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Rahul Singh <rahul.singh@xxxxxxx>, Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 28 Sep 2021 08:14:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-topic: [PATCH v2 05/11] xen/arm: Mark device as PCI while creating one

On 27.09.21 13:26, Jan Beulich wrote:
> On 27.09.2021 12:04, Oleksandr Andrushchenko wrote:
>> On 27.09.21 13:00, Jan Beulich wrote:
>>> On 27.09.2021 11:35, Oleksandr Andrushchenko wrote:
>>>> On 27.09.21 12:19, Jan Beulich wrote:
>>>>> On 27.09.2021 10:45, Oleksandr Andrushchenko wrote:
>>>>>> On 27.09.21 10:45, Jan Beulich wrote:
>>>>>>> On 23.09.2021 14:54, Oleksandr Andrushchenko wrote:
>>>>>>>> --- a/xen/drivers/passthrough/pci.c
>>>>>>>> +++ b/xen/drivers/passthrough/pci.c
>>>>>>>> @@ -328,6 +328,9 @@ static struct pci_dev *alloc_pdev(struct pci_seg 
>>>>>>>> *pseg, u8 bus, u8 devfn)
>>>>>>>>          *((u8*) &pdev->bus) = bus;
>>>>>>>>          *((u8*) &pdev->devfn) = devfn;
>>>>>>>>          pdev->domain = NULL;
>>>>>>>> +#ifdef CONFIG_ARM
>>>>>>>> +    pci_to_dev(pdev)->type = DEV_PCI;
>>>>>>>> +#endif
>>>>>>> I have to admit that I'm not happy about new CONFIG_<arch> conditionals
>>>>>>> here. I'd prefer to see this done by a new arch helper, unless there are
>>>>>>> obstacles I'm overlooking.
>>>>>> Do you mean something like arch_pci_alloc_pdev(dev)?
>>>>> I'd recommend against "alloc" in its name; "new" instead maybe?
>>>> I am fine with arch_pci_new_pdev, but arch prefix points to the fact that
>>>> this is just an architecture specific part of the pdev allocation rather 
>>>> than
>>>> actual pdev allocation itself, so with this respect arch_pci_alloc_pdev 
>>>> seems
>>>> more natural to me.
>>> The bulk of the function is about populating the just allocated struct.
>>> There's no arch-specific part of the allocation (so far, leaving aside
>>> MSI-X), you only want and arch-specific part of the initialization. I
>>> would agree with "alloc" in the name if further allocation was to
>>> happen there.
>> Hm, then arch_pci_init_pdev sounds more reasonable
> Fine with me.

Do we want this to be void or returning an error code? If error code is needed,

then we would also need a roll-back function, e.g. arch_pci_free_pdev or

arch_pci_release_pdev or arch_pci_fini_pdev or something, so it can be used in

case of error or in free_pdev function.

If so, then what's your preference on the name of that function?

> Jan
Thank you,




Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.