From cf4a92c81e0dd2bd5cbe0d70cfcecba51b449a33 Mon Sep 17 00:00:00 2001 From: chao an Date: Fri, 30 Aug 2024 08:35:49 +0800 Subject: [PATCH] armv8-r/gicv3: correct cpu index of irouter interrupt routing cpu should be index not cpuset Signed-off-by: chao an --- arch/arm/src/armv8-r/arm_gicv3.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/src/armv8-r/arm_gicv3.c b/arch/arm/src/armv8-r/arm_gicv3.c index 51ec1c6835d..5360a078338 100644 --- a/arch/arm/src/armv8-r/arm_gicv3.c +++ b/arch/arm/src/armv8-r/arm_gicv3.c @@ -630,7 +630,11 @@ void up_affinity_irq(int irq, cpu_set_t cpuset) { if (GIC_IS_SPI(irq)) { - arm_gic_write_irouter(cpuset, irq); + /* Only support interrupt routing mode 0, + * so routing to the first cpu in cpuset. + */ + + arm_gic_write_irouter(ffs(cpuset) - 1, irq); } }