sh: smp: shove a cpu_relax() in the plat_start_cpu() busy loop.
Without this, certain versions of GCC will happily optimize the entire loop out. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -82,7 +82,7 @@ void plat_start_cpu(unsigned int cpu, unsigned long entry_point)
|
|||||||
ctrl_outl(STBCR_MSTP, STBCR_REG(cpu));
|
ctrl_outl(STBCR_MSTP, STBCR_REG(cpu));
|
||||||
|
|
||||||
while (!(ctrl_inl(STBCR_REG(cpu)) & STBCR_MSTP))
|
while (!(ctrl_inl(STBCR_REG(cpu)) & STBCR_MSTP))
|
||||||
;
|
cpu_relax();
|
||||||
|
|
||||||
/* Start up secondary processor by sending a reset */
|
/* Start up secondary processor by sending a reset */
|
||||||
ctrl_outl(STBCR_AP_VAL, STBCR_REG(cpu));
|
ctrl_outl(STBCR_AP_VAL, STBCR_REG(cpu));
|
||||||
|
Reference in New Issue
Block a user