Lines Matching refs:cpu

77 static int boot_secondary(unsigned int cpu, struct task_struct *idle)  in boot_secondary()  argument
79 if (cpu_ops[cpu]->cpu_boot) in boot_secondary()
80 return cpu_ops[cpu]->cpu_boot(cpu); in boot_secondary()
87 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument
101 ret = boot_secondary(cpu, idle); in __cpu_up()
110 if (!cpu_online(cpu)) { in __cpu_up()
111 pr_crit("CPU%u: failed to come online\n", cpu); in __cpu_up()
115 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up()
135 unsigned int cpu = smp_processor_id(); in secondary_start_kernel() local
143 cpumask_set_cpu(cpu, mm_cpumask(mm)); in secondary_start_kernel()
146 printk("CPU%u: Booted secondary processor\n", cpu); in secondary_start_kernel()
159 if (cpu_ops[cpu]->cpu_postboot) in secondary_start_kernel()
160 cpu_ops[cpu]->cpu_postboot(); in secondary_start_kernel()
170 notify_cpu_starting(cpu); in secondary_start_kernel()
172 smp_store_cpu_info(cpu); in secondary_start_kernel()
179 set_cpu_online(cpu, true); in secondary_start_kernel()
193 static int op_cpu_disable(unsigned int cpu) in op_cpu_disable() argument
199 if (!cpu_ops[cpu] || !cpu_ops[cpu]->cpu_die) in op_cpu_disable()
206 if (cpu_ops[cpu]->cpu_disable) in op_cpu_disable()
207 return cpu_ops[cpu]->cpu_disable(cpu); in op_cpu_disable()
217 unsigned int cpu = smp_processor_id(); in __cpu_disable() local
220 ret = op_cpu_disable(cpu); in __cpu_disable()
228 set_cpu_online(cpu, false); in __cpu_disable()
238 clear_tasks_mm_cpumask(cpu); in __cpu_disable()
243 static int op_cpu_kill(unsigned int cpu) in op_cpu_kill() argument
250 if (!cpu_ops[cpu]->cpu_kill) in op_cpu_kill()
253 return cpu_ops[cpu]->cpu_kill(cpu); in op_cpu_kill()
262 void __cpu_die(unsigned int cpu) in __cpu_die() argument
265 pr_crit("CPU%u: cpu didn't die\n", cpu); in __cpu_die()
268 pr_notice("CPU%u: shutdown\n", cpu); in __cpu_die()
276 if (!op_cpu_kill(cpu)) in __cpu_die()
277 pr_warn("CPU%d may not have shut down cleanly\n", cpu); in __cpu_die()
290 unsigned int cpu = smp_processor_id(); in cpu_die() local
304 cpu_ops[cpu]->cpu_die(cpu); in cpu_die()
329 unsigned int i, cpu = 1; in of_smp_init_cpus() local
363 for (i = 1; (i < cpu) && (i < NR_CPUS); i++) { in of_smp_init_cpus()
395 if (cpu >= NR_CPUS) in of_smp_init_cpus()
398 if (cpu_read_ops(dn, cpu) != 0) in of_smp_init_cpus()
401 if (cpu_ops[cpu]->cpu_init(dn, cpu)) in of_smp_init_cpus()
405 cpu_logical_map(cpu) = hwid; in of_smp_init_cpus()
407 cpu++; in of_smp_init_cpus()
411 if (cpu > NR_CPUS) in of_smp_init_cpus()
413 cpu, NR_CPUS); in of_smp_init_cpus()
432 unsigned int cpu, ncores = num_possible_cpus(); in smp_prepare_cpus() local
456 for_each_possible_cpu(cpu) { in smp_prepare_cpus()
460 if (cpu == smp_processor_id()) in smp_prepare_cpus()
463 if (!cpu_ops[cpu]) in smp_prepare_cpus()
466 err = cpu_ops[cpu]->cpu_prepare(cpu); in smp_prepare_cpus()
470 set_cpu_present(cpu, true); in smp_prepare_cpus()
499 unsigned int cpu, i; in show_ipi_list() local
504 for_each_online_cpu(cpu) in show_ipi_list()
506 __get_irq_stat(cpu, ipi_irqs[i])); in show_ipi_list()
511 u64 smp_irq_stat_cpu(unsigned int cpu) in smp_irq_stat_cpu() argument
517 sum += __get_irq_stat(cpu, ipi_irqs[i]); in smp_irq_stat_cpu()
527 void arch_send_call_function_single_ipi(int cpu) in arch_send_call_function_single_ipi() argument
529 smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC); in arch_send_call_function_single_ipi()
545 static void ipi_cpu_stop(unsigned int cpu) in ipi_cpu_stop() argument
550 pr_crit("CPU%u: stopping\n", cpu); in ipi_cpu_stop()
555 set_cpu_online(cpu, false); in ipi_cpu_stop()
568 unsigned int cpu = smp_processor_id(); in handle_IPI() local
573 __inc_irq_stat(cpu, ipi_irqs[ipinr]); in handle_IPI()
589 ipi_cpu_stop(cpu); in handle_IPI()
610 pr_crit("CPU%u: Unknown IPI message 0x%x\n", cpu, ipinr); in handle_IPI()
619 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument
621 smp_cross_call(cpumask_of(cpu), IPI_RESCHEDULE); in smp_send_reschedule()