[PATCH] xen/arm: platform: Select GICV3 dependency for RCAR4

Oleksandr Tyshchenko posted 1 patch 1 month, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20250901140231.1322170-1-oleksandr._5Ftyshchenko@epam.com
xen/arch/arm/platforms/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] xen/arm: platform: Select GICV3 dependency for RCAR4
Posted by Oleksandr Tyshchenko 1 month, 4 weeks ago
The Renesas R-Car Gen4 platform requires the GICv3 driver,
including support for the Interrupt Translation Service (ITS).

Without explicitly selecting GICV3, it was possible to create a
configuration with RCAR4=y and GICV3=n, leading to a build failure
due to unmet dependencies.

GICv3 driver (GICV3) [Y/n/?] (NEW) n
WARNING: unmet direct dependencies detected for HAS_ITS
  Depends on [n]: GICV3 [=n] && !NEW_VGIC [=n] && !ARM_32 [=n]
  Selected by [y]:
  - RCAR4 [=y] && <choice> && ARM_64 [=y]

...

arch/arm/gic-v3-its.c: In function 'gicv3_its_map_guest_device':
arch/arm/gic-v3-its.c:729:41: error: 'struct vgic_dist' has no member named 'its_devices'
  729 |     struct rb_node **new = &d->arch.vgic.its_devices.rb_node, *parent = NULL;
      |                                         ^
arch/arm/gic-v3-its.c:755:28: error: 'struct vgic_dist' has no member named 'its_devices_lock'
  755 |     spin_lock(&d->arch.vgic.its_devices_lock);
      |                            ^
arch/arm/gic-v3-its.c:768:54: error: 'struct vgic_dist' has no member named 'its_devices'
  768 |                 rb_erase(&temp->rbnode, &d->arch.vgic.its_devices);
      |                                                      ^
In file included from ./include/xen/sched.h:6,
                 from ./include/xen/iocap.h:10,
                 from arch/arm/gic-v3-its.c:13:

...

Fix this by adding "select GICV3" to the RCAR4 Kconfig entry.

Fixes: 336fc7a19b49 ("xen/arm: platform: Add support for R-Car Gen4")
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 xen/arch/arm/platforms/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index c8bc0bfae3..888d0b85d5 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -33,6 +33,7 @@ config RCAR3
 config RCAR4
 	bool "Renesas R-Car Gen4 support"
 	depends on ARM_64
+	select GICV3
 	select HAS_SCIF
 	select HAS_ITS
 	select IPMMU_VMSA
-- 
2.34.1
Re: [PATCH] xen/arm: platform: Select GICV3 dependency for RCAR4
Posted by Orzel, Michal 1 month, 4 weeks ago

On 01/09/2025 16:02, Oleksandr Tyshchenko wrote:
> The Renesas R-Car Gen4 platform requires the GICv3 driver,
> including support for the Interrupt Translation Service (ITS).
> 
> Without explicitly selecting GICV3, it was possible to create a
> configuration with RCAR4=y and GICV3=n, leading to a build failure
> due to unmet dependencies.
> 
> GICv3 driver (GICV3) [Y/n/?] (NEW) n
> WARNING: unmet direct dependencies detected for HAS_ITS
>   Depends on [n]: GICV3 [=n] && !NEW_VGIC [=n] && !ARM_32 [=n]
>   Selected by [y]:
>   - RCAR4 [=y] && <choice> && ARM_64 [=y]
> 
> ...
> 
> arch/arm/gic-v3-its.c: In function 'gicv3_its_map_guest_device':
> arch/arm/gic-v3-its.c:729:41: error: 'struct vgic_dist' has no member named 'its_devices'
>   729 |     struct rb_node **new = &d->arch.vgic.its_devices.rb_node, *parent = NULL;
>       |                                         ^
> arch/arm/gic-v3-its.c:755:28: error: 'struct vgic_dist' has no member named 'its_devices_lock'
>   755 |     spin_lock(&d->arch.vgic.its_devices_lock);
>       |                            ^
> arch/arm/gic-v3-its.c:768:54: error: 'struct vgic_dist' has no member named 'its_devices'
>   768 |                 rb_erase(&temp->rbnode, &d->arch.vgic.its_devices);
>       |                                                      ^
> In file included from ./include/xen/sched.h:6,
>                  from ./include/xen/iocap.h:10,
>                  from arch/arm/gic-v3-its.c:13:
> 
> ...
> 
> Fix this by adding "select GICV3" to the RCAR4 Kconfig entry.
> 
> Fixes: 336fc7a19b49 ("xen/arm: platform: Add support for R-Car Gen4")
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal