firmware: zynqmp: Report error when xilinx_pm_request called from EL3

Function should report error when called in EL3 context. Also report it as
error instead 0 (success).

Reported-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
This commit is contained in:
Michal Simek 2019-10-10 11:09:15 +02:00
parent 403619515e
commit 9bed8a63f7

View File

@ -156,8 +156,10 @@ int __maybe_unused xilinx_pm_request(u32 api_id, u32 arg0, u32 arg1, u32 arg2,
*/
struct pt_regs regs;
if (current_el() == 3)
return 0;
if (current_el() == 3) {
printf("%s: Can't call SMC from EL3 context\n", __func__);
return -EPERM;
}
regs.regs[0] = PM_SIP_SVC | api_id;
regs.regs[1] = ((u64)arg1 << 32) | arg0;