aboutsummaryrefslogtreecommitdiff
path: root/src/arch/arm64/armv8/secmon/psci.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm64/armv8/secmon/psci.c')
-rw-r--r--src/arch/arm64/armv8/secmon/psci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/arm64/armv8/secmon/psci.c b/src/arch/arm64/armv8/secmon/psci.c
index a651b6e152..70251b2b06 100644
--- a/src/arch/arm64/armv8/secmon/psci.c
+++ b/src/arch/arm64/armv8/secmon/psci.c
@@ -17,6 +17,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
*/
+#include <gic.h>
#include <string.h>
#include <stdlib.h>
#include <smp/spinlock.h>
@@ -231,6 +232,7 @@ void psci_turn_on_self(const struct cpu_action *action)
void psci_cpu_entry(void)
{
+ gic_enable();
/*
* Just wait for an action to be performed. Only CPU_ON is supported
* initially. i.e. no power down then wake.
@@ -327,6 +329,8 @@ static int psci_turn_off_node(struct psci_node *e, int level,
if (ret != PSCI_RET_SUCCESS)
return ret;
+ gic_disable();
+
/* Should never return. */
ret = soc_psci_ops.cmd_commit(&cmd);