spl: add __noreturn attribute to spl_invoke_atf function

spl_invoke_atf function will not be returned to SPL. Thus, we need to
set __noreturn function attribute to the function.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
This commit is contained in:
Chanho Park 2023-09-08 17:08:56 +09:00 committed by Tom Rini
parent 47e7f128c4
commit a60d9686f2
2 changed files with 5 additions and 5 deletions

View file

@ -187,9 +187,9 @@ static inline void raw_write_daif(unsigned int daif)
__asm__ __volatile__("msr DAIF, %x0\n\t" : : "r" (daif) : "memory"); __asm__ __volatile__("msr DAIF, %x0\n\t" : : "r" (daif) : "memory");
} }
typedef void (*atf_entry_t)(struct bl31_params *params, void *plat_params); typedef void __noreturn (*atf_entry_t)(struct bl31_params *params, void *plat_params);
static void bl31_entry(uintptr_t bl31_entry, uintptr_t bl32_entry, static void __noreturn bl31_entry(uintptr_t bl31_entry, uintptr_t bl32_entry,
uintptr_t bl33_entry, uintptr_t fdt_addr) uintptr_t bl33_entry, uintptr_t fdt_addr)
{ {
atf_entry_t atf_entry = (atf_entry_t)bl31_entry; atf_entry_t atf_entry = (atf_entry_t)bl31_entry;
@ -251,7 +251,7 @@ uintptr_t spl_fit_images_get_entry(void *blob, int node)
return val; return val;
} }
void spl_invoke_atf(struct spl_image_info *spl_image) void __noreturn spl_invoke_atf(struct spl_image_info *spl_image)
{ {
uintptr_t bl32_entry = 0; uintptr_t bl32_entry = 0;
uintptr_t bl33_entry = CONFIG_TEXT_BASE; uintptr_t bl33_entry = CONFIG_TEXT_BASE;

View file

@ -793,7 +793,7 @@ int spl_ymodem_load_image(struct spl_image_info *spl_image,
/** /**
* spl_invoke_atf - boot using an ARM trusted firmware image * spl_invoke_atf - boot using an ARM trusted firmware image
*/ */
void spl_invoke_atf(struct spl_image_info *spl_image); void __noreturn spl_invoke_atf(struct spl_image_info *spl_image);
/** /**
* bl2_plat_get_bl31_params() - return params for bl31. * bl2_plat_get_bl31_params() - return params for bl31.