2017-09-27 20:58:59 +02:00
|
|
|
/** @file
|
|
|
|
*
|
|
|
|
* Copyright (c) 2012-2017, ARM Limited. All rights reserved.
|
|
|
|
*
|
2019-04-04 01:03:18 +02:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
2017-09-27 20:58:59 +02:00
|
|
|
*
|
|
|
|
**/
|
|
|
|
|
2021-04-20 13:00:23 +02:00
|
|
|
#ifndef ARM_MM_SVC_H_
|
|
|
|
#define ARM_MM_SVC_H_
|
2017-09-27 20:58:59 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* SVC IDs to allow the MM secure partition to initialise itself, handle
|
|
|
|
* delegated events and request the Secure partition manager to perform
|
|
|
|
* privileged operations on its behalf.
|
|
|
|
*/
|
2018-11-27 11:43:55 +01:00
|
|
|
#define ARM_SVC_ID_SPM_VERSION_AARCH32 0x84000060
|
2017-09-27 20:58:59 +02:00
|
|
|
#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 0xC4000061
|
|
|
|
#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064
|
|
|
|
#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065
|
|
|
|
|
|
|
|
#define SET_MEM_ATTR_DATA_PERM_MASK 0x3
|
|
|
|
#define SET_MEM_ATTR_DATA_PERM_SHIFT 0
|
|
|
|
#define SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0
|
|
|
|
#define SET_MEM_ATTR_DATA_PERM_RW 1
|
|
|
|
#define SET_MEM_ATTR_DATA_PERM_RO 3
|
|
|
|
|
|
|
|
#define SET_MEM_ATTR_CODE_PERM_MASK 0x1
|
|
|
|
#define SET_MEM_ATTR_CODE_PERM_SHIFT 2
|
|
|
|
#define SET_MEM_ATTR_CODE_PERM_X 0
|
|
|
|
#define SET_MEM_ATTR_CODE_PERM_XN 1
|
|
|
|
|
|
|
|
#define SET_MEM_ATTR_MAKE_PERM_REQUEST(d_perm, c_perm) \
|
|
|
|
((((c_perm) & SET_MEM_ATTR_CODE_PERM_MASK) << SET_MEM_ATTR_CODE_PERM_SHIFT) | \
|
|
|
|
(( (d_perm) & SET_MEM_ATTR_DATA_PERM_MASK) << SET_MEM_ATTR_DATA_PERM_SHIFT))
|
|
|
|
|
2018-11-27 11:43:56 +01:00
|
|
|
/* MM SVC Return error codes */
|
|
|
|
#define ARM_SVC_SPM_RET_SUCCESS 0
|
|
|
|
#define ARM_SVC_SPM_RET_NOT_SUPPORTED -1
|
|
|
|
#define ARM_SVC_SPM_RET_INVALID_PARAMS -2
|
|
|
|
#define ARM_SVC_SPM_RET_DENIED -3
|
|
|
|
#define ARM_SVC_SPM_RET_NO_MEMORY -5
|
|
|
|
|
2021-02-19 07:35:58 +01:00
|
|
|
#define SPM_MAJOR_VERSION 0
|
|
|
|
#define SPM_MINOR_VERSION 1
|
|
|
|
|
2021-04-20 13:00:23 +02:00
|
|
|
#endif // ARM_MM_SVC_H_
|