u-boot-brain/arch/arm/cpu/armv7/exynos
Akshay Saraswat cecf2db23b Exynos542x: Fix secondary core booting for thumb
When compiled SPL for Thumb secondary cores failed to boot
at the kernel boot up. Only one core came up out of 4.
This was happening because the code relocated to the
address 0x02073000 by the primary core was an ARM asm
code which was executed by the secondary cores as if it
was a thumb code.
This patch fixes the issue of secondary cores considering
relocated code as Thumb instructions and not ARM instructions
by jumping to the relocated with the help of "bx" ARM instruction.
"bx" instruction changes the 5th bit of CPSR which allows
execution unit to consider the following instructions as ARM
instructions.

Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2015-02-28 18:03:46 +09:00
..
clock_init_exynos4.c EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
clock_init_exynos5.c Exynos5800: Introduce new proid for Exynos5800 2014-11-17 19:03:38 +09:00
clock_init.h arm: exynos: Add RPLL for Exynos5420 2014-09-05 20:37:07 +09:00
clock.c Exynos: Clock: Cleanup soc_get_periph_rate 2015-02-13 17:23:06 +09:00
common_setup.h EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
config.mk arm: put .hash, .got.plt and .machine_param back in binaries 2014-01-14 11:43:10 +01:00
dmc_common.c Exynos5: DMC: Modify the definition of ddr3_mem_ctrl_init 2014-06-13 17:05:13 +09:00
dmc_init_ddr3.c Exynos5: ddr3: Choose between single or double channel config 2014-11-17 19:03:38 +09:00
dmc_init_exynos4.c EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
exynos4_setup.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
exynos5_setup.h Exynos542x: CPU: Power down all secondary cores 2015-02-28 18:03:46 +09:00
Kconfig kconfig: remove unneeded dependency on !SPL_BUILD 2015-02-24 17:06:27 -05:00
lowlevel_init.c Exynos542x: Fix secondary core booting for thumb 2015-02-28 18:03:46 +09:00
Makefile Exynos542x: Add workaround for exynos iROM errata 2015-02-28 18:03:46 +09:00
pinmux.c exynos5: pinmux: check flag for i2c config 2015-01-29 17:10:00 -07:00
power.c EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl 2015-02-13 17:19:55 +09:00
sec_boot.S Exynos542x: Add workaround for exynos iROM errata 2015-02-28 18:03:46 +09:00
soc.c Exynos542x: add L2 control register configuration 2015-02-28 18:03:46 +09:00
spl_boot.c arm: Allow lr to be saved by board code 2015-02-16 20:14:54 +01:00
system.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
tzpc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00