aboutsummaryrefslogtreecommitdiffstats
path: root/include/lib/smccc.h
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-02-13 03:26:22 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-02-13 03:26:22 +0000
commit44664cf33c2715fcc80276b79213828864f622d9 (patch)
tree76d9e0cabe45c1ed6d9ea87a5deb9c75c4345653 /include/lib/smccc.h
parentfb75a334a971078f2f231280ca87837aef5a2000 (diff)
parentcabe6937f2c9d0a50e4631c0545bddd650233ae8 (diff)
downloadplatform_external_arm-trusted-firmware-44664cf33c2715fcc80276b79213828864f622d9.tar.gz
platform_external_arm-trusted-firmware-44664cf33c2715fcc80276b79213828864f622d9.tar.bz2
platform_external_arm-trusted-firmware-44664cf33c2715fcc80276b79213828864f622d9.zip
Change-Id: Ie0bba25a1fe48ab1e066818d48000e4f68a0cb11
Diffstat (limited to 'include/lib/smccc.h')
-rw-r--r--include/lib/smccc.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/lib/smccc.h b/include/lib/smccc.h
index 76e60231f..5e13e6f0a 100644
--- a/include/lib/smccc.h
+++ b/include/lib/smccc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2020, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -20,7 +20,7 @@
SMCCC_VERSION_MINOR_SHIFT))
#define SMCCC_MAJOR_VERSION U(1)
-#define SMCCC_MINOR_VERSION U(1)
+#define SMCCC_MINOR_VERSION U(2)
/*******************************************************************************
* Bit definitions inside the function id as per the SMC calling convention
@@ -41,6 +41,8 @@
#define FUNCID_NUM_MASK U(0xffff)
#define FUNCID_NUM_WIDTH U(16)
+#define GET_SMC_NUM(id) (((id) >> FUNCID_NUM_SHIFT) & \
+ FUNCID_NUM_MASK)
#define GET_SMC_TYPE(id) (((id) >> FUNCID_TYPE_SHIFT) & \
FUNCID_TYPE_MASK)
#define GET_SMC_CC(id) (((id) >> FUNCID_CC_SHIFT) & \
@@ -83,6 +85,12 @@
#define SMC_UNK -1
#define SMC_PREEMPTED -2 /* Not defined by the SMCCC */
+/* Return codes for Arm Architecture Service SMC calls */
+#define SMC_ARCH_CALL_SUCCESS 0
+#define SMC_ARCH_CALL_NOT_SUPPORTED -1
+#define SMC_ARCH_CALL_NOT_REQUIRED -2
+#define SMC_ARCH_CALL_INVAL_PARAM -3
+
/* Various flags passed to SMC handlers */
#define SMC_FROM_SECURE (U(0) << 0)
#define SMC_FROM_NON_SECURE (U(1) << 0)