|
@@ -136,6 +136,24 @@ static int zynq_cpu_kill(unsigned cpu)
|
|
|
zynq_slcr_cpu_stop(cpu);
|
|
|
return 1;
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ * platform-specific code to shutdown a CPU
|
|
|
+ *
|
|
|
+ * Called with IRQs disabled
|
|
|
+ */
|
|
|
+static void zynq_platform_cpu_die(unsigned int cpu)
|
|
|
+{
|
|
|
+ zynq_slcr_cpu_state_write(cpu, true);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * there is no power-control hardware on this platform, so all
|
|
|
+ * we can do is put the core into WFI; this is safe as the calling
|
|
|
+ * code will have already disabled interrupts
|
|
|
+ */
|
|
|
+ for (;;)
|
|
|
+ cpu_do_idle();
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
struct smp_operations zynq_smp_ops __initdata = {
|