mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-26 14:55:16 +00:00
FWU: Pass client cookie to FWU_SMC_UPDATE_DONE
The current FWU_SMC_UPDATE_DONE implementation incorrectly passes an unused framework cookie through to the 1st argument in the platform function `bl1_plat_fwu_done`. The intent is to allow the SMC caller to pass a cookie through to this function. This patch fixes FWU_SMC_UPDATE_DONE to pass x1 from the caller through to `bl1_plat_fwu_done`. The argument names are updated for clarity. Upstream platforms currently do not use this argument so no impact is expected. Change-Id: I107f4b51eb03e7394f66d9a534ffab1cbc09a9b2
This commit is contained in:
parent
8e4f829179
commit
1f37b9442f
4 changed files with 7 additions and 7 deletions
|
@ -64,7 +64,7 @@ static register_t bl1_fwu_image_resume(unsigned int image_id,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
static int bl1_fwu_sec_image_done(void **handle,
|
static int bl1_fwu_sec_image_done(void **handle,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
__dead2 static void bl1_fwu_done(void *cookie, void *reserved);
|
__dead2 static void bl1_fwu_done(void *client_cookie, void *reserved);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This keeps track of last executed secure image id.
|
* This keeps track of last executed secure image id.
|
||||||
|
@ -101,7 +101,7 @@ register_t bl1_fwu_smc_handler(unsigned int smc_fid,
|
||||||
SMC_RET1(handle, bl1_fwu_sec_image_done(&handle, flags));
|
SMC_RET1(handle, bl1_fwu_sec_image_done(&handle, flags));
|
||||||
|
|
||||||
case FWU_SMC_UPDATE_DONE:
|
case FWU_SMC_UPDATE_DONE:
|
||||||
bl1_fwu_done(cookie, NULL);
|
bl1_fwu_done((void *)x1, NULL);
|
||||||
/* We should never return from bl1_fwu_done() */
|
/* We should never return from bl1_fwu_done() */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -492,13 +492,13 @@ static int bl1_fwu_sec_image_done(void **handle, unsigned int flags)
|
||||||
* This function provides the opportunity for users to perform any
|
* This function provides the opportunity for users to perform any
|
||||||
* platform specific handling after the Firmware update is done.
|
* platform specific handling after the Firmware update is done.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
__dead2 static void bl1_fwu_done(void *cookie, void *reserved)
|
__dead2 static void bl1_fwu_done(void *client_cookie, void *reserved)
|
||||||
{
|
{
|
||||||
NOTICE("BL1-FWU: *******FWU Process Completed*******\n");
|
NOTICE("BL1-FWU: *******FWU Process Completed*******\n");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call platform done function.
|
* Call platform done function.
|
||||||
*/
|
*/
|
||||||
bl1_plat_fwu_done(cookie, reserved);
|
bl1_plat_fwu_done(client_cookie, reserved);
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,7 @@ struct image_desc *bl1_plat_get_image_desc(unsigned int image_id);
|
||||||
* The following functions are used by firmware update
|
* The following functions are used by firmware update
|
||||||
* feature and may optionally be overridden.
|
* feature and may optionally be overridden.
|
||||||
*/
|
*/
|
||||||
__dead2 void bl1_plat_fwu_done(void *cookie, void *reserved);
|
__dead2 void bl1_plat_fwu_done(void *client_cookie, void *reserved);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
|
|
@ -72,7 +72,7 @@ void bl1_plat_set_ep_info(unsigned int image_id,
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* On Juno clear SYS_NVFLAGS and wait for watchdog reset.
|
* On Juno clear SYS_NVFLAGS and wait for watchdog reset.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
__dead2 void bl1_plat_fwu_done(void *cookie, void *rsvd_ptr)
|
__dead2 void bl1_plat_fwu_done(void *client_cookie, void *reserved)
|
||||||
{
|
{
|
||||||
unsigned int *nv_flags_clr = (unsigned int *)
|
unsigned int *nv_flags_clr = (unsigned int *)
|
||||||
(V2M_SYSREGS_BASE + V2M_SYS_NVFLAGSCLR);
|
(V2M_SYSREGS_BASE + V2M_SYS_NVFLAGSCLR);
|
||||||
|
|
|
@ -69,7 +69,7 @@ image_desc_t *bl1_plat_get_image_desc(unsigned int image_id)
|
||||||
return &bl2_img_desc;
|
return &bl2_img_desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
__dead2 void bl1_plat_fwu_done(void *cookie, void *rsvd_ptr)
|
__dead2 void bl1_plat_fwu_done(void *client_cookie, void *reserved)
|
||||||
{
|
{
|
||||||
while (1)
|
while (1)
|
||||||
wfi();
|
wfi();
|
||||||
|
|
Loading…
Add table
Reference in a new issue