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

Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional


  • To: Julien Grall <julien@xxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Thu, 3 Aug 2023 13:03:59 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IYabnfGTYSDlSRQTGH+QiW6OL7y+hwSMHNlCer8295U=; b=CFTVh1fa7O3+v2G4OW1WyYpN5QMj0G8mlVqkHcwF3/qvSg8BjJ4OS/wHZvCYNA+pzreLrKaix5QVBSCRTn1CHTOLMPNq1jWG3aSDBO+vFZtRF5btKKT88r0sYufJHZiJkSoNPZJ2WsA3yKdGsWcs0iF60UZfZK2pWHY3AVSatRQ9Q3CqNtg9MHBMsn0W/dmX5AuC5VPhB7eNTkoAkIIrssrowGEHIxcjVuZCK4U/8sxN5/0u7AKOuTf+XSLoaYG45ytGZl7wHAgpalXD1LQVj4I7Jx2BsS6SYHMS9EOyxAq9c8LGIMlD7UIMs4MojI9z8M3gkdZ09/QmFXqKWBMTeg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bifWv6gKVpmN9nYafuKx4UEQfbI204FaKWy3IPzUTRJz6sEyYTR7AJa2GYLF/iryY7WAmKkHEPDPi4uNP0Bj+zOcTyIgI32vAIgdNsiZCYDm+NcAawYC6CEemMMI/A/Mv8Svw++nXX9A/oQ6j8AUP36FZ50pRnbNzNg5m0YlYDDK/zPaPdI+bpq8wMgF5kam2VeHZzEIpezzIm4fq3le3vyB16FTXuwlN9n9AU015rVf5/Ao8mnAXBrC/dZb2f7TWS5aBAD/vK90brJwjiY1Y+Mx1SYnZF1DceENO6hUpOPveDsF2U6wW1emdsFOe8fZtzAuMz9Kwqv7h3uTdNu/ig==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Thu, 03 Aug 2023 13:04:22 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/YV3wAgAAz1YA=
  • Thread-topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional

Hi Julien,

>> +
>>  config GICV3
>>   bool "GICv3 driver"
>>   depends on !NEW_VGIC
>> @@ -92,6 +100,11 @@ config HAS_ITS
>>          bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
>>          depends on GICV3 && !NEW_VGIC && !ARM_32
>>  +config VGICV2
>> + bool "vGICv2 interface for guests"
> 
> This description is a bit misleading as the vGICv2 will also be used for dom0 
> in the case of vGICv2.
> 
>> + default y
> 
> Please add a longer help.
> 
>> + depends on (GICV2 || GICV3) && !NEW_VGIC
> 
> In the near future, I don't expect anyone to introduce a new non-GIC of 
> interrupt controller for Arm. But I would expect new version of the GIC. So I 
> would drop (GICV2 || GICV3).
> 
> Also when !NEW_VGIC is selected, this will make VGICV2 will be unselected. I 
> was actually expecting the other way around given that new vGIC only offer v2 
> support.
> 
> The rest of the changes LGTM.

Thanks a lot for having a look on this patch, you are right the NEW_VGIC is 
offering only v2 support at the moment, does this changes captures your
Comments?

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5cdba07df964..1c600b3b8d04 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -110,15 +110,19 @@ config HAS_ITS
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
 config VGICV2
-       bool "vGICv2 interface for guests"
+       bool "vGICv2 interface for domains"
        default y
-       depends on (GICV2 || GICV3) && !NEW_VGIC
+       help
+         Provides a virtualised interface for the Generic Interrupt Controller 
that
+         can be used by Xen's domains.
+         If unsure, say Y
 
 config HVM
         def_bool y
 
 config NEW_VGIC
        bool "Use new VGIC implementation"
+       select VGICV2
        ---help---
 
        This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o



> 
> Cheers,
> 
> -- 
> Julien Grall




 


Rackspace

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