diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-08-06 05:39:32 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-09-07 21:35:03 -0400 |
commit | 71f0bdcab69ab36b1e939d36063aaf6c4a164ed3 (patch) | |
tree | 5d213c8bb4fc18b419ed297053e9be060fb7b58c /arch/sh/kernel | |
parent | 8c24594deab89a484879bee270e948f0a556ed75 (diff) |
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>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/smp-shx3.c b/arch/sh/kernel/cpu/sh4a/smp-shx3.c index edb4da037e0c..b8869aa20dec 100644 --- a/arch/sh/kernel/cpu/sh4a/smp-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/smp-shx3.c | |||
@@ -82,7 +82,7 @@ void plat_start_cpu(unsigned int cpu, unsigned long entry_point) | |||
82 | ctrl_outl(STBCR_MSTP, STBCR_REG(cpu)); | 82 | ctrl_outl(STBCR_MSTP, STBCR_REG(cpu)); |
83 | 83 | ||
84 | while (!(ctrl_inl(STBCR_REG(cpu)) & STBCR_MSTP)) | 84 | while (!(ctrl_inl(STBCR_REG(cpu)) & STBCR_MSTP)) |
85 | ; | 85 | cpu_relax(); |
86 | 86 | ||
87 | /* Start up secondary processor by sending a reset */ | 87 | /* Start up secondary processor by sending a reset */ |
88 | ctrl_outl(STBCR_AP_VAL, STBCR_REG(cpu)); | 88 | ctrl_outl(STBCR_AP_VAL, STBCR_REG(cpu)); |