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

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


  • To: Michal Orzel <michal.orzel@xxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Wed, 2 Aug 2023 14:42:53 +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=x8rPRUL91NEXqFBgvQIvumIDzFRaE95Z0bjyHtDytK4=; b=jN05A8FeeIKvajFMWYBgBe3J0c6rSD8r6PrcgVBEg23E6mV9p37X/JP0JroZLS7+pdGWrxAZth34ppN4zyFYoekV2hJU7lPYvA1XtMC1MITz/wZnH1ZQtrFpKUepIsrGfUQtqg6hlfZRMp/8WrloopQVF99u9UQFTRa4ZLtExK/lAcIeM7++1O+hdu5zvETL8fDBSUS0D3wMegGoXoQ6vkft54+aWZXhVXb4trireTUoqlG4XKKKahSfBXaOKcGFKIFExnTmbjJNrpLGwUN/F0EKW5zERb7cFF8OlYAcM8NwfiKrMia2hk3iXUJxOSRPV91t2mxITEugr4w72zFg7w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oejz501g3Feek8NzGhNDM3XNvWeVf79TlZHXH1HfZtJXQ1LUwj1FpcMnGFfoLbYwnJrHQ1Z29TF515oA2cvB0yH4zX2bQYlvfPUdt8hbKfgjmPvKMx2C8OZUSkxbGf6VlRiJQHxg36wm0oj0ld64535PAdcOmQAAyOAPBwY/UfJuEEGKbKN1bmHBacSHqp7p44m7Agix/KM6Wgsj62rtJHyKXTcmnqFLN0arqD4p+taQY1LTKIA0ya020GgKwYNcxPGyr2UqVgrZMFARvF1lpFS8bViGGI5MA/RVrt1VFM0pMd4m2zo/Z3MlEoh3YCXb84Pore1eijAGlgNjVtFcKA==
  • 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>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 02 Aug 2023 14:43:45 +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/XEDgAgAAEZQA=
  • Thread-topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional


> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@xxxxxxx> wrote:
> 
> Hi Luca,
> 
> On 02/08/2023 15:53, Luca Fancellu wrote:
>> 
>> 
>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>> when needed, the option is active by default.
>> 
>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>> the GICv2 emulation for guests, it is required only when using GICV2
>> driver, otherwise using GICV3 it is optional and can be deselected
>> if the user doesn't want to offer the vGICv2 interface to guests or
>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>> 
>> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx>
>> ---
>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>> xen/arch/arm/Makefile       |  4 ++--
>> xen/arch/arm/domain_build.c |  4 ++++
>> xen/arch/arm/gic-v3.c       |  4 ++++
>> xen/arch/arm/vgic.c         |  2 ++
>> 5 files changed, 25 insertions(+), 2 deletions(-)
>> 
>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>> index fd57a82dd284..dc702f08ace7 100644
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -78,6 +78,14 @@ config ARM_EFI
>>          UEFI firmware. A UEFI stub is provided to allow Xen to
>>          be booted as an EFI application.
>> 
>> +config GICV2
> So, now it would be possible to deselect both GIC drivers and Xen would not 
> complain when building.
> This means that Xen would fail on boot without any message as it happens 
> before serial driver initialization.
> Since having GIC driver built in is a must-have I think we need to make sure 
> that at least one is enabled.

Hi Michal,

I tried and I had:

Starting kernel ...

- UART enabled -
- Boot CPU booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Zero BSS -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000feffffff
(XEN) RAM: 0000000880000000 - 00000008ffffffff
(XEN)
(XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
(XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
(XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
(XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
(XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
(XEN)
(XEN)
(XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 
bootscrub=0
(XEN) PFN compression on bits 20...22
(XEN) Domain heap initialised
(XEN) Booting using Device Tree
(XEN) Platform: Generic System
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Unable to find compatible GIC in the device tree
(XEN) ****************************************
(XEN)
(XEN) Manual reset required ('noreboot' specified)

Wouldn’t be enough to suggest the user that at least one GIC needs to be 
selected? In the help it
also states “if unsure, say Y"

> 
> ~Michal


 


Rackspace

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