summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/include
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2013-08-01 03:38:18 +0900
committerSimon Horman <horms+renesas@verge.net.au>2013-08-06 18:07:25 +0900
commitcc61591e45c0457139ddd4cd7e57f75928acaaf2 (patch)
treeacce46776785425c7882c2f00731fa5d418c495e /arch/arm/mach-shmobile/include
parente9e7c4fbf468e205387b21463dddacfe44da2d9a (diff)
downloadblackbird-op-linux-cc61591e45c0457139ddd4cd7e57f75928acaaf2.tar.gz
blackbird-op-linux-cc61591e45c0457139ddd4cd7e57f75928acaaf2.zip
ARM: shmobile: Introduce per-CPU SMP boot / sleep code
Add per-CPU SMP boot / sleep code that can be used by all SoCs included in mach-shmobile. The boot code reads out the per-CPU MPIDR id value and matches it with the value stored for any CPU number, and if there is a match and the boot function is set as well then the boot function will be executed. The sleep code simply uses WFI and then jumps back to the boot code to see if anyone has asked to wake up that CPU, if not it will sleep again. Signed-off-by: Magnus Damm <damm@opensource.se> [horms+renesas@verge.net.au: Remove trailing whitespace] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r--arch/arm/mach-shmobile/include/mach/common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index 04209d5c0338..3880cf54b2b3 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -10,6 +10,10 @@ extern void shmobile_setup_console(void);
extern void shmobile_boot_vector(void);
extern unsigned long shmobile_boot_fn;
extern unsigned long shmobile_boot_arg;
+extern void shmobile_smp_boot(void);
+extern void shmobile_smp_sleep(void);
+extern void shmobile_smp_hook(unsigned int cpu, unsigned long fn,
+ unsigned long arg);
extern void shmobile_boot_scu(void);
extern void shmobile_smp_scu_prepare_cpus(unsigned int max_cpus);
extern int shmobile_smp_scu_boot_secondary(unsigned int cpu,
OpenPOWER on IntegriCloud