Lines Matching refs:cpu

51 static void bmips_set_reset_vec(int cpu, u32 val);
59 static void bmips43xx_send_ipi_single(int cpu, unsigned int action);
60 static void bmips5000_send_ipi_single(int cpu, unsigned int action);
68 #define CPUNUM(cpu, shift) (((cpu) + bmips_cpu_offset) << (shift)) argument
69 #define ACTION_CLR_IPI(cpu, ipi) (0x2000 | CPUNUM(cpu, 9) | ((ipi) << 8)) argument
70 #define ACTION_SET_IPI(cpu, ipi) (0x3000 | CPUNUM(cpu, 9) | ((ipi) << 8)) argument
71 #define ACTION_BOOT_THREAD(cpu) (0x08 | CPUNUM(cpu, 0)) argument
75 int i, cpu = 1, boot_cpu = 0; in bmips_smp_setup() local
141 __cpu_number_map[i] = cpu; in bmips_smp_setup()
142 __cpu_logical_map[cpu] = i; in bmips_smp_setup()
143 cpu++; in bmips_smp_setup()
180 static void bmips_boot_secondary(int cpu, struct task_struct *idle) in bmips_boot_secondary() argument
201 pr_info("SMP: Booting CPU%d...\n", cpu); in bmips_boot_secondary()
203 if (cpumask_test_cpu(cpu, &bmips_booted_mask)) { in bmips_boot_secondary()
205 bmips_set_reset_vec(cpu, RESET_FROM_KSEG0); in bmips_boot_secondary()
210 bmips43xx_send_ipi_single(cpu, 0); in bmips_boot_secondary()
213 bmips5000_send_ipi_single(cpu, 0); in bmips_boot_secondary()
217 bmips_set_reset_vec(cpu, RESET_FROM_KSEG1); in bmips_boot_secondary()
223 if (cpu_logical_map(cpu) == 1) in bmips_boot_secondary()
227 write_c0_brcm_action(ACTION_BOOT_THREAD(cpu)); in bmips_boot_secondary()
230 cpumask_set_cpu(cpu, &bmips_booted_mask); in bmips_boot_secondary()
273 static void bmips5000_send_ipi_single(int cpu, unsigned int action) in bmips5000_send_ipi_single() argument
275 write_c0_brcm_action(ACTION_SET_IPI(cpu, action == SMP_CALL_FUNCTION)); in bmips5000_send_ipi_single()
314 static void bmips43xx_send_ipi_single(int cpu, unsigned int action) in bmips43xx_send_ipi_single() argument
319 set_c0_cause(cpu ? C_SW1 : C_SW0); in bmips43xx_send_ipi_single()
320 per_cpu(ipi_action_mask, cpu) |= action; in bmips43xx_send_ipi_single()
328 int action, cpu = irq - IPI0_IRQ; in bmips43xx_ipi_interrupt() local
332 per_cpu(ipi_action_mask, cpu) = 0; in bmips43xx_ipi_interrupt()
333 clear_c0_cause(cpu ? C_SW1 : C_SW0); in bmips43xx_ipi_interrupt()
357 unsigned int cpu = smp_processor_id(); in bmips_cpu_disable() local
359 if (cpu == 0) in bmips_cpu_disable()
362 pr_info("SMP: CPU%d is offline\n", cpu); in bmips_cpu_disable()
364 set_cpu_online(cpu, false); in bmips_cpu_disable()
365 cpumask_clear_cpu(cpu, &cpu_callin_map); in bmips_cpu_disable()
374 static void bmips_cpu_die(unsigned int cpu) in bmips_cpu_die() argument
461 int cpu; member
468 int shift = info->cpu & 0x01 ? 16 : 0; in bmips_set_reset_vec_remote()
476 if (info->cpu & 0x02) { in bmips_set_reset_vec_remote()
488 static void bmips_set_reset_vec(int cpu, u32 val) in bmips_set_reset_vec() argument
494 info.cpu = cpu; in bmips_set_reset_vec()
500 if (cpu == 0) in bmips_set_reset_vec()