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

Re: [PATCH v1 3/5] vpci: introduce map_bars()


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
  • Date: Wed, 11 Jun 2025 15:55:24 -0400
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=lqDqO7m2gZiOVJMSEy0MJAlh7VWIlSB5xMSayXQlDBo=; b=mUyMTG75P9bZ13TGUl6GZK4LuO74EaZUreAhDrN4ojdBunMR9RPdX082DvB+dkqjNmYE51AYrI0E/UBQ9sPG8QWlMqi2Ru07C0q2KQ+UtXtC2GS6+x6Gi/ih3hLMUUnSfvg7MOzlhUTC61fROuVXCzpndTfp14Y+7qII3tL1IzG8DroGYqkiTVKsPzKe9FceKXMufvSmx8eFEMzKQfLdlO1wrVU17SSS45nItDaLk7gmsRTbKqmghtblC9H8cTVhmpFV3TQEDEtRmcCNjrOUbbFD7asL+wElZw4bAN+W5Y/2sLnlpnABupgz6JQzZrIVwKTaiQN4/wrz836GZl3qDg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lCdjCgi37SzLkFZTZpDxilUvp01UX2+HCp0GX73hoIpqV+8np7f5KxFBuOX67R6J3gEAUukTNP52fs/sekNCZroYVsUsakWOKKGoKClAWbMvXDvcesvu9dI8t6doh31Gl0Xvi5An41JFsVXNL1uifCaPra8d+1nPVo0lltPec82z/iXG04OcczyikQKwwx0Of8078WwSrirID1pkmbM9EQtS2epU0SAyLZqqtfcqCWkvpap78S5HQBBZe6BRym+SXwzPYvms24dObXb9rBUf2HX36Yv6DpGdvUmu1JP1rQVDCDfPRWOhgbXTBFE5MjpFwqz1iOd+FUMtGtEc8UpSzA==
  • Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 11 Jun 2025 19:55:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 6/5/25 06:16, Roger Pau Monné wrote:
> On Sat, May 31, 2025 at 08:54:01AM -0400, Stewart Hildebrand wrote:
>> Move some logic to a new function to enable code reuse.
> 
> Like with the previous changes, it's helpful if you explicitly note
> that no functional change is intended in the commit message (which I
> think it's the case here).

OK, will do.

>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
>> ---
>>  xen/drivers/vpci/header.c | 56 ++++++++++++++++++++++++---------------
>>  1 file changed, 35 insertions(+), 21 deletions(-)
>>
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index c1463d2ce076..b09ccc5e6be6 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -173,11 +173,38 @@ static void modify_decoding(const struct pci_dev 
>> *pdev, uint16_t cmd,
>>          ASSERT_UNREACHABLE();
>>  }
>>  
>> +static int map_bars(struct vpci_header *header, struct domain *d, bool map)
>> +{
>> +    unsigned int i;
>> +
>> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>> +    {
>> +        struct vpci_bar *bar = &header->bars[i];
>> +        struct map_data data = {
>> +            .d = d,
>> +            .map = map,
>> +            .bar = bar,
>> +        };
>> +        int rc;
>> +
>> +        if ( rangeset_is_empty(bar->mem) )
>> +            continue;
>> +
>> +        rc = rangeset_consume_ranges(bar->mem, map_range, &data);
>> +
>> +        if ( rc )
>> +            return rc;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>>  bool vpci_process_pending(struct vcpu *v)
>>  {
>>      const struct pci_dev *pdev = v->vpci.pdev;
>>      struct vpci_header *header = NULL;
>>      unsigned int i;
> 
> Maybe I'm missing something, but don't you get complains from the
> compiler here about i being unused after this change?

No, i is still used in the error path.



 


Rackspace

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