ArmPkg/IndustryStandard: Change naming convention in ArmMmSvc.h

Change naming convention in ArmMmSvc.h with

  MM to SPM_MM

This would make it clear to discern ABI protocol used to communicate
with secure partition.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
This commit is contained in:
levi.yun 2024-07-30 11:56:46 +01:00 committed by mergify[bot]
parent 31fcaf1fc0
commit c56856f068
3 changed files with 75 additions and 58 deletions

View File

@ -1,6 +1,6 @@
/** @file /** @file
* *
* Copyright (c) 2012-2017, ARM Limited. All rights reserved. * Copyright (c) 2012-2024, Arm Limited. All rights reserved.
* *
* SPDX-License-Identifier: BSD-2-Clause-Patent * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -10,53 +10,64 @@
#define ARM_MM_SVC_H_ #define ARM_MM_SVC_H_
/* /*
* SVC IDs to allow the MM secure partition to initialise itself, handle * SPM_MM FIDs to allow the secure partition to initialise itself, handle
* delegated events and request the Secure partition manager to perform * delegated events and request the Secure partition manager to perform
* privileged operations on its behalf. * privileged operations on its behalf.
*/ */
#define ARM_SVC_ID_SPM_VERSION_AARCH32 0x84000060 #define ARM_FID_SPM_MM_VERSION_AARCH32 0x84000060
#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH32 0x84000061 #define ARM_FID_SPM_MM_SP_EVENT_COMPLETE_AARCH32 0x84000061
#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH32 0x84000064 #define ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES_AARCH32 0x84000064
#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH32 0x84000065 #define ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES_AARCH32 0x84000065
#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 0xC4000061 #define ARM_FID_SPM_MM_SP_EVENT_COMPLETE_AARCH64 0xC4000061
#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064 #define ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064
#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065 #define ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065
/* Generic IDs when using AArch32 or AArch64 execution state */ /* Generic IDs when using AArch32 or AArch64 execution state */
#ifdef MDE_CPU_AARCH64 #ifdef MDE_CPU_AARCH64
#define ARM_SVC_ID_SP_EVENT_COMPLETE ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 #define ARM_FID_SPM_MM_SP_EVENT_COMPLETE ARM_FID_SPM_MM_SP_EVENT_COMPLETE_AARCH64
#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 #define ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES_AARCH64
#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 #define ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES_AARCH64
#endif #endif
#ifdef MDE_CPU_ARM #ifdef MDE_CPU_ARM
#define ARM_SVC_ID_SP_EVENT_COMPLETE ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH32 #define ARM_FID_SPM_MM_SP_EVENT_COMPLETE ARM_FID_SPM_MM_SP_EVENT_COMPLETE_AARCH32
#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH32 #define ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES_AARCH32
#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH32 #define ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES_AARCH32
#endif #endif
#define SET_MEM_ATTR_DATA_PERM_MASK 0x3 #define ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_MASK 0x3
#define SET_MEM_ATTR_DATA_PERM_SHIFT 0 #define ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_SHIFT 0
#define SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0 #define ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0
#define SET_MEM_ATTR_DATA_PERM_RW 1 #define ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_RW 1
#define SET_MEM_ATTR_DATA_PERM_RO 3 #define ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_RO 3
#define SET_MEM_ATTR_CODE_PERM_MASK 0x1 #define ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_MASK 0x1
#define SET_MEM_ATTR_CODE_PERM_SHIFT 2 #define ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_SHIFT 2
#define SET_MEM_ATTR_CODE_PERM_X 0 #define ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_X 0
#define SET_MEM_ATTR_CODE_PERM_XN 1 #define ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_XN 1
#define SET_MEM_ATTR_MAKE_PERM_REQUEST(d_perm, c_perm) \ #define ARM_SPM_MM_SET_MEM_ATTR_MAKE_PERM_REQUEST(dataperm, codeperm) \
((((c_perm) & SET_MEM_ATTR_CODE_PERM_MASK) << SET_MEM_ATTR_CODE_PERM_SHIFT) | \ ((((codeperm) & ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_MASK) << \
(( (d_perm) & SET_MEM_ATTR_DATA_PERM_MASK) << SET_MEM_ATTR_DATA_PERM_SHIFT)) ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_SHIFT) | \
(( (dataperm) & ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_MASK) << \
ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_SHIFT))
/* MM SVC Return error codes */ /* SPM_MM SVC Return error codes */
#define ARM_SVC_SPM_RET_SUCCESS 0 #define ARM_SPM_MM_RET_SUCCESS 0
#define ARM_SVC_SPM_RET_NOT_SUPPORTED -1 #define ARM_SPM_MM_RET_NOT_SUPPORTED -1
#define ARM_SVC_SPM_RET_INVALID_PARAMS -2 #define ARM_SPM_MM_RET_INVALID_PARAMS -2
#define ARM_SVC_SPM_RET_DENIED -3 #define ARM_SPM_MM_RET_DENIED -3
#define ARM_SVC_SPM_RET_NO_MEMORY -5 #define ARM_SPM_MM_RET_NO_MEMORY -5
#define SPM_MAJOR_VERSION 0 #define ARM_SPM_MM_SUPPORT_MAJOR_VERSION 0
#define SPM_MINOR_VERSION 1 #define ARM_SPM_MM_SUPPORT_MINOR_VERSION 1
#define ARM_SPM_MM_VERSION_MASK 0xFFFF
#define ARM_SPM_MM_MAJOR_VERSION_SHIFT 16
#define ARM_SPM_MM_MINOR_VERSION_SHIFT 0
#define ARM_SPM_MM_MAJOR_VERSION_GET(version) \
(((version) >> ARM_SPM_MM_MAJOR_VERSION_SHIFT) & ARM_SPM_MM_VERSION_MASK)
#define ARM_SPM_MM_MINOR_VERSION_GET(version) \
(((version) >> ARM_SPM_MM_MINOR_VERSION_SHIFT) & ARM_SPM_MM_VERSION_MASK)
#endif // ARM_MM_SVC_H_ #endif // ARM_MM_SVC_H_

View File

@ -1,7 +1,7 @@
/** @file /** @file
File managing the MMU for ARMv8 architecture in S-EL0 File managing the MMU for ARMv8 architecture in S-EL0
Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR> Copyright (c) 2017 - 2024, Arm Limited. All rights reserved.<BR>
Copyright (c) 2021, Linaro Limited Copyright (c) 2021, Linaro Limited
SPDX-License-Identifier: BSD-2-Clause-Patent SPDX-License-Identifier: BSD-2-Clause-Patent
@ -107,16 +107,16 @@ SendMemoryPermissionRequest (
// See [1], Section 13.5.5.1 MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 and // See [1], Section 13.5.5.1 MM_SP_MEMORY_ATTRIBUTES_GET_AARCH64 and
// Section 13.5.5.2 MM_SP_MEMORY_ATTRIBUTES_SET_AARCH64. // Section 13.5.5.2 MM_SP_MEMORY_ATTRIBUTES_SET_AARCH64.
switch (*RetVal) { switch (*RetVal) {
case ARM_SVC_SPM_RET_NOT_SUPPORTED: case ARM_SPM_MM_RET_NOT_SUPPORTED:
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
case ARM_SVC_SPM_RET_INVALID_PARAMS: case ARM_SPM_MM_RET_INVALID_PARAMS:
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
case ARM_SVC_SPM_RET_DENIED: case ARM_SPM_MM_RET_DENIED:
return EFI_ACCESS_DENIED; return EFI_ACCESS_DENIED;
case ARM_SVC_SPM_RET_NO_MEMORY: case ARM_SPM_MM_RET_NO_MEMORY:
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
default: default:
@ -168,10 +168,10 @@ GetMemoryPermissions (
SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ; SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID; SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
SvcArgs.Arg2 = 0; SvcArgs.Arg2 = 0;
SvcArgs.Arg3 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES; SvcArgs.Arg3 = ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES;
SvcArgs.Arg4 = BaseAddress; SvcArgs.Arg4 = BaseAddress;
} else { } else {
SvcArgs.Arg0 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES; SvcArgs.Arg0 = ARM_FID_SPM_MM_SP_GET_MEM_ATTRIBUTES;
SvcArgs.Arg1 = BaseAddress; SvcArgs.Arg1 = BaseAddress;
SvcArgs.Arg2 = 0; SvcArgs.Arg2 = 0;
SvcArgs.Arg3 = 0; SvcArgs.Arg3 = 0;
@ -223,12 +223,12 @@ RequestMemoryPermissionChange (
SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ; SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID; SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
SvcArgs.Arg2 = 0; SvcArgs.Arg2 = 0;
SvcArgs.Arg3 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES; SvcArgs.Arg3 = ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES;
SvcArgs.Arg4 = BaseAddress; SvcArgs.Arg4 = BaseAddress;
SvcArgs.Arg5 = EFI_SIZE_TO_PAGES (Length); SvcArgs.Arg5 = EFI_SIZE_TO_PAGES (Length);
SvcArgs.Arg6 = Permissions; SvcArgs.Arg6 = Permissions;
} else { } else {
SvcArgs.Arg0 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES; SvcArgs.Arg0 = ARM_FID_SPM_MM_SP_SET_MEM_ATTRIBUTES;
SvcArgs.Arg1 = BaseAddress; SvcArgs.Arg1 = BaseAddress;
SvcArgs.Arg2 = EFI_SIZE_TO_PAGES (Length); SvcArgs.Arg2 = EFI_SIZE_TO_PAGES (Length);
SvcArgs.Arg3 = Permissions; SvcArgs.Arg3 = Permissions;
@ -249,7 +249,9 @@ ArmSetMemoryRegionNoExec (
Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes); Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes);
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
CodePermission = SET_MEM_ATTR_CODE_PERM_XN << SET_MEM_ATTR_CODE_PERM_SHIFT; CodePermission =
(ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_XN <<
ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_SHIFT);
return RequestMemoryPermissionChange ( return RequestMemoryPermissionChange (
BaseAddress, BaseAddress,
Length, Length,
@ -272,7 +274,9 @@ ArmClearMemoryRegionNoExec (
Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes); Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes);
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
CodePermission = SET_MEM_ATTR_CODE_PERM_XN << SET_MEM_ATTR_CODE_PERM_SHIFT; CodePermission =
(ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_XN <<
ARM_SPM_MM_SET_MEM_ATTR_CODE_PERM_SHIFT);
return RequestMemoryPermissionChange ( return RequestMemoryPermissionChange (
BaseAddress, BaseAddress,
Length, Length,
@ -295,7 +299,9 @@ ArmSetMemoryRegionReadOnly (
Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes); Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes);
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
DataPermission = SET_MEM_ATTR_DATA_PERM_RO << SET_MEM_ATTR_DATA_PERM_SHIFT; DataPermission =
(ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_RO <<
ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_SHIFT);
return RequestMemoryPermissionChange ( return RequestMemoryPermissionChange (
BaseAddress, BaseAddress,
Length, Length,
@ -318,8 +324,8 @@ ArmClearMemoryRegionReadOnly (
Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes); Status = GetMemoryPermissions (BaseAddress, &MemoryAttributes);
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
PermissionRequest = SET_MEM_ATTR_MAKE_PERM_REQUEST ( PermissionRequest = ARM_SPM_MM_SET_MEM_ATTR_MAKE_PERM_REQUEST (
SET_MEM_ATTR_DATA_PERM_RW, ARM_SPM_MM_SET_MEM_ATTR_DATA_PERM_RW,
MemoryAttributes MemoryAttributes
); );
return RequestMemoryPermissionChange ( return RequestMemoryPermissionChange (

View File

@ -128,7 +128,7 @@ GetAndPrintBootinformation (
@param [in] Status edk2 status code. @param [in] Status edk2 status code.
@retval ARM_SVC_SPM_RET_* return value correspond to EFI_STATUS. @retval ARM_SPM_MM_RET_* return value correspond to EFI_STATUS.
**/ **/
STATIC STATIC
@ -140,15 +140,15 @@ EfiStatusToSpmMmStatus (
{ {
switch (Status) { switch (Status) {
case EFI_SUCCESS: case EFI_SUCCESS:
return ARM_SVC_SPM_RET_SUCCESS; return ARM_SPM_MM_RET_SUCCESS;
case EFI_INVALID_PARAMETER: case EFI_INVALID_PARAMETER:
return ARM_SVC_SPM_RET_INVALID_PARAMS; return ARM_SPM_MM_RET_INVALID_PARAMS;
case EFI_ACCESS_DENIED: case EFI_ACCESS_DENIED:
return ARM_SVC_SPM_RET_DENIED; return ARM_SPM_MM_RET_DENIED;
case EFI_OUT_OF_RESOURCES: case EFI_OUT_OF_RESOURCES:
return ARM_SVC_SPM_RET_NO_MEMORY; return ARM_SPM_MM_RET_NO_MEMORY;
default: default:
return ARM_SVC_SPM_RET_NOT_SUPPORTED; return ARM_SPM_MM_RET_NOT_SUPPORTED;
} }
} }
@ -207,10 +207,10 @@ SetEventCompleteSvcArgs (
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP; EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
EventCompleteSvcArgs->Arg1 = 0; EventCompleteSvcArgs->Arg1 = 0;
EventCompleteSvcArgs->Arg2 = 0; EventCompleteSvcArgs->Arg2 = 0;
EventCompleteSvcArgs->Arg3 = ARM_SVC_ID_SP_EVENT_COMPLETE; EventCompleteSvcArgs->Arg3 = ARM_FID_SPM_MM_SP_EVENT_COMPLETE;
EventCompleteSvcArgs->Arg4 = EfiStatusToFfaStatus (Status); EventCompleteSvcArgs->Arg4 = EfiStatusToFfaStatus (Status);
} else { } else {
EventCompleteSvcArgs->Arg0 = ARM_SVC_ID_SP_EVENT_COMPLETE; EventCompleteSvcArgs->Arg0 = ARM_FID_SPM_MM_SP_EVENT_COMPLETE;
EventCompleteSvcArgs->Arg1 = EfiStatusToSpmMmStatus (Status); EventCompleteSvcArgs->Arg1 = EfiStatusToSpmMmStatus (Status);
} }
} }
@ -320,7 +320,7 @@ GetSpmVersion (
CallerSpmMajorVer = mSpmMajorVerFfa; CallerSpmMajorVer = mSpmMajorVerFfa;
CallerSpmMinorVer = mSpmMinorVerFfa; CallerSpmMinorVer = mSpmMinorVerFfa;
} else { } else {
SpmVersionArgs.Arg0 = ARM_SVC_ID_SPM_VERSION_AARCH32; SpmVersionArgs.Arg0 = ARM_FID_SPM_MM_VERSION_AARCH32;
CallerSpmMajorVer = mSpmMajorVer; CallerSpmMajorVer = mSpmMajorVer;
CallerSpmMinorVer = mSpmMinorVer; CallerSpmMinorVer = mSpmMinorVer;
} }