35 #include <linux/kernel.h>
41 #include <asm/mmu_context.h>
48 #if defined(CONFIG_CPU_XLP)
52 #elif defined(CONFIG_CPU_XLR)
100 #ifdef CONFIG_CPU_XLP
109 static void __cpuinit nlm_init_secondary(
void)
124 nlm_common_msgring_cpu_init();
159 unsigned int boot_cpu;
165 cpu_set(boot_cpu, phys_cpu_present_map);
171 for (i = 0; i <
NR_CPUS; i++) {
177 cpu_set(i, phys_cpu_present_map);
185 pr_info(
"Phys CPU present map: %lx, possible map %lx\n",
186 (
unsigned long)phys_cpu_present_map.bits[0],
189 pr_info(
"Detected %i Slave CPU(s)\n", num_cpus);
195 uint32_t core0_thr_mask, core_thr_mask;
198 core0_thr_mask = cpu_mask & 0xf;
199 switch (core0_thr_mask) {
219 for (i = 1; i < 8; i++) {
220 core_thr_mask = (cpu_mask >> (i * 4)) & 0xf;
222 if (core_thr_mask != core0_thr_mask)
231 panic(
"Unsupported CPU mask %x\n", cpu_mask);
237 unsigned long reset_vec;
247 threadmode = nlm_parse_cpumask(wakeup_mask);
253 #ifdef CONFIG_CPU_XLP
264 .init_secondary = nlm_init_secondary,