Lines Matching +full:cpu +full:- +full:nr
1 // SPDX-License-Identifier: GPL-2.0-or-later
23 #include <linux/cpu.h>
38 #include <asm/text-patching.h>
50 * The Primary thread of each non-boot processor was started from the OF client
56 * smp_startup_cpu() - start the given cpu
57 * @lcpu: Logical CPU ID of the CPU to be started.
64 * 0 - failure
65 * 1 - success
82 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu()
83 * cpu is already spinning. in smp_startup_cpu()
91 printk(KERN_ERR "start-cpu failed: %i\n", status); in smp_startup_cpu()
98 static void smp_cell_setup_cpu(int cpu) in smp_cell_setup_cpu() argument
100 if (cpu != boot_cpuid) in smp_cell_setup_cpu()
109 static int smp_cell_kick_cpu(int nr) in smp_cell_kick_cpu() argument
111 if (nr < 0 || nr >= nr_cpu_ids) in smp_cell_kick_cpu()
112 return -EINVAL; in smp_cell_kick_cpu()
114 if (!smp_startup_cpu(nr)) in smp_cell_kick_cpu()
115 return -ENOENT; in smp_cell_kick_cpu()
119 * cpu_start field to become non-zero After we set cpu_start, in smp_cell_kick_cpu()
122 paca_ptrs[nr]->cpu_start = 1; in smp_cell_kick_cpu()
140 DBG(" -> smp_init_cell()\n"); in smp_init_cell()
155 /* Non-lpar has additional take/give timebase */ in smp_init_cell()
157 smp_ops->give_timebase = rtas_give_timebase; in smp_init_cell()
158 smp_ops->take_timebase = rtas_take_timebase; in smp_init_cell()
161 DBG(" <- smp_init_cell()\n"); in smp_init_cell()