ArmPkg/Include: Add standard SMC function IDs for MM interface.
authorSupreeth Venkatesh <supreeth.venkatesh@arm.com>
Wed, 27 Sep 2017 18:58:58 +0000 (19:58 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 6 Oct 2017 20:58:58 +0000 (21:58 +0100)
This patch adds a list of function IDs that fall under the standard
SMC range as defined in [1]

SMCs associated with Management Mode are in the range 0xC4000040 -
0xC400005f (64 bit) and 0x84000040 - 0x8400005f (32 bit).

The function(s) available to the normal world:
1. Request services from the secure MM environment using MM_COMMUNICATE.

It also defines MM return codes.

[1] http://infocenter.arm.com/help/topic/com.arm.doc.den0060a/DEN0060A_ARM_MM_Interface_Specification.pdf.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
ArmPkg/Include/IndustryStandard/ArmStdSmc.h

index 593a3ce..37d0796 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 *\r
-*  Copyright (c) 2012-2014, ARM Limited. All rights reserved.\r
+*  Copyright (c) 2012-2017, ARM Limited. All rights reserved.\r
 *\r
 *  This program and the accompanying materials\r
 *  are licensed and made available under the terms and conditions of the BSD License\r
 #define ARM_SMC_STD_REVISION_MAJOR    0x0\r
 #define ARM_SMC_STD_REVISION_MINOR    0x1\r
 \r
+/*\r
+ * Management Mode (MM) calls cover a subset of the Standard Service Call range.\r
+ * The list below is not exhaustive.\r
+ */\r
+#define ARM_SMC_ID_MM_VERSION_AARCH32              0x84000040\r
+#define ARM_SMC_ID_MM_VERSION_AARCH64              0xC4000040\r
+\r
+// Request service from secure standalone MM environment\r
+#define ARM_SMC_ID_MM_COMMUNICATE_AARCH32          0x84000041\r
+#define ARM_SMC_ID_MM_COMMUNICATE_AARCH64          0xC4000041\r
+\r
+/* MM return error codes */\r
+#define ARM_SMC_MM_RET_SUCCESS              0\r
+#define ARM_SMC_MM_RET_NOT_SUPPORTED       -1\r
+#define ARM_SMC_MM_RET_INVALID_PARAMS      -2\r
+#define ARM_SMC_MM_RET_DENIED              -3\r
+#define ARM_SMC_MM_RET_NO_MEMORY           -4\r
+\r
 /*\r
  * Power State Coordination Interface (PSCI) calls cover a subset of the\r
  * Standard Service Call range.\r