git: 9522100a1724 - main - arm64: Fix build of gicv5 driver without SMP
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 24 Jun 2026 00:56:51 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=9522100a172466913cf6580b250101bfaa483460
commit 9522100a172466913cf6580b250101bfaa483460
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-24 00:56:41 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-06-24 00:56:41 +0000
arm64: Fix build of gicv5 driver without SMP
Fixes: c84261da6f6c ("arm64: Add an initial GICv5 driver")
---
sys/arm64/arm64/gicv5.c | 5 +++++
sys/arm64/arm64/gicv5_fdt.c | 2 ++
2 files changed, 7 insertions(+)
diff --git a/sys/arm64/arm64/gicv5.c b/sys/arm64/arm64/gicv5.c
index f42e3c97352c..5201248e20f5 100644
--- a/sys/arm64/arm64/gicv5.c
+++ b/sys/arm64/arm64/gicv5.c
@@ -918,7 +918,12 @@ gicv5_intr(void *arg)
KASSERT(LPI_IPI_IDX(irq) < LPI_IPI_LIMIT,
("%s: Invalid IPI LPI %u", __func__, irq));
ipi = LPI_TO_IPI(irq);
+#ifdef SMP
intr_ipi_dispatch(ipi);
+#else
+ device_printf(sc->gic_dev,
+ "IPI LPI %u on UP system detected\n", ipi);
+#endif
gicv5_eoi_intr(GICv5_LPI, irq);
} else {
intr_child_irq_handler(sc->gic_pic, irq);
diff --git a/sys/arm64/arm64/gicv5_fdt.c b/sys/arm64/arm64/gicv5_fdt.c
index b8e3fd721206..265cbd833078 100644
--- a/sys/arm64/arm64/gicv5_fdt.c
+++ b/sys/arm64/arm64/gicv5_fdt.c
@@ -278,7 +278,9 @@ gicv5_fdt_attach(device_t dev)
/* Register xref */
OF_device_register_xref(xref, dev);
+#ifdef SMP
intr_ipi_pic_register(dev, 0);
+#endif
error = intr_pic_claim_root(dev, xref, gicv5_intr, sc, INTR_ROOT_IRQ);
if (error != 0)