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

Re: [PATCH v4 02/12] xen/arm: gic: implement helper functions for INTID checks


  • To: Julien Grall <julien@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Leonid Komarianskyi <Leonid_Komarianskyi@xxxxxxxx>
  • Date: Thu, 28 Aug 2025 16:20:49 +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=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=ZSIbARUlkA7vUzpM9WngFR+rsOpS8Ve2Y3tL4GvBLjs=; b=pDpr5DNPhmnX1ktlYjqEeVHiFWKef114l6w5HHLqwbF1lF0oqZp6DHa5BMx33IdXqiAb1MUPJwORdIeg1cLhynpVXl9/ovThqwTgPYlB/Fe7ixqvZrmFH2Vylqz1n3P0uv2tdMZHD9TfGo8LS20kjiJFi6KdOjhZmFCb4OKQDYMo+2Uiqdh9TKGE5ID7BkWModlwwvcesxE/xhKpL1vetv7rMB0DgbwzS1zN3e7UEpqyYQUK8jIWD/4zpSlVFs7nj100AmlK1OXj1MQqdHqReTGS1LLpP21BdHC7WLz6j488thYeq5vVkjUsw5hhuQRTwlPP9PrkG4G5Q1OHatKUgQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LOWKl12XUB4DLLyQzsE43btkK3nokvkTDu2oyGACB5qWcMufOniYfgOM6ORHf0dH4Tl3S/QcndivPbnjxl7uVjlGdP7mn1U2V14t2BsgnDmmGKAGgPE8sm2bRWA7gzP52q+VTLXv9CQHLtkQTbGhhRuhdFXQzhdM9e+5H4r6+uCtDeQXfa9rWhzcguGYWgm3BsM+1Gb/4V4eFzPqj0VywGrn1X8pPrK2pqrNXdi2rs2tGUMTWQcUCfejQD27L1wbV7K/xbLCZ+HnkRletacTo2/lBKK85TMzzEazLeG7A8464k3KiFkWqITX+jWLtOyMzT3W8KkpmnhSN0iHeoQlhA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: "olekstysh@xxxxxxxxx" <olekstysh@xxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Thu, 28 Aug 2025 16:20:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHcF3/Ff+oSmGvjakq9bpLMhjgPlLR3+pEAgABF3AA=
  • Thread-topic: [PATCH v4 02/12] xen/arm: gic: implement helper functions for INTID checks

Hi Julien,

Thank you for your review.

On 28.08.25 15:10, Julien Grall wrote:
> Hi Leonid,
> 
> On 27/08/2025 19:24, Leonid Komarianskyi wrote:
>> Introduced two new helper functions: gic_is_valid_line and
>> gic_is_spi. The first function helps determine whether an IRQ
>> number is less than the number of lines supported by hardware. The
>> second function additionally checks if the IRQ number falls within the
>> SPI range. Also, updated the appropriate checks to use these new helper
>> functions.
>>
>> The current checks for the real GIC are very similar to those for the
>> vGIC but serve a different purpose. For GIC-related code, the interrupt
>> numbers should be validated based on whether the hardware can operate
>> with such interrupts. On the other hand, for the vGIC, the indexes must
>> also be verified to ensure they are available for a specific domain. The
>> first reason for introducing these helper functions is to avoid
>> potential confusion with vGIC-related checks. The second reason is to
>> consolidate similar code into separate functions, which can be more
>> easily extended by additional conditions, e.g., when implementing
>> extended SPI interrupts.
>>
>> The changes, which replace open-coded checks with the use of the new
>> helper functions, do not introduce any functional changes, as the helper
>> functions follow the current IRQ index verification logic.
>>
>> Signed-off-by: Leonid Komarianskyi <leonid_komarianskyi@xxxxxxxx>
>> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>
> 
> With one remark below:
> 
> Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
> 
>> ---
>> Changes in V4:
>> - removed redundant parentheses
>> - added reviewed-by from Volodymyr Babchuk
>>
>> Changes in V3:
>> - renamed gic_is_valid_irq to gic_is_valid_line and gic_is_shared_irq to
>>    gic_is_spi
>> - updated commit message
>>
>> Changes in V2:
>> - introduced this patch
>>
>> Changes for V4:
>>
>> Changes in V4:
>> - removed redundant parentheses
>> - added reviewed-by from Volodymyr Babchuk
>> ---
>>   xen/arch/arm/gic.c             | 2 +-
>>   xen/arch/arm/include/asm/gic.h | 9 +++++++++
>>   xen/arch/arm/irq.c             | 2 +-
>>   3 files changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>> index e80fe0ca24..9220eef6ea 100644
>> --- a/xen/arch/arm/gic.c
>> +++ b/xen/arch/arm/gic.c
>> @@ -111,7 +111,7 @@ static void gic_set_irq_priority(struct irq_desc 
>> *desc, unsigned int priority)
>>   void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>>   {
>>       ASSERT(priority <= 0xff);     /* Only 8 bits of priority */
>> -    ASSERT(desc->irq < gic_number_lines());/* Can't route interrupts 
>> that don't exist */
>> +    ASSERT(gic_is_valid_line(desc->irq));/* Can't route interrupts 
>> that don't exist */
> 
> As you are touching the line. It is over 80 characters. Can you move the 
> command in a separate line?

Sure, I will fix formatting in V5.

> 
>>       ASSERT(test_bit(_IRQ_DISABLED, &desc->status));
>>       ASSERT(spin_is_locked(&desc->lock));
> 
> Cheers,
> 

Best regards,
Leonid

 


Rackspace

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