[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 12/13] xen/arm: translate virtual PCI bus topology for guests
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
- Date: Fri, 4 Feb 2022 08:18:06 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zoMjnUyR5QgnqfycTSZCVV6hh/8SJZXFw7/jJGS6fng=; b=d4h/OFaqhwcgBVUby6qoRQTfKw6UJ3VTcU9V3E0shJJwcfsG1Yiny66SpDeC2myQxbwE4NDWjZcSLhtJRircnVm0FrdqzsYVjj4sY7TL7A0JA+HDNPEgQAO8RRM1GfQKiO6Jm95YtnbPJEbQQya26Ho+Y5coN73rVAS+l6qoqMsXx9nC4OAKaEYhtcsc/ATzJHa0c6paZIzgfXg9m+mO/bYB+JgQUuqu+QY73EXlWXhd/WpxZtpnTUqTQqn1Ooi6AD861z0NFdOTTLMni8x6t/DY54iIKju4i38DRGkvnINodAIwUbcPDqHkC9EMtn664SjrI7qdLcZsm84F927n+g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ccFGU7Nl5Eg4UysEmN3B9GBU7Uq15aYfUGViVtENI+b+xrZu396VABYT1L+qLhAml8LuJgMP5v+CJx6ZRthnN61q6WVRPDAcFwxsQ7TYFVeKGnOrub457nZrwI/xV1lRhM3PY09HojVvzqZMJ/OkaQKAryXs2CzxIREjkAewgqqUpmDKjkWGIA0AUmq4q/ttLXNEb+gfd7gclvlKSlPNheZNoJaTM+cGKmDf/UWEB3cUFrQB+tnX0VE+k+FAMfPd0awpBPyL/uC5scRbeJ4b0N6iS6s3RcwlGVkoaD1/cJrDNsHnvz0lNFo/3JnY+DRZB+7UubsiPJz2Zzp05IV5Iw==
- 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>, "andrew.cooper3@xxxxxxxxxx" <andrew.cooper3@xxxxxxxxxx>, "george.dunlap@xxxxxxxxxx" <george.dunlap@xxxxxxxxxx>, "paul@xxxxxxx" <paul@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Rahul Singh <rahul.singh@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
- Delivery-date: Fri, 04 Feb 2022 08:18:56 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHYGZFgYcuoJMilu0Or+397ala4YKyDBiqAgAAGLAA=
- Thread-topic: [PATCH v6 12/13] xen/arm: translate virtual PCI bus topology for guests
Hi, Jan!
On 04.02.22 09:56, Jan Beulich wrote:
> On 04.02.2022 07:34, Oleksandr Andrushchenko wrote:
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -168,6 +168,35 @@ static void vpci_remove_virtual_device(struct domain *d,
>> pdev->vpci->guest_sbdf.sbdf = ~0;
>> }
>>
>> +/*
>> + * Find the physical device which is mapped to the virtual device
>> + * and translate virtual SBDF to the physical one.
>> + */
>> +bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbdf)
>> +{
>> + struct pci_dev *pdev;
>> +
>> + ASSERT(!is_hardware_domain(d));
> In addition to this, don't you also need to assert that pcidevs_lock is
> held (or if it isn't, you'd need to acquire it) for ...
>
>> + for_each_pdev( d, pdev )
> ... this to be race-free?
Yes, you are right and this needs pcidevs_lock();
Will add
>
> Jan
>
Thank you,
Oleksandr
|