[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:19:56 +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=Yko7sJmAsPPi1OmFjJV2UWT7nJR71uws+pnhFOs32cY=; b=fIB7skvQuVMrADkKLzSsj5ZhveGNVBxgXZh4VFrRyDpKYu8z3yXqkfrGEzycNho32NwQLOMWl1h3NbZGpgz0k8xfSykrvyzH66a1QTTBjt0lv613qYx9JlFomzEAcpSY/5pY3FZjSRGtbOxeBWVqsxb4kBWKZURG2q0Sxl8pe85uCZ7ZELo9E4+ZOTJ8llQYOuUeiol+spwmg4YV6K6TDFnqEjL7ogLIx1X5PXUu/LiErj35fGUcRfPbNsWdxe5mzm0bcyQ3bXC7/2IKkgEvEAjent+ZY24cxhOI6gSBsCYuQcdhV0NLXAmDGA6bbXdw9kcL4Nr9g2HJlbC8YJgJvg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IYko0bpM/8JPO7Zo2xzS4CIuTuiNDzMRGIAX9yL9t3GyQDXQ7XaoTOVHhMFA0WmpwCsfwqAywJuUfmIBMhPXfY6pmpyZuMWZ0XP/dRFw5k1c6qBrENug83VMsjuhV/uMAwshdOU2S/kpZt3aBatkX9nt1iFQnaB405pDNCj3fN3cbNb4USjfDYpAyK7Au7DI9XEowDI2CAz8afhu6TkwnMH6k15exGosjz7ncTIfh8AYnGg+NeVxozV0CHvsgUud0O+qUpkI1Bw96O13lp7M1svHMufD85ukxd9w/jq31e2ArK+7xHmsAUXBgEjzHGFMtnONDOauXH/r38ERl2SAlg==
  • 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:20:32 +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/YV3wAgAAz1YCAAAR1AA==
  • Thread-topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional


> On 3 Aug 2023, at 14:03, Luca Fancellu <Luca.Fancellu@xxxxxxx> wrote:
> 
> 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

Sorry, I meant to use here “select GICV2"

>        ---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®.