Lines Matching refs:cpu

79 static int boot_secondary(unsigned int cpu, struct task_struct *idle)  in boot_secondary()  argument
81 if (cpu_ops[cpu]->cpu_boot) in boot_secondary()
82 return cpu_ops[cpu]->cpu_boot(cpu); in boot_secondary()
89 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument
103 ret = boot_secondary(cpu, idle); in __cpu_up()
112 if (!cpu_online(cpu)) { in __cpu_up()
113 pr_crit("CPU%u: failed to come online\n", cpu); in __cpu_up()
117 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up()
137 unsigned int cpu = smp_processor_id(); in secondary_start_kernel() local
166 if (cpu_ops[cpu]->cpu_postboot) in secondary_start_kernel()
167 cpu_ops[cpu]->cpu_postboot(); in secondary_start_kernel()
177 notify_cpu_starting(cpu); in secondary_start_kernel()
179 smp_store_cpu_info(cpu); in secondary_start_kernel()
187 cpu, read_cpuid_id()); in secondary_start_kernel()
188 set_cpu_online(cpu, true); in secondary_start_kernel()
202 static int op_cpu_disable(unsigned int cpu) in op_cpu_disable() argument
208 if (!cpu_ops[cpu] || !cpu_ops[cpu]->cpu_die) in op_cpu_disable()
215 if (cpu_ops[cpu]->cpu_disable) in op_cpu_disable()
216 return cpu_ops[cpu]->cpu_disable(cpu); in op_cpu_disable()
226 unsigned int cpu = smp_processor_id(); in __cpu_disable() local
229 ret = op_cpu_disable(cpu); in __cpu_disable()
237 set_cpu_online(cpu, false); in __cpu_disable()
247 static int op_cpu_kill(unsigned int cpu) in op_cpu_kill() argument
254 if (!cpu_ops[cpu]->cpu_kill) in op_cpu_kill()
257 return cpu_ops[cpu]->cpu_kill(cpu); in op_cpu_kill()
264 void __cpu_die(unsigned int cpu) in __cpu_die() argument
268 if (!cpu_wait_death(cpu, 5)) { in __cpu_die()
269 pr_crit("CPU%u: cpu didn't die\n", cpu); in __cpu_die()
272 pr_notice("CPU%u: shutdown\n", cpu); in __cpu_die()
280 err = op_cpu_kill(cpu); in __cpu_die()
283 cpu, err); in __cpu_die()
296 unsigned int cpu = smp_processor_id(); in cpu_die() local
310 cpu_ops[cpu]->cpu_die(cpu); in cpu_die()
374 static bool __init is_mpidr_duplicate(unsigned int cpu, u64 hwid) in is_mpidr_duplicate() argument
378 for (i = 1; (i < cpu) && (i < NR_CPUS); i++) in is_mpidr_duplicate()
388 static int __init smp_cpu_setup(int cpu) in smp_cpu_setup() argument
390 if (cpu_read_ops(cpu)) in smp_cpu_setup()
393 if (cpu_ops[cpu]->cpu_init(cpu)) in smp_cpu_setup()
396 set_cpu_possible(cpu, true); in smp_cpu_setup()
573 unsigned int cpu, ncores = num_possible_cpus(); in smp_prepare_cpus() local
597 for_each_possible_cpu(cpu) { in smp_prepare_cpus()
601 if (cpu == smp_processor_id()) in smp_prepare_cpus()
604 if (!cpu_ops[cpu]) in smp_prepare_cpus()
607 err = cpu_ops[cpu]->cpu_prepare(cpu); in smp_prepare_cpus()
611 set_cpu_present(cpu, true); in smp_prepare_cpus()
640 unsigned int cpu, i; in show_ipi_list() local
645 for_each_online_cpu(cpu) in show_ipi_list()
647 __get_irq_stat(cpu, ipi_irqs[i])); in show_ipi_list()
652 u64 smp_irq_stat_cpu(unsigned int cpu) in smp_irq_stat_cpu() argument
658 sum += __get_irq_stat(cpu, ipi_irqs[i]); in smp_irq_stat_cpu()
668 void arch_send_call_function_single_ipi(int cpu) in arch_send_call_function_single_ipi() argument
670 smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC); in arch_send_call_function_single_ipi()
686 static void ipi_cpu_stop(unsigned int cpu) in ipi_cpu_stop() argument
691 pr_crit("CPU%u: stopping\n", cpu); in ipi_cpu_stop()
696 set_cpu_online(cpu, false); in ipi_cpu_stop()
709 unsigned int cpu = smp_processor_id(); in handle_IPI() local
714 __inc_irq_stat(cpu, ipi_irqs[ipinr]); in handle_IPI()
730 ipi_cpu_stop(cpu); in handle_IPI()
751 pr_crit("CPU%u: Unknown IPI message 0x%x\n", cpu, ipinr); in handle_IPI()
760 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument
762 smp_cross_call(cpumask_of(cpu), IPI_RESCHEDULE); in smp_send_reschedule()