platsmp.c (cf9ce948f47640797bd19980e1d99c6d17d0bdc3) platsmp.c (b1cffebf1029c87e1f1984d48463ee21093a6bc7)
1/* linux/arch/arm/mach-exynos4/platsmp.c
2 *
3 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
5 *
6 * Cloned from linux/arch/arm/mach-vexpress/platsmp.c
7 *
8 * Copyright (C) 2002 ARM Ltd.

--- 135 unchanged lines hidden (view full) ---

144 */
145
146 timeout = jiffies + (1 * HZ);
147 while (time_before(jiffies, timeout)) {
148 smp_rmb();
149
150 __raw_writel(virt_to_phys(exynos4_secondary_startup),
151 cpu_boot_reg(phys_cpu));
1/* linux/arch/arm/mach-exynos4/platsmp.c
2 *
3 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
5 *
6 * Cloned from linux/arch/arm/mach-vexpress/platsmp.c
7 *
8 * Copyright (C) 2002 ARM Ltd.

--- 135 unchanged lines hidden (view full) ---

144 */
145
146 timeout = jiffies + (1 * HZ);
147 while (time_before(jiffies, timeout)) {
148 smp_rmb();
149
150 __raw_writel(virt_to_phys(exynos4_secondary_startup),
151 cpu_boot_reg(phys_cpu));
152 gic_raise_softirq(cpumask_of(cpu), 0);
152 arch_send_wakeup_ipi_mask(cpumask_of(cpu));
153
154 if (pen_release == -1)
155 break;
156
157 udelay(10);
158 }
159
160 /*

--- 24 unchanged lines hidden (view full) ---

185 if (ncores > nr_cpu_ids) {
186 pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
187 ncores, nr_cpu_ids);
188 ncores = nr_cpu_ids;
189 }
190
191 for (i = 0; i < ncores; i++)
192 set_cpu_possible(i, true);
153
154 if (pen_release == -1)
155 break;
156
157 udelay(10);
158 }
159
160 /*

--- 24 unchanged lines hidden (view full) ---

185 if (ncores > nr_cpu_ids) {
186 pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
187 ncores, nr_cpu_ids);
188 ncores = nr_cpu_ids;
189 }
190
191 for (i = 0; i < ncores; i++)
192 set_cpu_possible(i, true);
193
194 set_smp_cross_call(gic_raise_softirq);
195}
196
197static void __init exynos_smp_prepare_cpus(unsigned int max_cpus)
198{
199 int i;
200
201 if (!(soc_is_exynos5250() || soc_is_exynos5440()))
202 scu_enable(scu_base_addr());

--- 21 unchanged lines hidden ---
193}
194
195static void __init exynos_smp_prepare_cpus(unsigned int max_cpus)
196{
197 int i;
198
199 if (!(soc_is_exynos5250() || soc_is_exynos5440()))
200 scu_enable(scu_base_addr());

--- 21 unchanged lines hidden ---