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>
29 lines
943 B
C
29 lines
943 B
C
/** @file
|
|
|
|
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.
|
|
|
|
**/
|
|
|
|
#if !defined _MM_COMMUNICATE_H_
|
|
#define _MM_COMMUNICATE_H_
|
|
|
|
#define MM_MAJOR_VER_MASK 0xEFFF0000
|
|
#define MM_MINOR_VER_MASK 0x0000FFFF
|
|
#define MM_MAJOR_VER_SHIFT 16
|
|
|
|
#define MM_MAJOR_VER(x) (((x) & MM_MAJOR_VER_MASK) >> MM_MAJOR_VER_SHIFT)
|
|
#define MM_MINOR_VER(x) ((x) & MM_MINOR_VER_MASK)
|
|
|
|
#define MM_CALLER_MAJOR_VER 0x1UL
|
|
#define MM_CALLER_MINOR_VER 0x0
|
|
|
|
#endif /* _MM_COMMUNICATE_H_ */
|