diff options
Diffstat (limited to 'arch/tile/kernel/smp.c')
| -rw-r--r-- | arch/tile/kernel/smp.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/tile/kernel/smp.c b/arch/tile/kernel/smp.c index a44e103c5a6..91da0f72195 100644 --- a/arch/tile/kernel/smp.c +++ b/arch/tile/kernel/smp.c @@ -103,7 +103,7 @@ static void smp_stop_cpu_interrupt(void)  	set_cpu_online(smp_processor_id(), 0);  	arch_local_irq_disable_all();  	for (;;) -		asm("nap"); +		asm("nap; nop");  }  /* This function calls the 'stop' function on all other CPUs in the system. */ @@ -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.  |