Lines Matching +full:idle +full:- +full:halt
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 * -- Added support for Inter Processor Interrupts
9 * -- Initial Write (Borrowed heavily from ARM)
54 return -EINVAL; in arc_get_cpu_map()
57 return -EINVAL; in arc_get_cpu_map()
64 * "possible-cpus" property in DeviceTree pretend all [0..NR_CPUS-1] exist.
70 if (arc_get_cpu_map("possible-cpus", &cpumask)) { in arc_init_cpu_possible()
71 pr_warn("Failed to get possible-cpus from dtb, pretending all %u cpus exist\n", in arc_init_cpu_possible()
86 * - Initialise the CPU possible map early - this describes the CPUs
88 * - Call early smp init hook. This can initialize a specific multi-core
117 * Default smp boot helper for Run-on-reset case where all cores start off
118 * together. Non-masters need to wait for Master to start running.
119 * This is implemented using a flag in memory, which Non-masters spin-wait on.
120 * Master sets it to cpu-id of core to "ungate" it.
145 /* for halt-on-reset, we've waited already */ in arc_platform_smp_wait_to_boot()
175 current->active_mm = mm; in start_kernel_secondary()
178 /* Some SMP H/w setup - for each cpu */ in start_kernel_secondary()
182 if (machine_desc->init_per_cpu) in start_kernel_secondary()
183 machine_desc->init_per_cpu(cpu); in start_kernel_secondary()
195 * Called from kernel_init( ) -> smp_init( ) - for each CPU
197 * At this point, Secondary Processor is "HALT"ed:
198 * -It booted, but was halted in head.S
199 * -It was configured to halt-on-reset
204 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument
208 secondary_idle_tsk = idle; in __cpu_up()
210 pr_info("Idle Task [%d] %p", cpu, idle); in __cpu_up()
228 return -1; in __cpu_up()
248 * In arches with IRQ for each msg type (above), receiver can use IRQ-id to
250 * IRQ), the msg-type needs to be conveyed via per-cpu data
280 * so @new msg can be a free-loader in ipi_send_msg_one()
320 * ipi_cpu_stop - handle IPI from smp_send_stop()
352 * arch-common ISR to handle for inter-processor interrupts
386 * API called by platform code to hookup arch-common ISR to their IPI IRQ