aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel
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/kernel
parentarch/tile: add "nop" after "nap" to help GX idle power draw (diff)
downloadlinux-dev-cb210ee3a81afab7c64777635cc18899a2bdd9a5.tar.xz
linux-dev-cb210ee3a81afab7c64777635cc18899a2bdd9a5.zip
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/kernel')
-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 7b6df8c27709..91da0f721958 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.