mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
feat(intel): add intel_rsu_update() to sip_svc_v2
Add smc function id for intel_rsu_update() in sip_svc_v2. For temporarily saving the RSU application image address before a cold reset is issued. Signed-off-by: Mahesh Rao <mahesh.rao@intel.com> Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Change-Id: I43bc7bd5aa5fa9238bceba1d826bf0a34ff87adb
This commit is contained in:
parent
c161772f40
commit
e3c3a48c85
3 changed files with 10 additions and 2 deletions
|
@ -167,6 +167,7 @@
|
|||
#define INTEL_SIP_SMC_V2_REG_WRITE 0xC2000402
|
||||
#define INTEL_SIP_SMC_V2_REG_UPDATE 0xC2000403
|
||||
#define INTEL_SIP_SMC_V2_HPS_SET_BRIDGES 0xC2000404
|
||||
#define INTEL_SIP_SMC_V2_RSU_UPDATE_ADDR 0xC2000405
|
||||
|
||||
/* V2: Mailbox function identifier */
|
||||
#define INTEL_SIP_SMC_V2_MAILBOX_SEND_COMMAND 0xC2000420
|
||||
|
@ -185,7 +186,7 @@
|
|||
/*
|
||||
* Increase if there is new SMC function ID being added
|
||||
*/
|
||||
#define SIP_SVC_VERSION_MINOR 1
|
||||
#define SIP_SVC_VERSION_MINOR 2
|
||||
|
||||
|
||||
/* Structure Definitions */
|
||||
|
@ -219,6 +220,9 @@ uint32_t intel_secure_reg_write(uint64_t reg_addr, uint32_t val,
|
|||
uint32_t intel_secure_reg_update(uint64_t reg_addr, uint32_t mask,
|
||||
uint32_t val, uint32_t *retval);
|
||||
|
||||
/* Set RSU update address*/
|
||||
uint32_t intel_rsu_update(uint64_t update_address);
|
||||
|
||||
/* Miscellaneous HPS services */
|
||||
uint32_t intel_hps_set_bridges(uint64_t enable, uint64_t mask);
|
||||
|
||||
|
|
|
@ -442,7 +442,7 @@ static uint32_t intel_rsu_status(uint64_t *respbuf, unsigned int respbuf_sz)
|
|||
return INTEL_SIP_SMC_STATUS_OK;
|
||||
}
|
||||
|
||||
static uint32_t intel_rsu_update(uint64_t update_address)
|
||||
uint32_t intel_rsu_update(uint64_t update_address)
|
||||
{
|
||||
if (update_address > SIZE_MAX) {
|
||||
return INTEL_SIP_SMC_STATUS_REJECTED;
|
||||
|
|
|
@ -158,6 +158,10 @@ uintptr_t sip_smc_handler_v2(uint32_t smc_fid,
|
|||
status = intel_hps_set_bridges(x2, x3);
|
||||
SMC_RET2(handle, status, x1);
|
||||
|
||||
case INTEL_SIP_SMC_V2_RSU_UPDATE_ADDR:
|
||||
status = intel_rsu_update(x2);
|
||||
SMC_RET2(handle, status, x1);
|
||||
|
||||
case INTEL_SIP_SMC_V2_MAILBOX_SEND_COMMAND:
|
||||
status = intel_v2_mbox_send_cmd(x1, (uint32_t *)x2, x3);
|
||||
SMC_RET2(handle, status, x1);
|
||||
|
|
Loading…
Add table
Reference in a new issue