PI v1.5 Specification Volume 4 defines Management Mode Core Interface and defines EFI_MM_COMMUNICATION_PROTOCOL. This protocol provides a means of communicating between drivers outside of MM and MMI handlers inside of MM. This patch implements the EFI_MM_COMMUNICATION_PROTOCOL DXE runtime driver for AARCH64 platforms. It uses SMCs allocated from the standard SMC range defined in DEN0060A_ARM_MM_Interface_Specification.pdf to communicate with the standalone MM environment in the secure world. This patch also adds the MM Communication driver (.inf) file to define entry point for this driver and other compile related information the driver needs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sughosh Ganu <sughosh.ganu@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
57 lines
1.4 KiB
INI
57 lines
1.4 KiB
INI
#/** @file
|
|
#
|
|
# DXE MM Communicate driver
|
|
#
|
|
# Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#**/
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x0001001A
|
|
BASE_NAME = ArmMmCommunication
|
|
FILE_GUID = 09EE81D3-F15E-43F4-85B4-CB9873DA5D6B
|
|
MODULE_TYPE = DXE_RUNTIME_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = MmCommunicationInitialize
|
|
|
|
#
|
|
# The following is for reference only and not required by
|
|
# build tools
|
|
#
|
|
# VALID_ARCHITECTURES = AARCH64
|
|
#
|
|
|
|
[Sources.AARCH64]
|
|
MmCommunication.c
|
|
|
|
[Packages]
|
|
ArmPkg/ArmPkg.dec
|
|
MdePkg/MdePkg.dec
|
|
|
|
[LibraryClasses]
|
|
ArmLib
|
|
ArmSmcLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
DxeServicesTableLib
|
|
HobLib
|
|
UefiDriverEntryPoint
|
|
|
|
[Protocols]
|
|
gEfiMmCommunicationProtocolGuid ## PRODUCES
|
|
|
|
[Pcd.common]
|
|
gArmTokenSpaceGuid.PcdMmBufferBase
|
|
gArmTokenSpaceGuid.PcdMmBufferSize
|
|
|
|
[Depex]
|
|
gEfiCpuArchProtocolGuid
|