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 --- |