summaryrefslogtreecommitdiffstats
path: root/arch/tile
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-03-29 15:59:11 -0400
committerChris Metcalf <cmetcalf@tilera.com>2012-04-02 12:13:32 -0400
commitcb210ee3a81afab7c64777635cc18899a2bdd9a5 (patch)
treecbce6fcd1f4e7ee47460c4c770916b467bdd6364 /arch/tile
parent8c92ba6c327ee5089dec1e92eaa82927bee63d6d (diff)
downloadop-kernel-dev-cb210ee3a81afab7c64777635cc18899a2bdd9a5.zip
op-kernel-dev-cb210ee3a81afab7c64777635cc18899a2bdd9a5.tar.gz
arch/tile: implement panic_smp_self_stop()
This allows the later-panicking tiles to wait in a lower power state until they get interrupted with an smp_send_stop(). Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile')
-rw-r--r--arch/tile/kernel/smp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/tile/kernel/smp.c b/arch/tile/kernel/smp.c
index 7b6df8c..91da0f7 100644
--- a/arch/tile/kernel/smp.c
+++ b/arch/tile/kernel/smp.c
@@ -113,6 +113,12 @@ void smp_send_stop(void)
send_IPI_allbutself(MSG_TAG_STOP_CPU);
}
+/* On panic, just wait; we may get an smp_send_stop() later on. */
+void panic_smp_self_stop(void)
+{
+ while (1)
+ asm("nap; nop");
+}
/*
* Dispatch code called from hv_message_intr() for HV_MSG_TILE hv messages.
OpenPOWER on IntegriCloud