summaryrefslogtreecommitdiff
path: root/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'plat/xilinx/zynqmp/pm_service/pm_svc_main.c')
-rw-r--r--plat/xilinx/zynqmp/pm_service/pm_svc_main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
index f8f71df04..9b356a76f 100644
--- a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
+++ b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
@@ -381,6 +381,16 @@ uint64_t pm_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, uint64_t x3,
pm_arg[3]);
SMC_RET1(handle, (uint64_t)ret);
+ case PM_SECURE_IMAGE:
+ {
+ uint32_t result[2];
+
+ ret = pm_secure_image(pm_arg[0], pm_arg[1], pm_arg[2],
+ pm_arg[3], &result[0]);
+ SMC_RET2(handle, (uint64_t)ret | ((uint64_t)result[0] << 32),
+ result[1]);
+ }
+
default:
WARN("Unimplemented PM Service Call: 0x%x\n", smc_fid);
SMC_RET1(handle, SMC_UNK);