path: root/bl2
diff options
authorMichel Jaouen <michel.jaouen@st.com>2020-06-24 20:17:06 +0200
committerMichel Jaouen <michel.jaouen@st.com>2020-08-13 11:13:03 +0200
commit664d13644d15f2bbcae791647200a7c89ce65676 (patch)
treebab6aaec0343322fadf68632050a25fdd83da433 /bl2
parente2df5c11d71d1636e0642d64675e43656e1df330 (diff)
Boot : Fix boot_platform_quit
According to compiler and optimization: - registers used to retrieve vt_cpy are pushed in sp, - sp is modified before calling boot_jump_to_next_image(i.e if some non scratch registers have been used),this creates an incorrect sp. Change-Id: I866ac756d3611f67636b99b10d340c77dd12b148 Signed-off-by: Michel Jaouen <michel.jaouen@st.com>
Diffstat (limited to 'bl2')
1 files changed, 2 insertions, 2 deletions
diff --git a/bl2/include/boot_hal.h b/bl2/include/boot_hal.h
index eaf4368e8..de026e01e 100644
--- a/bl2/include/boot_hal.h
+++ b/bl2/include/boot_hal.h
@@ -44,7 +44,7 @@ void boot_clear_bl2_ram_area(void);
* \param[in] reset_handler_addr Address of next image's Reset_Handler() in
the boot chain (TF-M SPE, etc.)
-void boot_jump_to_next_image(uint32_t reset_handler_addr);
+void boot_jump_to_next_image(uint32_t reset_handler_addr) __NO_RETURN;
* \brief Platform peripherals and devices initialization.
@@ -60,7 +60,7 @@ int32_t boot_platform_init(void);
* \param[in] vt pointer to secure application vector table descriptor
-void boot_platform_quit(struct boot_arm_vector_table *vt);
+void boot_platform_quit(struct boot_arm_vector_table *vt) __NO_RETURN;
#ifdef __cplusplus