Fix previous commit. We need to enable the new "halt" IPI on all the CPUs
authorkettenis <kettenis@openbsd.org>
Sat, 16 Jul 2022 12:02:28 +0000 (12:02 +0000)
committerkettenis <kettenis@openbsd.org>
Sat, 16 Jul 2022 12:02:28 +0000 (12:02 +0000)
like we do for the other ones.  If we don't, the IPI won't arrive and we'll
hang for ever when we try to suspend.

ok patrick@

sys/arch/arm64/dev/agintc.c

index e2c1d77..3eefae7 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: agintc.c,v 1.38 2022/07/13 09:28:18 kettenis Exp $ */
+/* $OpenBSD: agintc.c,v 1.39 2022/07/16 12:02:28 kettenis Exp $ */
 /*
  * Copyright (c) 2007, 2009, 2011, 2017 Dale Rahn <drahn@dalerahn.com>
  * Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
@@ -697,6 +697,8 @@ agintc_cpuinit(void)
                agintc_route_irq(sc->sc_ipi_irq[0], IRQ_ENABLE, curcpu());
        if (sc->sc_ipi_irq[1] != NULL)
                agintc_route_irq(sc->sc_ipi_irq[1], IRQ_ENABLE, curcpu());
+       if (sc->sc_ipi_irq[2] != NULL)
+               agintc_route_irq(sc->sc_ipi_irq[2], IRQ_ENABLE, curcpu());
 
        __asm volatile("msr "STR(ICC_PMR)", %x0" :: "r"(0xff));
        __asm volatile("msr "STR(ICC_BPR1)", %x0" :: "r"(0));