1 /* SPDX-License-Identifier: BSD-3-Clause */ 2 /* 3 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. 4 */ 5 6 #ifndef MM_SMC_H_ 7 #define MM_SMC_H_ 8 9 /** 10 * The file contains the constant definitions of ARM Magangement Mode Interface 11 * specification (DEN0060A) which are used in MM SMC calls. 12 */ 13 14 #include "util.h" 15 16 /* MM SMV IDs */ 17 #define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH32 UINT32_C(0x84000061) 18 #define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 UINT32_C(0xC4000061) 19 20 #ifdef ARM64 21 #define ARM_SVC_ID_SP_EVENT_COMPLETE ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 22 #else /* ARM64 */ 23 #define ARM_SVC_ID_SP_EVENT_COMPLETE ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH32 24 #endif /* ARM64 */ 25 26 /* Return codes */ 27 #define MM_RETURN_CODE_SUCCESS 0 28 #define MM_RETURN_CODE_NOT_SUPPORTED -1 29 #define MM_RETURN_CODE_INVALID_PARAMETER -2 30 #define MM_RETURN_CODE_DENIED -3 31 /* -4 is skipped according to the spec */ 32 #define MM_RETURN_CODE_NO_MEMORY -5 33 34 #endif /* MM_SMC_H_ */ 35