diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-08-03 10:26:52 +0300 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-08-06 11:11:44 +0300 |
commit | c00def71efd919e8ae835a25f4f4c80a4b2d36d3 (patch) | |
tree | dce6624d58ce9e009a797a9c4965177e19c37178 /arch/arm/mach-ux500/headsmp.S | |
parent | 58e00a6c92d41e302880cae71b0f94b7a4d40c5d (diff) | |
download | linux-c00def71efd919e8ae835a25f4f4c80a4b2d36d3.tar.xz |
ARM: ux500: simplify secondary CPU boot
This removes a lot of ancient cruft from the Ux500 SMP boot.
Instead of the pen grab/release, just point the ROM to
secondary_boot() and start the second CPU there, then send
the IPI.
Use our own SMP enable method. This enables us to remove the
last static mapping and get both CPUs booting properly.
Tested this and it just works.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-ux500/headsmp.S')
-rw-r--r-- | arch/arm/mach-ux500/headsmp.S | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/arch/arm/mach-ux500/headsmp.S b/arch/arm/mach-ux500/headsmp.S deleted file mode 100644 index 9cdea049485d..000000000000 --- a/arch/arm/mach-ux500/headsmp.S +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2009 ST-Ericsson - * This file is based ARM Realview platform - * Copyright (c) 2003 ARM Limited - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -#include <linux/linkage.h> -#include <linux/init.h> - -/* - * U8500 specific entry point for secondary CPUs. - */ -ENTRY(u8500_secondary_startup) - mrc p15, 0, r0, c0, c0, 5 - and r0, r0, #15 - adr r4, 1f - ldmia r4, {r5, r6} - sub r4, r4, r5 - add r6, r6, r4 -pen: ldr r7, [r6] - cmp r7, r0 - bne pen - - /* - * we've been released from the holding pen: secondary_stack - * should now contain the SVC stack for this core - */ - b secondary_startup -ENDPROC(u8500_secondary_startup) - - .align 2 -1: .long . - .long pen_release |