kernel-hacking-2024-linux-s.../arch/arm/common
Nicolas Pitre 6137eba6c2 ARM: bL_switcher: wait until inbound is alive before performing a switch
In some cases, a significant delay may be observed between the moment
a request for a CPU to come up is made and the moment it is ready to
start executing kernel code.  This is especially true when a whole
cluster has to be powered up which may take in the order of miliseconds.
It is therefore a good idea to let the outbound CPU continue to execute
code in the mean time, and be notified when the inbound is ready before
performing the actual switch.

This is achieved by registering a completion block with the appropriate
IPI callback, and programming the sending of an IPI by the early assembly
code prior to entering the main kernel code.  Once the IPI is delivered
to the outbound CPU, the completion block is "completed" and the switcher
thread is resumed.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
2013-09-23 18:47:29 -04:00
..
bL_switcher.c ARM: bL_switcher: wait until inbound is alive before performing a switch 2013-09-23 18:47:29 -04:00
bL_switcher_dummy_if.c ARM: bL_switcher: add a simple /dev user interface for debugging purposes 2013-08-05 00:13:00 -04:00
dmabounce.c
edma.c ARM: edma: Add function to manually trigger an EDMA channel 2013-09-04 18:38:46 +05:30
firmware.c ARM: Add interface for registering and calling firmware-specific operations 2013-04-09 01:52:06 +09:00
icst.c
it8152.c
Kconfig ARM: davinci: move private EDMA API to arm/common 2013-06-18 10:52:03 +05:30
locomo.c
Makefile ARM: bL_switcher: add a simple /dev user interface for debugging purposes 2013-08-05 00:13:00 -04:00
mcpm_entry.c ARM: mcpm: add a simple poke mechanism to the early entry code 2013-09-23 18:47:27 -04:00
mcpm_head.S ARM: mcpm: add a simple poke mechanism to the early entry code 2013-09-23 18:47:27 -04:00
mcpm_platsmp.c arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
sa1111.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
scoop.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
sharpsl_param.c
timer-sp.c ARM: timer-sp: Set dynamic irq affinity 2013-08-22 00:18:53 +02:00
via82c505.c
vlock.h ARM: mcpm: Add baremetal voting mutexes 2013-04-24 10:37:01 -04:00
vlock.S ARM: mcpm: use -st dsb option prior to sev instructions 2013-08-12 12:25:45 +01:00