diff options
author | Michel Jaouen <michel.jaouen@st.com> | 2020-06-24 20:17:06 +0200 |
---|---|---|
committer | Michel Jaouen <michel.jaouen@st.com> | 2020-08-13 11:13:03 +0200 |
commit | 664d13644d15f2bbcae791647200a7c89ce65676 (patch) | |
tree | bab6aaec0343322fadf68632050a25fdd83da433 /bl2/include/boot_hal.h | |
parent | e2df5c11d71d1636e0642d64675e43656e1df330 (diff) | |
download | trusted-firmware-m-664d13644d15f2bbcae791647200a7c89ce65676.tar.gz |
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/include/boot_hal.h')
-rw-r--r-- | bl2/include/boot_hal.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/bl2/include/boot_hal.h b/bl2/include/boot_hal.h index eaf4368e82..de026e01ed 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 } |