aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@FreeBSD.org>2024-01-24 23:49:54 +0000
committerJessica Clarke <jrtc27@FreeBSD.org>2024-01-24 23:49:54 +0000
commit103d39efe0c68cb2a808c306b14c3f473a02535d (patch)
tree4b8ef8c367f74d313d6a1ae59937bdc4991c538c /sys/arm64
parentfae8755f16ff5b9bdc32df046e0f16c0cbb48a29 (diff)
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/arm64/gic_v3_acpi.c8
-rw-r--r--sys/arm64/arm64/gic_v3_fdt.c8
2 files changed, 16 insertions, 0 deletions
diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c
index e55aea86157e..f91a8f6078d9 100644
--- a/sys/arm64/arm64/gic_v3_acpi.c
+++ b/sys/arm64/arm64/gic_v3_acpi.c
@@ -351,6 +351,14 @@ gic_v3_acpi_attach(device_t dev)
goto error;
}
+#ifdef SMP
+ err = intr_ipi_pic_register(dev, 0);
+ if (err != 0) {
+ device_printf(dev, "could not register for IPIs\n");
+ goto error;
+ }
+#endif
+
/*
* Try to register the ITS driver to this GIC. The GIC will act as
* a bus in that case. Failure here will not affect the main GIC
diff --git a/sys/arm64/arm64/gic_v3_fdt.c b/sys/arm64/arm64/gic_v3_fdt.c
index 8adb0497771e..3a3647fc89a5 100644
--- a/sys/arm64/arm64/gic_v3_fdt.c
+++ b/sys/arm64/arm64/gic_v3_fdt.c
@@ -166,6 +166,14 @@ gic_v3_fdt_attach(device_t dev)
goto error;
}
+#ifdef SMP
+ err = intr_ipi_pic_register(dev, 0);
+ if (err != 0) {
+ device_printf(dev, "could not register for IPIs\n");
+ goto error;
+ }
+#endif
+
/*
* Try to register ITS to this GIC.
* GIC will act as a bus in that case.