--- /dev/null
+/** @file\r
+*\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
+* which accompanies this distribution. The full text of the license may be found at\r
+* http://opensource.org/licenses/bsd-license.php\r
+*\r
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+*\r
+**/\r
+\r
+#ifndef __ARM_MM_SVC_H__\r
+#define __ARM_MM_SVC_H__\r
+\r
+/*\r
+ * SVC IDs to allow the MM secure partition to initialise itself, handle\r
+ * delegated events and request the Secure partition manager to perform\r
+ * privileged operations on its behalf.\r
+ */\r
+#define ARM_SVC_ID_SPM_VERSION_AARCH64 0xC4000060\r
+#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 0xC4000061\r
+#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064\r
+#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065\r
+\r
+#define SET_MEM_ATTR_DATA_PERM_MASK 0x3\r
+#define SET_MEM_ATTR_DATA_PERM_SHIFT 0\r
+#define SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0\r
+#define SET_MEM_ATTR_DATA_PERM_RW 1\r
+#define SET_MEM_ATTR_DATA_PERM_RO 3\r
+\r
+#define SET_MEM_ATTR_CODE_PERM_MASK 0x1\r
+#define SET_MEM_ATTR_CODE_PERM_SHIFT 2\r
+#define SET_MEM_ATTR_CODE_PERM_X 0\r
+#define SET_MEM_ATTR_CODE_PERM_XN 1\r
+\r
+#define SET_MEM_ATTR_MAKE_PERM_REQUEST(d_perm, c_perm) \\r
+ ((((c_perm) & SET_MEM_ATTR_CODE_PERM_MASK) << SET_MEM_ATTR_CODE_PERM_SHIFT) | \\r
+ (( (d_perm) & SET_MEM_ATTR_DATA_PERM_MASK) << SET_MEM_ATTR_DATA_PERM_SHIFT))\r
+\r
+#endif\r