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
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
© 2016 - 2025 Red Hat, Inc.