]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - ArmPkg/Include/IndustryStandard/ArmMmSvc.h
ArmPkg: Fix Ecc error 8003
[mirror_edk2.git] / ArmPkg / Include / IndustryStandard / ArmMmSvc.h
... / ...
CommitLineData
1/** @file\r
2*\r
3* Copyright (c) 2012-2017, ARM Limited. All rights reserved.\r
4*\r
5* SPDX-License-Identifier: BSD-2-Clause-Patent\r
6*\r
7**/\r
8\r
9#ifndef ARM_MM_SVC_H_\r
10#define ARM_MM_SVC_H_\r
11\r
12/*\r
13 * SVC IDs to allow the MM secure partition to initialise itself, handle\r
14 * delegated events and request the Secure partition manager to perform\r
15 * privileged operations on its behalf.\r
16 */\r
17#define ARM_SVC_ID_SPM_VERSION_AARCH32 0x84000060\r
18#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 0xC4000061\r
19#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064\r
20#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065\r
21\r
22#define SET_MEM_ATTR_DATA_PERM_MASK 0x3\r
23#define SET_MEM_ATTR_DATA_PERM_SHIFT 0\r
24#define SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0\r
25#define SET_MEM_ATTR_DATA_PERM_RW 1\r
26#define SET_MEM_ATTR_DATA_PERM_RO 3\r
27\r
28#define SET_MEM_ATTR_CODE_PERM_MASK 0x1\r
29#define SET_MEM_ATTR_CODE_PERM_SHIFT 2\r
30#define SET_MEM_ATTR_CODE_PERM_X 0\r
31#define SET_MEM_ATTR_CODE_PERM_XN 1\r
32\r
33#define SET_MEM_ATTR_MAKE_PERM_REQUEST(d_perm, c_perm) \\r
34 ((((c_perm) & SET_MEM_ATTR_CODE_PERM_MASK) << SET_MEM_ATTR_CODE_PERM_SHIFT) | \\r
35 (( (d_perm) & SET_MEM_ATTR_DATA_PERM_MASK) << SET_MEM_ATTR_DATA_PERM_SHIFT))\r
36\r
37/* MM SVC Return error codes */\r
38#define ARM_SVC_SPM_RET_SUCCESS 0\r
39#define ARM_SVC_SPM_RET_NOT_SUPPORTED -1\r
40#define ARM_SVC_SPM_RET_INVALID_PARAMS -2\r
41#define ARM_SVC_SPM_RET_DENIED -3\r
42#define ARM_SVC_SPM_RET_NO_MEMORY -5\r
43\r
44#define SPM_MAJOR_VERSION 0\r
45#define SPM_MINOR_VERSION 1\r
46\r
47#endif // ARM_MM_SVC_H_\r