summaryrefslogtreecommitdiff
path: root/common/spl
diff options
context:
space:
mode:
authorVikas Manocha <vikas.manocha@st.com>2017-03-31 23:34:39 (GMT)
committerTom Rini <trini@konsulko.com>2017-04-08 13:26:53 (GMT)
commit634fcf084875674d86c303e630f83b2017e7e07f (patch)
tree90c4e7f0ec4e38acc28b1e3ae0a50856b23941d6 /common/spl
parent52609d753b8377ad974ffa5771dbeb011dc1f81a (diff)
downloadu-boot-fsl-qoriq-634fcf084875674d86c303e630f83b2017e7e07f.tar.xz
spl: armv7m: keep ARM v7M in thumb mode while jumping to entry point
On ARM v7M, the processor will return to ARM mode when executing blx instruction with bit 0 of the address == 0. Always set it to 1 to stay in thumb mode. Similar commit: f99993c10882f7dc8ec35993d5febe59aac01e6a Author: Matt Porter <mporter@konsulko.com> Date: Tue May 5 15:00:23 2015 -0400 common/cmd_boot: keep ARM v7M in thumb mode during do_go_exec() Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Diffstat (limited to 'common/spl')
-rw-r--r--common/spl/spl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 0d1e082..a3e73b8 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -85,6 +85,9 @@ void spl_set_header_raw_uboot(struct spl_image_info *spl_image)
{
spl_image->size = CONFIG_SYS_MONITOR_LEN;
spl_image->entry_point = CONFIG_SYS_UBOOT_START;
+#ifdef CONFIG_CPU_V7M
+ spl_image->entry_point |= 0x1;
+#endif
spl_image->load_addr = CONFIG_SYS_TEXT_BASE;
spl_image->os = IH_OS_U_BOOT;
spl_image->name = "U-Boot";