From 10e4d64e345b6b684d27d3da6ed8d887c8e45f76 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 13 Aug 2020 12:43:22 +0200 Subject: [PATCH] firmware: psci: Do not bind driver if U-Boot runs in EL3 There is no reason to bind psci driver if U-Boot runs in EL3 because SMC/HVC instructions can't be called. That's why detect this state and don't let user to crash from prompt by performing reset or poweroff commands (if enabled). Signed-off-by: Michal Simek --- drivers/firmware/psci.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index 7d2e49fd3e..68953cc4f4 100644 --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c @@ -19,6 +19,7 @@ #include #include #include +#include #define DRIVER_NAME "psci" @@ -73,6 +74,11 @@ static int psci_probe(struct udevice *dev) { const char *method; +#if defined(CONFIG_ARM64) + if (current_el() == 3) + return -EINVAL; +#endif + method = ofnode_read_string(dev_ofnode(dev), "method"); if (!method) { pr_warn("missing \"method\" property\n");