summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitris Papastamos <dimitris.papastamos@arm.com>2018-01-22 12:58:52 +0000
committerKostya Porotchkin <kostap@marvell.com>2018-04-16 14:07:19 +0300
commit15d3e6fdb72112b4deefc5cd9b2ffe58efbb5152 (patch)
tree386448f3f6116b68cf055cded32bf87a5b27cdc1
parent9b84d8b38324c30eab74f5b991c5864e3866cee0 (diff)
Add support for SMCCC_VERSION in PSCI features
On some platforms it may be necessary to discover the SMCCC version via a PSCI features call. Change-Id: I95281ac2263ca9aefda1809eb03464fbdb8ac24d Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com> Reviewed-on: http://vgitil04.il.marvell.com:8080/53237 Tested-by: iSoC Platform CI <ykjenk@marvell.com> Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
-rw-r--r--lib/psci/psci_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/psci/psci_main.c b/lib/psci/psci_main.c
index 257479aa..2d5e974a 100644
--- a/lib/psci/psci_main.c
+++ b/lib/psci/psci_main.c
@@ -1,11 +1,12 @@
/*
- * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <arch.h>
#include <arch_helpers.h>
+#include <arm_arch_svc.h>
#include <assert.h>
#include <debug.h>
#include <platform.h>
@@ -305,6 +306,9 @@ int psci_features(unsigned int psci_fid)
{
unsigned int local_caps = psci_caps;
+ if (psci_fid == SMCCC_VERSION)
+ return PSCI_E_SUCCESS;
+
/* Check if it is a 64 bit function */
if (((psci_fid >> FUNCID_CC_SHIFT) & FUNCID_CC_MASK) == SMC_64)
local_caps &= PSCI_CAP_64BIT_MASK;