diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2022-11-07 18:56:21 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2022-11-07 18:56:21 +0000 |
commit | b45fb2b71b77e6fa3d35663296360975f321252c (patch) | |
tree | 1b76ca97542f4b68f8e3a48c123677d6e6136e3b /sys | |
parent | 8ca5f8fdf98eb80afc305bb293dda64558273b51 (diff) |
Implement the "halt" IPI.
ok patrick@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/arm64/dev/aplintc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arch/arm64/dev/aplintc.c b/sys/arch/arm64/dev/aplintc.c index c663ed04cfc..3c60feaa38b 100644 --- a/sys/arch/arm64/dev/aplintc.c +++ b/sys/arch/arm64/dev/aplintc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aplintc.c,v 1.13 2022/08/22 12:34:55 tobhe Exp $ */ +/* $OpenBSD: aplintc.c,v 1.14 2022/11/07 18:56:20 kettenis Exp $ */ /* * Copyright (c) 2021 Mark Kettenis * @@ -635,6 +635,9 @@ aplintc_handle_ipi(struct aplintc_softc *sc) #ifdef DDB db_enter(); #endif + } else if (sc->sc_ipi_reason[ci->ci_cpuid] == ARM_IPI_HALT) { + sc->sc_ipi_reason[ci->ci_cpuid] = ARM_IPI_NOP; + cpu_halt(); } sc->sc_ipi_count.ec_count++; |