summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-10-14 05:14:30 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2009-10-14 06:44:12 (GMT)
commita66c2edea56c291a6f6a52f07496ebb97c0880e8 (patch)
tree8019cfb6ebcfbc676a6c08fba83a460f63edea61 /arch/sh
parent2908df9e2ce85e4de19ba81ac619acdf93a8bfaa (diff)
downloadlinux-a66c2edea56c291a6f6a52f07496ebb97c0880e8.tar.xz
sh: Populate initial secondary CPU info from boot_cpu_data.
The secondary CPU info was seeing corrupted results due to not entering all of the setup paths taken by the boot CPU. So we just memcpy() the boot cpu data over directly, and then fix up the per-CPU bits. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/smp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c
index 442d8d4..160db10 100644
--- a/arch/sh/kernel/smp.c
+++ b/arch/sh/kernel/smp.c
@@ -35,6 +35,8 @@ static inline void __init smp_store_cpu_info(unsigned int cpu)
{
struct sh_cpuinfo *c = cpu_data + cpu;
+ memcpy(c, &boot_cpu_data, sizeof(struct sh_cpuinfo));
+
c->loops_per_jiffy = loops_per_jiffy;
}