Add support for SMCCC_VERSION in PSCI features
authorDimitris Papastamos <dimitris.papastamos@arm.com>
Mon, 22 Jan 2018 12:58:52 +0000 (12:58 +0000)
committerDimitris Papastamos <dimitris.papastamos@arm.com>
Mon, 29 Jan 2018 09:58:57 +0000 (09:58 +0000)
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>
lib/psci/psci_main.c

index 8e41cf026b4a3e2d07ec42e702e25e9c9196f0df..88cf5cbe40eb866b934a547f13883083ac39256b 100644 (file)
@@ -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>
@@ -322,6 +323,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;