Lines Matching +full:cpu +full:- +full:nr
1 // SPDX-License-Identifier: GPL-2.0-or-later
23 #include <linux/cpu.h>
39 #include <asm/code-patching.h>
51 * The Primary thread of each non-boot processor was started from the OF client
57 * smp_startup_cpu() - start the given cpu
64 * 0 - failure
65 * 1 - success
82 task_thread_info(paca_ptrs[lcpu]->__current)->preempt_count = 0; in smp_startup_cpu()
85 * If the RTAS start-cpu token does not exist then presume the in smp_startup_cpu()
86 * cpu is already spinning. in smp_startup_cpu()
88 start_cpu = rtas_token("start-cpu"); in smp_startup_cpu()
94 printk(KERN_ERR "start-cpu failed: %i\n", status); in smp_startup_cpu()
101 static void smp_cell_setup_cpu(int cpu) in smp_cell_setup_cpu() argument
103 if (cpu != boot_cpuid) in smp_cell_setup_cpu()
112 static int smp_cell_kick_cpu(int nr) in smp_cell_kick_cpu() argument
114 if (nr < 0 || nr >= nr_cpu_ids) in smp_cell_kick_cpu()
115 return -EINVAL; in smp_cell_kick_cpu()
117 if (!smp_startup_cpu(nr)) in smp_cell_kick_cpu()
118 return -ENOENT; in smp_cell_kick_cpu()
122 * cpu_start field to become non-zero After we set cpu_start, in smp_cell_kick_cpu()
125 paca_ptrs[nr]->cpu_start = 1; in smp_cell_kick_cpu()
143 DBG(" -> smp_init_cell()\n"); in smp_init_cell()
158 /* Non-lpar has additional take/give timebase */ in smp_init_cell()
159 if (rtas_token("freeze-time-base") != RTAS_UNKNOWN_SERVICE) { in smp_init_cell()
160 smp_ops->give_timebase = rtas_give_timebase; in smp_init_cell()
161 smp_ops->take_timebase = rtas_take_timebase; in smp_init_cell()
164 DBG(" <- smp_init_cell()\n"); in smp_init_cell()