1 /* 2 * SMP support for R-Mobile / SH-Mobile 3 * 4 * Copyright (C) 2010 Magnus Damm 5 * Copyright (C) 2011 Paul Mundt 6 * 7 * Based on vexpress, Copyright (C) 2002 ARM Ltd, All Rights Reserved 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License version 2 as 11 * published by the Free Software Foundation. 12 */ 13 #include <linux/init.h> 14 #include <linux/smp.h> 15 #include <asm/hardware/gic.h> 16 17 void __init shmobile_smp_init_cpus(unsigned int ncores) 18 { 19 unsigned int i; 20 21 if (ncores > nr_cpu_ids) { 22 pr_warn("SMP: %u cores greater than maximum (%u), clipping\n", 23 ncores, nr_cpu_ids); 24 ncores = nr_cpu_ids; 25 } 26 27 for (i = 0; i < ncores; i++) 28 set_cpu_possible(i, true); 29 30 set_smp_cross_call(gic_raise_softirq); 31 } 32